20.43/6.21 MAYBE 20.43/6.23 proof of /export/starexec/sandbox/benchmark/theBenchmark.pl 20.43/6.23 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 20.43/6.23 20.43/6.23 20.43/6.23 Left Termination of the query pattern 20.43/6.23 20.43/6.23 mergesort(a,g) 20.43/6.23 20.43/6.23 w.r.t. the given Prolog program could not be shown: 20.43/6.23 20.43/6.23 (0) Prolog 20.43/6.23 (1) UnifyTransformerProof [EQUIVALENT, 0 ms] 20.43/6.23 (2) Prolog 20.43/6.23 (3) PrologToPiTRSProof [SOUND, 0 ms] 20.43/6.23 (4) PiTRS 20.43/6.23 (5) DependencyPairsProof [EQUIVALENT, 23 ms] 20.43/6.23 (6) PiDP 20.43/6.23 (7) DependencyGraphProof [EQUIVALENT, 0 ms] 20.43/6.23 (8) AND 20.43/6.23 (9) PiDP 20.43/6.23 (10) UsableRulesProof [EQUIVALENT, 1 ms] 20.43/6.23 (11) PiDP 20.43/6.23 (12) PiDPToQDPProof [SOUND, 0 ms] 20.43/6.23 (13) QDP 20.43/6.23 (14) QDPSizeChangeProof [EQUIVALENT, 0 ms] 20.43/6.23 (15) YES 20.43/6.23 (16) PiDP 20.43/6.23 (17) UsableRulesProof [EQUIVALENT, 0 ms] 20.43/6.23 (18) PiDP 20.43/6.23 (19) PiDPToQDPProof [SOUND, 0 ms] 20.43/6.23 (20) QDP 20.43/6.23 (21) QDPSizeChangeProof [EQUIVALENT, 0 ms] 20.43/6.23 (22) YES 20.43/6.23 (23) PiDP 20.43/6.23 (24) UsableRulesProof [EQUIVALENT, 0 ms] 20.43/6.23 (25) PiDP 20.43/6.23 (26) PiDPToQDPProof [SOUND, 0 ms] 20.43/6.23 (27) QDP 20.43/6.23 (28) QDPSizeChangeProof [EQUIVALENT, 0 ms] 20.43/6.23 (29) YES 20.43/6.23 (30) PiDP 20.43/6.23 (31) UsableRulesProof [EQUIVALENT, 0 ms] 20.43/6.23 (32) PiDP 20.43/6.23 (33) PiDPToQDPProof [SOUND, 0 ms] 20.43/6.23 (34) QDP 20.43/6.23 (35) TransformationProof [EQUIVALENT, 0 ms] 20.43/6.23 (36) QDP 20.43/6.23 (37) TransformationProof [EQUIVALENT, 1 ms] 20.43/6.23 (38) QDP 20.43/6.23 (39) QDPQMonotonicMRRProof [EQUIVALENT, 96 ms] 20.43/6.23 (40) QDP 20.43/6.23 (41) QDPOrderProof [EQUIVALENT, 39 ms] 20.43/6.23 (42) QDP 20.43/6.23 (43) DependencyGraphProof [EQUIVALENT, 0 ms] 20.43/6.23 (44) QDP 20.43/6.23 (45) UsableRulesProof [EQUIVALENT, 0 ms] 20.43/6.23 (46) QDP 20.43/6.23 (47) QReductionProof [EQUIVALENT, 0 ms] 20.43/6.23 (48) QDP 20.43/6.23 (49) QDPOrderProof [EQUIVALENT, 17 ms] 20.43/6.23 (50) QDP 20.43/6.23 (51) DependencyGraphProof [EQUIVALENT, 0 ms] 20.43/6.23 (52) TRUE 20.43/6.23 (53) PiDP 20.43/6.23 (54) UsableRulesProof [EQUIVALENT, 0 ms] 20.43/6.23 (55) PiDP 20.43/6.23 (56) PiDPToQDPProof [SOUND, 0 ms] 20.43/6.23 (57) QDP 20.43/6.23 (58) PrologToPiTRSProof [SOUND, 0 ms] 20.43/6.23 (59) PiTRS 20.43/6.23 (60) DependencyPairsProof [EQUIVALENT, 37 ms] 20.43/6.23 (61) PiDP 20.43/6.23 (62) DependencyGraphProof [EQUIVALENT, 0 ms] 20.43/6.23 (63) AND 20.43/6.23 (64) PiDP 20.43/6.23 (65) UsableRulesProof [EQUIVALENT, 1 ms] 20.43/6.23 (66) PiDP 20.43/6.23 (67) PiDPToQDPProof [SOUND, 13 ms] 20.43/6.23 (68) QDP 20.43/6.23 (69) QDPSizeChangeProof [EQUIVALENT, 0 ms] 20.43/6.23 (70) YES 20.43/6.23 (71) PiDP 20.43/6.23 (72) UsableRulesProof [EQUIVALENT, 0 ms] 20.43/6.23 (73) PiDP 20.43/6.23 (74) PiDPToQDPProof [SOUND, 0 ms] 20.43/6.23 (75) QDP 20.43/6.23 (76) QDPSizeChangeProof [EQUIVALENT, 0 ms] 20.43/6.23 (77) YES 20.43/6.23 (78) PiDP 20.43/6.23 (79) UsableRulesProof [EQUIVALENT, 0 ms] 20.43/6.23 (80) PiDP 20.43/6.23 (81) PiDPToQDPProof [SOUND, 0 ms] 20.43/6.23 (82) QDP 20.43/6.23 (83) QDPSizeChangeProof [EQUIVALENT, 0 ms] 20.43/6.23 (84) YES 20.43/6.23 (85) PiDP 20.43/6.23 (86) UsableRulesProof [EQUIVALENT, 0 ms] 20.43/6.23 (87) PiDP 20.43/6.23 (88) PiDPToQDPProof [SOUND, 0 ms] 20.43/6.23 (89) QDP 20.43/6.23 (90) MRRProof [EQUIVALENT, 30 ms] 20.43/6.23 (91) QDP 20.43/6.23 (92) TransformationProof [EQUIVALENT, 0 ms] 20.43/6.23 (93) QDP 20.43/6.23 (94) TransformationProof [EQUIVALENT, 0 ms] 20.43/6.23 (95) QDP 20.43/6.23 (96) QDPQMonotonicMRRProof [EQUIVALENT, 33 ms] 20.43/6.23 (97) QDP 20.43/6.23 (98) UsableRulesProof [EQUIVALENT, 0 ms] 20.43/6.23 (99) QDP 20.43/6.23 (100) QReductionProof [EQUIVALENT, 3 ms] 20.43/6.23 (101) QDP 20.43/6.23 (102) QDPQMonotonicMRRProof [EQUIVALENT, 0 ms] 20.43/6.23 (103) QDP 20.43/6.23 (104) UsableRulesProof [EQUIVALENT, 0 ms] 20.43/6.23 (105) QDP 20.43/6.23 (106) QReductionProof [EQUIVALENT, 0 ms] 20.43/6.23 (107) QDP 20.43/6.23 (108) QDPOrderProof [EQUIVALENT, 15 ms] 20.43/6.23 (109) QDP 20.43/6.23 (110) DependencyGraphProof [EQUIVALENT, 0 ms] 20.43/6.23 (111) TRUE 20.43/6.23 (112) PiDP 20.43/6.23 (113) UsableRulesProof [EQUIVALENT, 0 ms] 20.43/6.23 (114) PiDP 20.43/6.23 (115) PiDPToQDPProof [SOUND, 0 ms] 20.43/6.23 (116) QDP 20.43/6.23 (117) PrologToTRSTransformerProof [SOUND, 73 ms] 20.43/6.23 (118) QTRS 20.43/6.23 (119) QTRSRRRProof [EQUIVALENT, 170 ms] 20.43/6.23 (120) QTRS 20.43/6.23 (121) DependencyPairsProof [EQUIVALENT, 0 ms] 20.43/6.23 (122) QDP 20.43/6.23 (123) DependencyGraphProof [EQUIVALENT, 0 ms] 20.43/6.23 (124) AND 20.43/6.23 (125) QDP 20.43/6.23 (126) UsableRulesProof [EQUIVALENT, 0 ms] 20.43/6.23 (127) QDP 20.43/6.23 (128) NonTerminationLoopProof [COMPLETE, 0 ms] 20.43/6.23 (129) NO 20.43/6.23 (130) QDP 20.43/6.23 (131) UsableRulesProof [EQUIVALENT, 0 ms] 20.43/6.23 (132) QDP 20.43/6.23 (133) NonTerminationLoopProof [COMPLETE, 0 ms] 20.43/6.23 (134) NO 20.43/6.23 (135) QDP 20.43/6.23 (136) PrologToIRSwTTransformerProof [SOUND, 38 ms] 20.43/6.23 (137) AND 20.43/6.23 (138) IRSwT 20.43/6.23 (139) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 1 ms] 20.43/6.23 (140) TRUE 20.43/6.23 (141) IRSwT 20.43/6.23 (142) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms] 20.43/6.23 (143) TRUE 20.43/6.23 (144) IRSwT 20.43/6.23 (145) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms] 20.43/6.23 (146) IRSwT 20.43/6.23 (147) IntTRSCompressionProof [EQUIVALENT, 19 ms] 20.43/6.23 (148) IRSwT 20.43/6.23 (149) IRSFormatTransformerProof [EQUIVALENT, 0 ms] 20.43/6.23 (150) IRSwT 20.43/6.23 (151) IRSwTTerminationDigraphProof [EQUIVALENT, 0 ms] 20.43/6.23 (152) IRSwT 20.43/6.23 (153) FilterProof [EQUIVALENT, 0 ms] 20.43/6.23 (154) IntTRS 20.43/6.23 (155) IntTRSPeriodicNontermProof [COMPLETE, 5 ms] 20.43/6.23 (156) NO 20.43/6.23 (157) IRSwT 20.43/6.23 (158) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms] 20.43/6.23 (159) IRSwT 20.43/6.23 (160) IntTRSCompressionProof [EQUIVALENT, 13 ms] 20.43/6.23 (161) IRSwT 20.43/6.23 (162) IRSFormatTransformerProof [EQUIVALENT, 0 ms] 20.43/6.23 (163) IRSwT 20.43/6.23 (164) IRSwTTerminationDigraphProof [EQUIVALENT, 12 ms] 20.43/6.23 (165) IRSwT 20.43/6.23 (166) FilterProof [EQUIVALENT, 0 ms] 20.43/6.23 (167) IntTRS 20.43/6.23 (168) IntTRSPeriodicNontermProof [COMPLETE, 8 ms] 20.43/6.23 (169) NO 20.43/6.23 (170) PrologToDTProblemTransformerProof [SOUND, 59 ms] 20.43/6.23 (171) TRIPLES 20.43/6.23 (172) UndefinedPredicateInTriplesTransformerProof [SOUND, 1 ms] 20.43/6.23 (173) TRIPLES 20.43/6.23 (174) TriplesToPiDPProof [SOUND, 24 ms] 20.43/6.23 (175) PiDP 20.43/6.23 (176) DependencyGraphProof [EQUIVALENT, 0 ms] 20.43/6.23 (177) AND 20.43/6.23 (178) PiDP 20.43/6.23 (179) UsableRulesProof [EQUIVALENT, 0 ms] 20.43/6.23 (180) PiDP 20.43/6.23 (181) PiDPToQDPProof [SOUND, 0 ms] 20.43/6.23 (182) QDP 20.43/6.23 (183) QDPSizeChangeProof [EQUIVALENT, 0 ms] 20.43/6.23 (184) YES 20.43/6.23 (185) PiDP 20.43/6.23 (186) UsableRulesProof [EQUIVALENT, 0 ms] 20.43/6.23 (187) PiDP 20.43/6.23 (188) PiDPToQDPProof [SOUND, 0 ms] 20.43/6.23 (189) QDP 20.43/6.23 (190) QDPSizeChangeProof [EQUIVALENT, 0 ms] 20.43/6.23 (191) YES 20.43/6.23 (192) PiDP 20.43/6.23 (193) UsableRulesProof [EQUIVALENT, 0 ms] 20.43/6.23 (194) PiDP 20.43/6.23 (195) PiDPToQDPProof [SOUND, 0 ms] 20.43/6.23 (196) QDP 20.43/6.23 (197) QDPSizeChangeProof [EQUIVALENT, 0 ms] 20.43/6.23 (198) YES 20.43/6.23 (199) PiDP 20.43/6.23 (200) UsableRulesProof [EQUIVALENT, 0 ms] 20.43/6.23 (201) PiDP 20.43/6.23 (202) PiDPToQDPProof [SOUND, 0 ms] 20.43/6.23 (203) QDP 20.43/6.23 (204) TransformationProof [EQUIVALENT, 0 ms] 20.43/6.23 (205) QDP 20.43/6.23 (206) TransformationProof [EQUIVALENT, 0 ms] 20.43/6.23 (207) QDP 20.43/6.23 (208) QDPQMonotonicMRRProof [EQUIVALENT, 13 ms] 20.43/6.23 (209) QDP 20.43/6.23 (210) DependencyGraphProof [EQUIVALENT, 0 ms] 20.43/6.23 (211) TRUE 20.43/6.23 (212) PiDP 20.43/6.23 (213) UsableRulesProof [EQUIVALENT, 0 ms] 20.43/6.23 (214) PiDP 20.43/6.23 (215) PiDPToQDPProof [SOUND, 0 ms] 20.43/6.23 (216) QDP 20.43/6.23 (217) NonTerminationLoopProof [COMPLETE, 0 ms] 20.43/6.23 (218) NO 20.43/6.23 20.43/6.23 20.43/6.23 ---------------------------------------- 20.43/6.23 20.43/6.23 (0) 20.43/6.23 Obligation: 20.43/6.23 Clauses: 20.43/6.23 20.43/6.23 mergesort([], []). 20.43/6.23 mergesort(.(X, []), .(X, [])). 20.43/6.23 mergesort(.(X, .(Y, Xs)), Ys) :- ','(split(.(X, .(Y, Xs)), X1s, X2s), ','(mergesort(X1s, Y1s), ','(mergesort(X2s, Y2s), merge(Y1s, Y2s, Ys)))). 20.43/6.23 split([], [], []). 20.43/6.23 split(.(X, Xs), .(X, Ys), Zs) :- split(Xs, Zs, Ys). 20.43/6.23 merge([], Xs, Xs). 20.43/6.23 merge(Xs, [], Xs). 20.43/6.23 merge(.(X, Xs), .(Y, Ys), .(X, Zs)) :- ','(=(X, Y), merge(.(X, Xs), Ys, Zs)). 20.43/6.23 20.43/6.23 20.43/6.23 Query: mergesort(a,g) 20.43/6.23 ---------------------------------------- 20.43/6.23 20.43/6.23 (1) UnifyTransformerProof (EQUIVALENT) 20.43/6.23 Added a fact for the built-in = predicate [PROLOG]. 20.43/6.23 ---------------------------------------- 20.43/6.23 20.43/6.23 (2) 20.43/6.23 Obligation: 20.43/6.23 Clauses: 20.43/6.23 20.43/6.23 mergesort([], []). 20.43/6.23 mergesort(.(X, []), .(X, [])). 20.43/6.23 mergesort(.(X, .(Y, Xs)), Ys) :- ','(split(.(X, .(Y, Xs)), X1s, X2s), ','(mergesort(X1s, Y1s), ','(mergesort(X2s, Y2s), merge(Y1s, Y2s, Ys)))). 20.43/6.23 split([], [], []). 20.43/6.23 split(.(X, Xs), .(X, Ys), Zs) :- split(Xs, Zs, Ys). 20.43/6.23 merge([], Xs, Xs). 20.43/6.23 merge(Xs, [], Xs). 20.43/6.23 merge(.(X, Xs), .(Y, Ys), .(X, Zs)) :- ','(=(X, Y), merge(.(X, Xs), Ys, Zs)). 20.43/6.23 =(X, X). 20.43/6.23 20.43/6.23 20.43/6.23 Query: mergesort(a,g) 20.43/6.23 ---------------------------------------- 20.43/6.23 20.43/6.23 (3) PrologToPiTRSProof (SOUND) 20.43/6.23 We use the technique of [TOCL09]. With regard to the inferred argument filtering the predicates were used in the following modes: 20.43/6.23 20.43/6.23 mergesort_in_2: (f,b) (b,f) 20.43/6.23 20.43/6.23 split_in_3: (f,f,f) (b,f,f) 20.43/6.23 20.43/6.23 merge_in_3: (b,b,f) (b,b,b) 20.43/6.23 20.43/6.23 Transforming Prolog into the following Term Rewriting System: 20.43/6.23 20.43/6.23 Pi-finite rewrite system: 20.43/6.23 The TRS R consists of the following rules: 20.43/6.23 20.43/6.23 mergesort_in_ag([], []) -> mergesort_out_ag([], []) 20.43/6.23 mergesort_in_ag(.(X, []), .(X, [])) -> mergesort_out_ag(.(X, []), .(X, [])) 20.43/6.23 mergesort_in_ag(.(X, .(Y, Xs)), Ys) -> U1_ag(X, Y, Xs, Ys, split_in_aaa(.(X, .(Y, Xs)), X1s, X2s)) 20.43/6.23 split_in_aaa([], [], []) -> split_out_aaa([], [], []) 20.43/6.23 split_in_aaa(.(X, Xs), .(X, Ys), Zs) -> U5_aaa(X, Xs, Ys, Zs, split_in_aaa(Xs, Zs, Ys)) 20.43/6.23 U5_aaa(X, Xs, Ys, Zs, split_out_aaa(Xs, Zs, Ys)) -> split_out_aaa(.(X, Xs), .(X, Ys), Zs) 20.43/6.23 U1_ag(X, Y, Xs, Ys, split_out_aaa(.(X, .(Y, Xs)), X1s, X2s)) -> U2_ag(X, Y, Xs, Ys, X2s, mergesort_in_ga(X1s, Y1s)) 20.43/6.23 mergesort_in_ga([], []) -> mergesort_out_ga([], []) 20.43/6.23 mergesort_in_ga(.(X, []), .(X, [])) -> mergesort_out_ga(.(X, []), .(X, [])) 20.43/6.23 mergesort_in_ga(.(X, .(Y, Xs)), Ys) -> U1_ga(X, Y, Xs, Ys, split_in_gaa(.(X, .(Y, Xs)), X1s, X2s)) 20.43/6.23 split_in_gaa([], [], []) -> split_out_gaa([], [], []) 20.43/6.23 split_in_gaa(.(X, Xs), .(X, Ys), Zs) -> U5_gaa(X, Xs, Ys, Zs, split_in_gaa(Xs, Zs, Ys)) 20.43/6.23 U5_gaa(X, Xs, Ys, Zs, split_out_gaa(Xs, Zs, Ys)) -> split_out_gaa(.(X, Xs), .(X, Ys), Zs) 20.43/6.23 U1_ga(X, Y, Xs, Ys, split_out_gaa(.(X, .(Y, Xs)), X1s, X2s)) -> U2_ga(X, Y, Xs, Ys, X2s, mergesort_in_ga(X1s, Y1s)) 20.43/6.23 U2_ga(X, Y, Xs, Ys, X2s, mergesort_out_ga(X1s, Y1s)) -> U3_ga(X, Y, Xs, Ys, Y1s, mergesort_in_ga(X2s, Y2s)) 20.43/6.23 U3_ga(X, Y, Xs, Ys, Y1s, mergesort_out_ga(X2s, Y2s)) -> U4_ga(X, Y, Xs, Ys, merge_in_gga(Y1s, Y2s, Ys)) 20.43/6.23 merge_in_gga([], Xs, Xs) -> merge_out_gga([], Xs, Xs) 20.43/6.23 merge_in_gga(Xs, [], Xs) -> merge_out_gga(Xs, [], Xs) 20.43/6.23 merge_in_gga(.(X, Xs), .(Y, Ys), .(X, Zs)) -> U6_gga(X, Xs, Y, Ys, Zs, =_in_aa(X, Y)) 20.43/6.23 =_in_aa(X, X) -> =_out_aa(X, X) 20.43/6.23 U6_gga(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> U7_gga(X, Xs, Y, Ys, Zs, merge_in_gga(.(X, Xs), Ys, Zs)) 20.43/6.23 U7_gga(X, Xs, Y, Ys, Zs, merge_out_gga(.(X, Xs), Ys, Zs)) -> merge_out_gga(.(X, Xs), .(Y, Ys), .(X, Zs)) 20.43/6.23 U4_ga(X, Y, Xs, Ys, merge_out_gga(Y1s, Y2s, Ys)) -> mergesort_out_ga(.(X, .(Y, Xs)), Ys) 20.43/6.23 U2_ag(X, Y, Xs, Ys, X2s, mergesort_out_ga(X1s, Y1s)) -> U3_ag(X, Y, Xs, Ys, Y1s, mergesort_in_ga(X2s, Y2s)) 20.43/6.23 U3_ag(X, Y, Xs, Ys, Y1s, mergesort_out_ga(X2s, Y2s)) -> U4_ag(X, Y, Xs, Ys, merge_in_ggg(Y1s, Y2s, Ys)) 20.43/6.23 merge_in_ggg([], Xs, Xs) -> merge_out_ggg([], Xs, Xs) 20.43/6.23 merge_in_ggg(Xs, [], Xs) -> merge_out_ggg(Xs, [], Xs) 20.43/6.23 merge_in_ggg(.(X, Xs), .(Y, Ys), .(X, Zs)) -> U6_ggg(X, Xs, Y, Ys, Zs, =_in_aa(X, Y)) 20.43/6.23 U6_ggg(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> U7_ggg(X, Xs, Y, Ys, Zs, merge_in_ggg(.(X, Xs), Ys, Zs)) 20.43/6.23 U7_ggg(X, Xs, Y, Ys, Zs, merge_out_ggg(.(X, Xs), Ys, Zs)) -> merge_out_ggg(.(X, Xs), .(Y, Ys), .(X, Zs)) 20.43/6.23 U4_ag(X, Y, Xs, Ys, merge_out_ggg(Y1s, Y2s, Ys)) -> mergesort_out_ag(.(X, .(Y, Xs)), Ys) 20.43/6.23 20.43/6.23 The argument filtering Pi contains the following mapping: 20.43/6.23 mergesort_in_ag(x1, x2) = mergesort_in_ag(x2) 20.43/6.23 20.43/6.23 [] = [] 20.43/6.23 20.43/6.23 mergesort_out_ag(x1, x2) = mergesort_out_ag(x1, x2) 20.43/6.23 20.43/6.23 .(x1, x2) = .(x2) 20.43/6.23 20.43/6.23 U1_ag(x1, x2, x3, x4, x5) = U1_ag(x4, x5) 20.43/6.23 20.43/6.23 split_in_aaa(x1, x2, x3) = split_in_aaa 20.43/6.23 20.43/6.23 split_out_aaa(x1, x2, x3) = split_out_aaa(x1, x2, x3) 20.43/6.23 20.43/6.23 U5_aaa(x1, x2, x3, x4, x5) = U5_aaa(x5) 20.43/6.23 20.43/6.23 U2_ag(x1, x2, x3, x4, x5, x6) = U2_ag(x3, x4, x5, x6) 20.43/6.23 20.43/6.23 mergesort_in_ga(x1, x2) = mergesort_in_ga(x1) 20.43/6.23 20.43/6.23 mergesort_out_ga(x1, x2) = mergesort_out_ga(x1, x2) 20.43/6.23 20.43/6.23 U1_ga(x1, x2, x3, x4, x5) = U1_ga(x3, x5) 20.43/6.23 20.43/6.23 split_in_gaa(x1, x2, x3) = split_in_gaa(x1) 20.43/6.23 20.43/6.23 split_out_gaa(x1, x2, x3) = split_out_gaa(x1, x2, x3) 20.43/6.23 20.43/6.23 U5_gaa(x1, x2, x3, x4, x5) = U5_gaa(x2, x5) 20.43/6.23 20.43/6.23 U2_ga(x1, x2, x3, x4, x5, x6) = U2_ga(x3, x5, x6) 20.43/6.23 20.43/6.23 U3_ga(x1, x2, x3, x4, x5, x6) = U3_ga(x3, x5, x6) 20.43/6.23 20.43/6.23 U4_ga(x1, x2, x3, x4, x5) = U4_ga(x3, x5) 20.43/6.23 20.43/6.23 merge_in_gga(x1, x2, x3) = merge_in_gga(x1, x2) 20.43/6.23 20.43/6.23 merge_out_gga(x1, x2, x3) = merge_out_gga(x1, x2, x3) 20.43/6.23 20.43/6.23 U6_gga(x1, x2, x3, x4, x5, x6) = U6_gga(x2, x4, x6) 20.43/6.23 20.43/6.23 =_in_aa(x1, x2) = =_in_aa 20.43/6.23 20.43/6.23 =_out_aa(x1, x2) = =_out_aa 20.43/6.23 20.43/6.23 U7_gga(x1, x2, x3, x4, x5, x6) = U7_gga(x2, x4, x6) 20.43/6.23 20.43/6.23 U3_ag(x1, x2, x3, x4, x5, x6) = U3_ag(x3, x4, x5, x6) 20.43/6.23 20.43/6.23 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x3, x4, x5) 20.43/6.23 20.43/6.23 merge_in_ggg(x1, x2, x3) = merge_in_ggg(x1, x2, x3) 20.43/6.23 20.43/6.23 merge_out_ggg(x1, x2, x3) = merge_out_ggg(x1, x2, x3) 20.43/6.23 20.43/6.23 U6_ggg(x1, x2, x3, x4, x5, x6) = U6_ggg(x2, x4, x5, x6) 20.43/6.23 20.43/6.23 U7_ggg(x1, x2, x3, x4, x5, x6) = U7_ggg(x2, x4, x5, x6) 20.43/6.23 20.43/6.23 20.43/6.23 20.43/6.23 20.43/6.23 20.43/6.23 Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog 20.43/6.23 20.43/6.23 20.43/6.23 20.43/6.23 ---------------------------------------- 20.43/6.23 20.43/6.23 (4) 20.43/6.23 Obligation: 20.43/6.23 Pi-finite rewrite system: 20.43/6.23 The TRS R consists of the following rules: 20.43/6.23 20.43/6.23 mergesort_in_ag([], []) -> mergesort_out_ag([], []) 20.43/6.23 mergesort_in_ag(.(X, []), .(X, [])) -> mergesort_out_ag(.(X, []), .(X, [])) 20.43/6.23 mergesort_in_ag(.(X, .(Y, Xs)), Ys) -> U1_ag(X, Y, Xs, Ys, split_in_aaa(.(X, .(Y, Xs)), X1s, X2s)) 20.43/6.23 split_in_aaa([], [], []) -> split_out_aaa([], [], []) 20.43/6.23 split_in_aaa(.(X, Xs), .(X, Ys), Zs) -> U5_aaa(X, Xs, Ys, Zs, split_in_aaa(Xs, Zs, Ys)) 20.43/6.23 U5_aaa(X, Xs, Ys, Zs, split_out_aaa(Xs, Zs, Ys)) -> split_out_aaa(.(X, Xs), .(X, Ys), Zs) 20.43/6.23 U1_ag(X, Y, Xs, Ys, split_out_aaa(.(X, .(Y, Xs)), X1s, X2s)) -> U2_ag(X, Y, Xs, Ys, X2s, mergesort_in_ga(X1s, Y1s)) 20.43/6.23 mergesort_in_ga([], []) -> mergesort_out_ga([], []) 20.43/6.23 mergesort_in_ga(.(X, []), .(X, [])) -> mergesort_out_ga(.(X, []), .(X, [])) 20.43/6.23 mergesort_in_ga(.(X, .(Y, Xs)), Ys) -> U1_ga(X, Y, Xs, Ys, split_in_gaa(.(X, .(Y, Xs)), X1s, X2s)) 20.43/6.23 split_in_gaa([], [], []) -> split_out_gaa([], [], []) 20.43/6.23 split_in_gaa(.(X, Xs), .(X, Ys), Zs) -> U5_gaa(X, Xs, Ys, Zs, split_in_gaa(Xs, Zs, Ys)) 20.43/6.23 U5_gaa(X, Xs, Ys, Zs, split_out_gaa(Xs, Zs, Ys)) -> split_out_gaa(.(X, Xs), .(X, Ys), Zs) 20.43/6.23 U1_ga(X, Y, Xs, Ys, split_out_gaa(.(X, .(Y, Xs)), X1s, X2s)) -> U2_ga(X, Y, Xs, Ys, X2s, mergesort_in_ga(X1s, Y1s)) 20.43/6.23 U2_ga(X, Y, Xs, Ys, X2s, mergesort_out_ga(X1s, Y1s)) -> U3_ga(X, Y, Xs, Ys, Y1s, mergesort_in_ga(X2s, Y2s)) 20.43/6.23 U3_ga(X, Y, Xs, Ys, Y1s, mergesort_out_ga(X2s, Y2s)) -> U4_ga(X, Y, Xs, Ys, merge_in_gga(Y1s, Y2s, Ys)) 20.43/6.23 merge_in_gga([], Xs, Xs) -> merge_out_gga([], Xs, Xs) 20.43/6.23 merge_in_gga(Xs, [], Xs) -> merge_out_gga(Xs, [], Xs) 20.43/6.23 merge_in_gga(.(X, Xs), .(Y, Ys), .(X, Zs)) -> U6_gga(X, Xs, Y, Ys, Zs, =_in_aa(X, Y)) 20.43/6.23 =_in_aa(X, X) -> =_out_aa(X, X) 20.43/6.23 U6_gga(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> U7_gga(X, Xs, Y, Ys, Zs, merge_in_gga(.(X, Xs), Ys, Zs)) 20.43/6.23 U7_gga(X, Xs, Y, Ys, Zs, merge_out_gga(.(X, Xs), Ys, Zs)) -> merge_out_gga(.(X, Xs), .(Y, Ys), .(X, Zs)) 20.43/6.23 U4_ga(X, Y, Xs, Ys, merge_out_gga(Y1s, Y2s, Ys)) -> mergesort_out_ga(.(X, .(Y, Xs)), Ys) 20.43/6.23 U2_ag(X, Y, Xs, Ys, X2s, mergesort_out_ga(X1s, Y1s)) -> U3_ag(X, Y, Xs, Ys, Y1s, mergesort_in_ga(X2s, Y2s)) 20.43/6.23 U3_ag(X, Y, Xs, Ys, Y1s, mergesort_out_ga(X2s, Y2s)) -> U4_ag(X, Y, Xs, Ys, merge_in_ggg(Y1s, Y2s, Ys)) 20.43/6.23 merge_in_ggg([], Xs, Xs) -> merge_out_ggg([], Xs, Xs) 20.43/6.23 merge_in_ggg(Xs, [], Xs) -> merge_out_ggg(Xs, [], Xs) 20.43/6.23 merge_in_ggg(.(X, Xs), .(Y, Ys), .(X, Zs)) -> U6_ggg(X, Xs, Y, Ys, Zs, =_in_aa(X, Y)) 20.43/6.23 U6_ggg(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> U7_ggg(X, Xs, Y, Ys, Zs, merge_in_ggg(.(X, Xs), Ys, Zs)) 20.43/6.23 U7_ggg(X, Xs, Y, Ys, Zs, merge_out_ggg(.(X, Xs), Ys, Zs)) -> merge_out_ggg(.(X, Xs), .(Y, Ys), .(X, Zs)) 20.43/6.23 U4_ag(X, Y, Xs, Ys, merge_out_ggg(Y1s, Y2s, Ys)) -> mergesort_out_ag(.(X, .(Y, Xs)), Ys) 20.43/6.23 20.43/6.23 The argument filtering Pi contains the following mapping: 20.43/6.23 mergesort_in_ag(x1, x2) = mergesort_in_ag(x2) 20.43/6.23 20.43/6.23 [] = [] 20.43/6.23 20.43/6.23 mergesort_out_ag(x1, x2) = mergesort_out_ag(x1, x2) 20.43/6.23 20.43/6.23 .(x1, x2) = .(x2) 20.43/6.23 20.43/6.23 U1_ag(x1, x2, x3, x4, x5) = U1_ag(x4, x5) 20.43/6.23 20.43/6.23 split_in_aaa(x1, x2, x3) = split_in_aaa 20.43/6.23 20.43/6.23 split_out_aaa(x1, x2, x3) = split_out_aaa(x1, x2, x3) 20.43/6.23 20.43/6.23 U5_aaa(x1, x2, x3, x4, x5) = U5_aaa(x5) 20.43/6.23 20.43/6.23 U2_ag(x1, x2, x3, x4, x5, x6) = U2_ag(x3, x4, x5, x6) 20.43/6.23 20.43/6.23 mergesort_in_ga(x1, x2) = mergesort_in_ga(x1) 20.43/6.23 20.43/6.23 mergesort_out_ga(x1, x2) = mergesort_out_ga(x1, x2) 20.43/6.23 20.43/6.23 U1_ga(x1, x2, x3, x4, x5) = U1_ga(x3, x5) 20.43/6.23 20.43/6.23 split_in_gaa(x1, x2, x3) = split_in_gaa(x1) 20.43/6.23 20.43/6.23 split_out_gaa(x1, x2, x3) = split_out_gaa(x1, x2, x3) 20.43/6.23 20.43/6.23 U5_gaa(x1, x2, x3, x4, x5) = U5_gaa(x2, x5) 20.43/6.23 20.43/6.23 U2_ga(x1, x2, x3, x4, x5, x6) = U2_ga(x3, x5, x6) 20.43/6.23 20.43/6.23 U3_ga(x1, x2, x3, x4, x5, x6) = U3_ga(x3, x5, x6) 20.43/6.23 20.43/6.23 U4_ga(x1, x2, x3, x4, x5) = U4_ga(x3, x5) 20.43/6.23 20.43/6.23 merge_in_gga(x1, x2, x3) = merge_in_gga(x1, x2) 20.43/6.23 20.43/6.23 merge_out_gga(x1, x2, x3) = merge_out_gga(x1, x2, x3) 20.43/6.23 20.43/6.23 U6_gga(x1, x2, x3, x4, x5, x6) = U6_gga(x2, x4, x6) 20.43/6.23 20.43/6.23 =_in_aa(x1, x2) = =_in_aa 20.43/6.23 20.43/6.23 =_out_aa(x1, x2) = =_out_aa 20.43/6.23 20.43/6.23 U7_gga(x1, x2, x3, x4, x5, x6) = U7_gga(x2, x4, x6) 20.43/6.23 20.43/6.23 U3_ag(x1, x2, x3, x4, x5, x6) = U3_ag(x3, x4, x5, x6) 20.43/6.23 20.43/6.23 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x3, x4, x5) 20.43/6.23 20.43/6.23 merge_in_ggg(x1, x2, x3) = merge_in_ggg(x1, x2, x3) 20.43/6.23 20.43/6.23 merge_out_ggg(x1, x2, x3) = merge_out_ggg(x1, x2, x3) 20.43/6.23 20.43/6.23 U6_ggg(x1, x2, x3, x4, x5, x6) = U6_ggg(x2, x4, x5, x6) 20.43/6.23 20.43/6.23 U7_ggg(x1, x2, x3, x4, x5, x6) = U7_ggg(x2, x4, x5, x6) 20.43/6.23 20.43/6.23 20.43/6.23 20.43/6.23 ---------------------------------------- 20.43/6.23 20.43/6.23 (5) DependencyPairsProof (EQUIVALENT) 20.43/6.23 Using Dependency Pairs [AG00,LOPSTR] we result in the following initial DP problem: 20.43/6.23 Pi DP problem: 20.43/6.23 The TRS P consists of the following rules: 20.43/6.23 20.43/6.23 MERGESORT_IN_AG(.(X, .(Y, Xs)), Ys) -> U1_AG(X, Y, Xs, Ys, split_in_aaa(.(X, .(Y, Xs)), X1s, X2s)) 20.43/6.23 MERGESORT_IN_AG(.(X, .(Y, Xs)), Ys) -> SPLIT_IN_AAA(.(X, .(Y, Xs)), X1s, X2s) 20.43/6.23 SPLIT_IN_AAA(.(X, Xs), .(X, Ys), Zs) -> U5_AAA(X, Xs, Ys, Zs, split_in_aaa(Xs, Zs, Ys)) 20.43/6.23 SPLIT_IN_AAA(.(X, Xs), .(X, Ys), Zs) -> SPLIT_IN_AAA(Xs, Zs, Ys) 20.43/6.23 U1_AG(X, Y, Xs, Ys, split_out_aaa(.(X, .(Y, Xs)), X1s, X2s)) -> U2_AG(X, Y, Xs, Ys, X2s, mergesort_in_ga(X1s, Y1s)) 20.43/6.23 U1_AG(X, Y, Xs, Ys, split_out_aaa(.(X, .(Y, Xs)), X1s, X2s)) -> MERGESORT_IN_GA(X1s, Y1s) 20.43/6.23 MERGESORT_IN_GA(.(X, .(Y, Xs)), Ys) -> U1_GA(X, Y, Xs, Ys, split_in_gaa(.(X, .(Y, Xs)), X1s, X2s)) 20.43/6.23 MERGESORT_IN_GA(.(X, .(Y, Xs)), Ys) -> SPLIT_IN_GAA(.(X, .(Y, Xs)), X1s, X2s) 20.43/6.23 SPLIT_IN_GAA(.(X, Xs), .(X, Ys), Zs) -> U5_GAA(X, Xs, Ys, Zs, split_in_gaa(Xs, Zs, Ys)) 20.43/6.23 SPLIT_IN_GAA(.(X, Xs), .(X, Ys), Zs) -> SPLIT_IN_GAA(Xs, Zs, Ys) 20.43/6.23 U1_GA(X, Y, Xs, Ys, split_out_gaa(.(X, .(Y, Xs)), X1s, X2s)) -> U2_GA(X, Y, Xs, Ys, X2s, mergesort_in_ga(X1s, Y1s)) 20.43/6.23 U1_GA(X, Y, Xs, Ys, split_out_gaa(.(X, .(Y, Xs)), X1s, X2s)) -> MERGESORT_IN_GA(X1s, Y1s) 20.43/6.23 U2_GA(X, Y, Xs, Ys, X2s, mergesort_out_ga(X1s, Y1s)) -> U3_GA(X, Y, Xs, Ys, Y1s, mergesort_in_ga(X2s, Y2s)) 20.43/6.23 U2_GA(X, Y, Xs, Ys, X2s, mergesort_out_ga(X1s, Y1s)) -> MERGESORT_IN_GA(X2s, Y2s) 20.43/6.23 U3_GA(X, Y, Xs, Ys, Y1s, mergesort_out_ga(X2s, Y2s)) -> U4_GA(X, Y, Xs, Ys, merge_in_gga(Y1s, Y2s, Ys)) 20.43/6.23 U3_GA(X, Y, Xs, Ys, Y1s, mergesort_out_ga(X2s, Y2s)) -> MERGE_IN_GGA(Y1s, Y2s, Ys) 20.43/6.23 MERGE_IN_GGA(.(X, Xs), .(Y, Ys), .(X, Zs)) -> U6_GGA(X, Xs, Y, Ys, Zs, =_in_aa(X, Y)) 20.43/6.23 MERGE_IN_GGA(.(X, Xs), .(Y, Ys), .(X, Zs)) -> =_IN_AA(X, Y) 20.43/6.23 U6_GGA(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> U7_GGA(X, Xs, Y, Ys, Zs, merge_in_gga(.(X, Xs), Ys, Zs)) 20.43/6.23 U6_GGA(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> MERGE_IN_GGA(.(X, Xs), Ys, Zs) 20.43/6.23 U2_AG(X, Y, Xs, Ys, X2s, mergesort_out_ga(X1s, Y1s)) -> U3_AG(X, Y, Xs, Ys, Y1s, mergesort_in_ga(X2s, Y2s)) 20.43/6.23 U2_AG(X, Y, Xs, Ys, X2s, mergesort_out_ga(X1s, Y1s)) -> MERGESORT_IN_GA(X2s, Y2s) 20.43/6.23 U3_AG(X, Y, Xs, Ys, Y1s, mergesort_out_ga(X2s, Y2s)) -> U4_AG(X, Y, Xs, Ys, merge_in_ggg(Y1s, Y2s, Ys)) 20.43/6.23 U3_AG(X, Y, Xs, Ys, Y1s, mergesort_out_ga(X2s, Y2s)) -> MERGE_IN_GGG(Y1s, Y2s, Ys) 20.43/6.23 MERGE_IN_GGG(.(X, Xs), .(Y, Ys), .(X, Zs)) -> U6_GGG(X, Xs, Y, Ys, Zs, =_in_aa(X, Y)) 20.43/6.23 MERGE_IN_GGG(.(X, Xs), .(Y, Ys), .(X, Zs)) -> =_IN_AA(X, Y) 20.43/6.23 U6_GGG(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> U7_GGG(X, Xs, Y, Ys, Zs, merge_in_ggg(.(X, Xs), Ys, Zs)) 20.43/6.23 U6_GGG(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> MERGE_IN_GGG(.(X, Xs), Ys, Zs) 20.43/6.23 20.43/6.23 The TRS R consists of the following rules: 20.43/6.23 20.43/6.23 mergesort_in_ag([], []) -> mergesort_out_ag([], []) 20.43/6.23 mergesort_in_ag(.(X, []), .(X, [])) -> mergesort_out_ag(.(X, []), .(X, [])) 20.43/6.23 mergesort_in_ag(.(X, .(Y, Xs)), Ys) -> U1_ag(X, Y, Xs, Ys, split_in_aaa(.(X, .(Y, Xs)), X1s, X2s)) 20.43/6.23 split_in_aaa([], [], []) -> split_out_aaa([], [], []) 20.43/6.23 split_in_aaa(.(X, Xs), .(X, Ys), Zs) -> U5_aaa(X, Xs, Ys, Zs, split_in_aaa(Xs, Zs, Ys)) 20.43/6.23 U5_aaa(X, Xs, Ys, Zs, split_out_aaa(Xs, Zs, Ys)) -> split_out_aaa(.(X, Xs), .(X, Ys), Zs) 20.43/6.23 U1_ag(X, Y, Xs, Ys, split_out_aaa(.(X, .(Y, Xs)), X1s, X2s)) -> U2_ag(X, Y, Xs, Ys, X2s, mergesort_in_ga(X1s, Y1s)) 20.43/6.23 mergesort_in_ga([], []) -> mergesort_out_ga([], []) 20.43/6.23 mergesort_in_ga(.(X, []), .(X, [])) -> mergesort_out_ga(.(X, []), .(X, [])) 20.43/6.23 mergesort_in_ga(.(X, .(Y, Xs)), Ys) -> U1_ga(X, Y, Xs, Ys, split_in_gaa(.(X, .(Y, Xs)), X1s, X2s)) 20.43/6.23 split_in_gaa([], [], []) -> split_out_gaa([], [], []) 20.43/6.23 split_in_gaa(.(X, Xs), .(X, Ys), Zs) -> U5_gaa(X, Xs, Ys, Zs, split_in_gaa(Xs, Zs, Ys)) 20.43/6.23 U5_gaa(X, Xs, Ys, Zs, split_out_gaa(Xs, Zs, Ys)) -> split_out_gaa(.(X, Xs), .(X, Ys), Zs) 20.43/6.23 U1_ga(X, Y, Xs, Ys, split_out_gaa(.(X, .(Y, Xs)), X1s, X2s)) -> U2_ga(X, Y, Xs, Ys, X2s, mergesort_in_ga(X1s, Y1s)) 20.43/6.23 U2_ga(X, Y, Xs, Ys, X2s, mergesort_out_ga(X1s, Y1s)) -> U3_ga(X, Y, Xs, Ys, Y1s, mergesort_in_ga(X2s, Y2s)) 20.43/6.23 U3_ga(X, Y, Xs, Ys, Y1s, mergesort_out_ga(X2s, Y2s)) -> U4_ga(X, Y, Xs, Ys, merge_in_gga(Y1s, Y2s, Ys)) 20.43/6.23 merge_in_gga([], Xs, Xs) -> merge_out_gga([], Xs, Xs) 20.43/6.23 merge_in_gga(Xs, [], Xs) -> merge_out_gga(Xs, [], Xs) 20.43/6.23 merge_in_gga(.(X, Xs), .(Y, Ys), .(X, Zs)) -> U6_gga(X, Xs, Y, Ys, Zs, =_in_aa(X, Y)) 20.43/6.23 =_in_aa(X, X) -> =_out_aa(X, X) 20.43/6.23 U6_gga(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> U7_gga(X, Xs, Y, Ys, Zs, merge_in_gga(.(X, Xs), Ys, Zs)) 20.43/6.23 U7_gga(X, Xs, Y, Ys, Zs, merge_out_gga(.(X, Xs), Ys, Zs)) -> merge_out_gga(.(X, Xs), .(Y, Ys), .(X, Zs)) 20.43/6.23 U4_ga(X, Y, Xs, Ys, merge_out_gga(Y1s, Y2s, Ys)) -> mergesort_out_ga(.(X, .(Y, Xs)), Ys) 20.43/6.23 U2_ag(X, Y, Xs, Ys, X2s, mergesort_out_ga(X1s, Y1s)) -> U3_ag(X, Y, Xs, Ys, Y1s, mergesort_in_ga(X2s, Y2s)) 20.43/6.23 U3_ag(X, Y, Xs, Ys, Y1s, mergesort_out_ga(X2s, Y2s)) -> U4_ag(X, Y, Xs, Ys, merge_in_ggg(Y1s, Y2s, Ys)) 20.43/6.23 merge_in_ggg([], Xs, Xs) -> merge_out_ggg([], Xs, Xs) 20.43/6.23 merge_in_ggg(Xs, [], Xs) -> merge_out_ggg(Xs, [], Xs) 20.43/6.23 merge_in_ggg(.(X, Xs), .(Y, Ys), .(X, Zs)) -> U6_ggg(X, Xs, Y, Ys, Zs, =_in_aa(X, Y)) 20.43/6.23 U6_ggg(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> U7_ggg(X, Xs, Y, Ys, Zs, merge_in_ggg(.(X, Xs), Ys, Zs)) 20.43/6.23 U7_ggg(X, Xs, Y, Ys, Zs, merge_out_ggg(.(X, Xs), Ys, Zs)) -> merge_out_ggg(.(X, Xs), .(Y, Ys), .(X, Zs)) 20.43/6.23 U4_ag(X, Y, Xs, Ys, merge_out_ggg(Y1s, Y2s, Ys)) -> mergesort_out_ag(.(X, .(Y, Xs)), Ys) 20.43/6.23 20.43/6.23 The argument filtering Pi contains the following mapping: 20.43/6.23 mergesort_in_ag(x1, x2) = mergesort_in_ag(x2) 20.43/6.23 20.43/6.23 [] = [] 20.43/6.23 20.43/6.23 mergesort_out_ag(x1, x2) = mergesort_out_ag(x1, x2) 20.43/6.23 20.43/6.23 .(x1, x2) = .(x2) 20.43/6.23 20.43/6.23 U1_ag(x1, x2, x3, x4, x5) = U1_ag(x4, x5) 20.43/6.23 20.43/6.23 split_in_aaa(x1, x2, x3) = split_in_aaa 20.43/6.23 20.43/6.23 split_out_aaa(x1, x2, x3) = split_out_aaa(x1, x2, x3) 20.43/6.23 20.43/6.23 U5_aaa(x1, x2, x3, x4, x5) = U5_aaa(x5) 20.43/6.23 20.43/6.23 U2_ag(x1, x2, x3, x4, x5, x6) = U2_ag(x3, x4, x5, x6) 20.43/6.23 20.43/6.23 mergesort_in_ga(x1, x2) = mergesort_in_ga(x1) 20.43/6.23 20.43/6.23 mergesort_out_ga(x1, x2) = mergesort_out_ga(x1, x2) 20.43/6.23 20.43/6.23 U1_ga(x1, x2, x3, x4, x5) = U1_ga(x3, x5) 20.43/6.23 20.43/6.23 split_in_gaa(x1, x2, x3) = split_in_gaa(x1) 20.43/6.23 20.43/6.23 split_out_gaa(x1, x2, x3) = split_out_gaa(x1, x2, x3) 20.43/6.23 20.43/6.23 U5_gaa(x1, x2, x3, x4, x5) = U5_gaa(x2, x5) 20.43/6.23 20.43/6.23 U2_ga(x1, x2, x3, x4, x5, x6) = U2_ga(x3, x5, x6) 20.43/6.23 20.43/6.23 U3_ga(x1, x2, x3, x4, x5, x6) = U3_ga(x3, x5, x6) 20.43/6.23 20.43/6.23 U4_ga(x1, x2, x3, x4, x5) = U4_ga(x3, x5) 20.43/6.23 20.43/6.23 merge_in_gga(x1, x2, x3) = merge_in_gga(x1, x2) 20.43/6.23 20.43/6.23 merge_out_gga(x1, x2, x3) = merge_out_gga(x1, x2, x3) 20.43/6.23 20.43/6.23 U6_gga(x1, x2, x3, x4, x5, x6) = U6_gga(x2, x4, x6) 20.43/6.23 20.43/6.23 =_in_aa(x1, x2) = =_in_aa 20.43/6.23 20.43/6.23 =_out_aa(x1, x2) = =_out_aa 20.43/6.23 20.43/6.23 U7_gga(x1, x2, x3, x4, x5, x6) = U7_gga(x2, x4, x6) 20.43/6.23 20.43/6.23 U3_ag(x1, x2, x3, x4, x5, x6) = U3_ag(x3, x4, x5, x6) 20.43/6.23 20.43/6.23 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x3, x4, x5) 20.43/6.23 20.43/6.23 merge_in_ggg(x1, x2, x3) = merge_in_ggg(x1, x2, x3) 20.43/6.23 20.43/6.23 merge_out_ggg(x1, x2, x3) = merge_out_ggg(x1, x2, x3) 20.43/6.23 20.43/6.23 U6_ggg(x1, x2, x3, x4, x5, x6) = U6_ggg(x2, x4, x5, x6) 20.43/6.23 20.43/6.23 U7_ggg(x1, x2, x3, x4, x5, x6) = U7_ggg(x2, x4, x5, x6) 20.43/6.23 20.43/6.23 MERGESORT_IN_AG(x1, x2) = MERGESORT_IN_AG(x2) 20.43/6.23 20.43/6.23 U1_AG(x1, x2, x3, x4, x5) = U1_AG(x4, x5) 20.43/6.23 20.43/6.23 SPLIT_IN_AAA(x1, x2, x3) = SPLIT_IN_AAA 20.43/6.23 20.43/6.23 U5_AAA(x1, x2, x3, x4, x5) = U5_AAA(x5) 20.43/6.23 20.43/6.23 U2_AG(x1, x2, x3, x4, x5, x6) = U2_AG(x3, x4, x5, x6) 20.43/6.23 20.43/6.23 MERGESORT_IN_GA(x1, x2) = MERGESORT_IN_GA(x1) 20.43/6.23 20.43/6.23 U1_GA(x1, x2, x3, x4, x5) = U1_GA(x3, x5) 20.43/6.23 20.43/6.23 SPLIT_IN_GAA(x1, x2, x3) = SPLIT_IN_GAA(x1) 20.43/6.23 20.43/6.23 U5_GAA(x1, x2, x3, x4, x5) = U5_GAA(x2, x5) 20.43/6.23 20.43/6.23 U2_GA(x1, x2, x3, x4, x5, x6) = U2_GA(x3, x5, x6) 20.43/6.23 20.43/6.23 U3_GA(x1, x2, x3, x4, x5, x6) = U3_GA(x3, x5, x6) 20.43/6.23 20.43/6.23 U4_GA(x1, x2, x3, x4, x5) = U4_GA(x3, x5) 20.43/6.23 20.43/6.23 MERGE_IN_GGA(x1, x2, x3) = MERGE_IN_GGA(x1, x2) 20.43/6.23 20.43/6.23 U6_GGA(x1, x2, x3, x4, x5, x6) = U6_GGA(x2, x4, x6) 20.43/6.23 20.43/6.23 =_IN_AA(x1, x2) = =_IN_AA 20.43/6.23 20.43/6.23 U7_GGA(x1, x2, x3, x4, x5, x6) = U7_GGA(x2, x4, x6) 20.43/6.23 20.43/6.23 U3_AG(x1, x2, x3, x4, x5, x6) = U3_AG(x3, x4, x5, x6) 20.43/6.23 20.43/6.23 U4_AG(x1, x2, x3, x4, x5) = U4_AG(x3, x4, x5) 20.43/6.23 20.43/6.23 MERGE_IN_GGG(x1, x2, x3) = MERGE_IN_GGG(x1, x2, x3) 20.43/6.23 20.43/6.23 U6_GGG(x1, x2, x3, x4, x5, x6) = U6_GGG(x2, x4, x5, x6) 20.43/6.23 20.43/6.23 U7_GGG(x1, x2, x3, x4, x5, x6) = U7_GGG(x2, x4, x5, x6) 20.43/6.23 20.43/6.23 20.43/6.23 We have to consider all (P,R,Pi)-chains 20.43/6.23 ---------------------------------------- 20.43/6.23 20.43/6.23 (6) 20.43/6.23 Obligation: 20.43/6.23 Pi DP problem: 20.43/6.23 The TRS P consists of the following rules: 20.43/6.23 20.43/6.23 MERGESORT_IN_AG(.(X, .(Y, Xs)), Ys) -> U1_AG(X, Y, Xs, Ys, split_in_aaa(.(X, .(Y, Xs)), X1s, X2s)) 20.57/6.23 MERGESORT_IN_AG(.(X, .(Y, Xs)), Ys) -> SPLIT_IN_AAA(.(X, .(Y, Xs)), X1s, X2s) 20.57/6.23 SPLIT_IN_AAA(.(X, Xs), .(X, Ys), Zs) -> U5_AAA(X, Xs, Ys, Zs, split_in_aaa(Xs, Zs, Ys)) 20.57/6.23 SPLIT_IN_AAA(.(X, Xs), .(X, Ys), Zs) -> SPLIT_IN_AAA(Xs, Zs, Ys) 20.57/6.23 U1_AG(X, Y, Xs, Ys, split_out_aaa(.(X, .(Y, Xs)), X1s, X2s)) -> U2_AG(X, Y, Xs, Ys, X2s, mergesort_in_ga(X1s, Y1s)) 20.57/6.23 U1_AG(X, Y, Xs, Ys, split_out_aaa(.(X, .(Y, Xs)), X1s, X2s)) -> MERGESORT_IN_GA(X1s, Y1s) 20.57/6.23 MERGESORT_IN_GA(.(X, .(Y, Xs)), Ys) -> U1_GA(X, Y, Xs, Ys, split_in_gaa(.(X, .(Y, Xs)), X1s, X2s)) 20.57/6.23 MERGESORT_IN_GA(.(X, .(Y, Xs)), Ys) -> SPLIT_IN_GAA(.(X, .(Y, Xs)), X1s, X2s) 20.57/6.23 SPLIT_IN_GAA(.(X, Xs), .(X, Ys), Zs) -> U5_GAA(X, Xs, Ys, Zs, split_in_gaa(Xs, Zs, Ys)) 20.57/6.23 SPLIT_IN_GAA(.(X, Xs), .(X, Ys), Zs) -> SPLIT_IN_GAA(Xs, Zs, Ys) 20.57/6.23 U1_GA(X, Y, Xs, Ys, split_out_gaa(.(X, .(Y, Xs)), X1s, X2s)) -> U2_GA(X, Y, Xs, Ys, X2s, mergesort_in_ga(X1s, Y1s)) 20.57/6.23 U1_GA(X, Y, Xs, Ys, split_out_gaa(.(X, .(Y, Xs)), X1s, X2s)) -> MERGESORT_IN_GA(X1s, Y1s) 20.57/6.23 U2_GA(X, Y, Xs, Ys, X2s, mergesort_out_ga(X1s, Y1s)) -> U3_GA(X, Y, Xs, Ys, Y1s, mergesort_in_ga(X2s, Y2s)) 20.57/6.23 U2_GA(X, Y, Xs, Ys, X2s, mergesort_out_ga(X1s, Y1s)) -> MERGESORT_IN_GA(X2s, Y2s) 20.57/6.23 U3_GA(X, Y, Xs, Ys, Y1s, mergesort_out_ga(X2s, Y2s)) -> U4_GA(X, Y, Xs, Ys, merge_in_gga(Y1s, Y2s, Ys)) 20.57/6.23 U3_GA(X, Y, Xs, Ys, Y1s, mergesort_out_ga(X2s, Y2s)) -> MERGE_IN_GGA(Y1s, Y2s, Ys) 20.57/6.23 MERGE_IN_GGA(.(X, Xs), .(Y, Ys), .(X, Zs)) -> U6_GGA(X, Xs, Y, Ys, Zs, =_in_aa(X, Y)) 20.57/6.23 MERGE_IN_GGA(.(X, Xs), .(Y, Ys), .(X, Zs)) -> =_IN_AA(X, Y) 20.57/6.23 U6_GGA(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> U7_GGA(X, Xs, Y, Ys, Zs, merge_in_gga(.(X, Xs), Ys, Zs)) 20.57/6.23 U6_GGA(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> MERGE_IN_GGA(.(X, Xs), Ys, Zs) 20.57/6.23 U2_AG(X, Y, Xs, Ys, X2s, mergesort_out_ga(X1s, Y1s)) -> U3_AG(X, Y, Xs, Ys, Y1s, mergesort_in_ga(X2s, Y2s)) 20.57/6.23 U2_AG(X, Y, Xs, Ys, X2s, mergesort_out_ga(X1s, Y1s)) -> MERGESORT_IN_GA(X2s, Y2s) 20.57/6.23 U3_AG(X, Y, Xs, Ys, Y1s, mergesort_out_ga(X2s, Y2s)) -> U4_AG(X, Y, Xs, Ys, merge_in_ggg(Y1s, Y2s, Ys)) 20.57/6.23 U3_AG(X, Y, Xs, Ys, Y1s, mergesort_out_ga(X2s, Y2s)) -> MERGE_IN_GGG(Y1s, Y2s, Ys) 20.57/6.23 MERGE_IN_GGG(.(X, Xs), .(Y, Ys), .(X, Zs)) -> U6_GGG(X, Xs, Y, Ys, Zs, =_in_aa(X, Y)) 20.57/6.23 MERGE_IN_GGG(.(X, Xs), .(Y, Ys), .(X, Zs)) -> =_IN_AA(X, Y) 20.57/6.23 U6_GGG(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> U7_GGG(X, Xs, Y, Ys, Zs, merge_in_ggg(.(X, Xs), Ys, Zs)) 20.57/6.23 U6_GGG(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> MERGE_IN_GGG(.(X, Xs), Ys, Zs) 20.57/6.23 20.57/6.23 The TRS R consists of the following rules: 20.57/6.23 20.57/6.23 mergesort_in_ag([], []) -> mergesort_out_ag([], []) 20.57/6.23 mergesort_in_ag(.(X, []), .(X, [])) -> mergesort_out_ag(.(X, []), .(X, [])) 20.57/6.23 mergesort_in_ag(.(X, .(Y, Xs)), Ys) -> U1_ag(X, Y, Xs, Ys, split_in_aaa(.(X, .(Y, Xs)), X1s, X2s)) 20.57/6.23 split_in_aaa([], [], []) -> split_out_aaa([], [], []) 20.57/6.23 split_in_aaa(.(X, Xs), .(X, Ys), Zs) -> U5_aaa(X, Xs, Ys, Zs, split_in_aaa(Xs, Zs, Ys)) 20.57/6.23 U5_aaa(X, Xs, Ys, Zs, split_out_aaa(Xs, Zs, Ys)) -> split_out_aaa(.(X, Xs), .(X, Ys), Zs) 20.57/6.23 U1_ag(X, Y, Xs, Ys, split_out_aaa(.(X, .(Y, Xs)), X1s, X2s)) -> U2_ag(X, Y, Xs, Ys, X2s, mergesort_in_ga(X1s, Y1s)) 20.57/6.24 mergesort_in_ga([], []) -> mergesort_out_ga([], []) 20.57/6.24 mergesort_in_ga(.(X, []), .(X, [])) -> mergesort_out_ga(.(X, []), .(X, [])) 20.57/6.24 mergesort_in_ga(.(X, .(Y, Xs)), Ys) -> U1_ga(X, Y, Xs, Ys, split_in_gaa(.(X, .(Y, Xs)), X1s, X2s)) 20.57/6.24 split_in_gaa([], [], []) -> split_out_gaa([], [], []) 20.57/6.24 split_in_gaa(.(X, Xs), .(X, Ys), Zs) -> U5_gaa(X, Xs, Ys, Zs, split_in_gaa(Xs, Zs, Ys)) 20.57/6.24 U5_gaa(X, Xs, Ys, Zs, split_out_gaa(Xs, Zs, Ys)) -> split_out_gaa(.(X, Xs), .(X, Ys), Zs) 20.57/6.24 U1_ga(X, Y, Xs, Ys, split_out_gaa(.(X, .(Y, Xs)), X1s, X2s)) -> U2_ga(X, Y, Xs, Ys, X2s, mergesort_in_ga(X1s, Y1s)) 20.57/6.24 U2_ga(X, Y, Xs, Ys, X2s, mergesort_out_ga(X1s, Y1s)) -> U3_ga(X, Y, Xs, Ys, Y1s, mergesort_in_ga(X2s, Y2s)) 20.57/6.24 U3_ga(X, Y, Xs, Ys, Y1s, mergesort_out_ga(X2s, Y2s)) -> U4_ga(X, Y, Xs, Ys, merge_in_gga(Y1s, Y2s, Ys)) 20.57/6.24 merge_in_gga([], Xs, Xs) -> merge_out_gga([], Xs, Xs) 20.57/6.24 merge_in_gga(Xs, [], Xs) -> merge_out_gga(Xs, [], Xs) 20.57/6.24 merge_in_gga(.(X, Xs), .(Y, Ys), .(X, Zs)) -> U6_gga(X, Xs, Y, Ys, Zs, =_in_aa(X, Y)) 20.57/6.24 =_in_aa(X, X) -> =_out_aa(X, X) 20.57/6.24 U6_gga(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> U7_gga(X, Xs, Y, Ys, Zs, merge_in_gga(.(X, Xs), Ys, Zs)) 20.57/6.24 U7_gga(X, Xs, Y, Ys, Zs, merge_out_gga(.(X, Xs), Ys, Zs)) -> merge_out_gga(.(X, Xs), .(Y, Ys), .(X, Zs)) 20.57/6.24 U4_ga(X, Y, Xs, Ys, merge_out_gga(Y1s, Y2s, Ys)) -> mergesort_out_ga(.(X, .(Y, Xs)), Ys) 20.57/6.24 U2_ag(X, Y, Xs, Ys, X2s, mergesort_out_ga(X1s, Y1s)) -> U3_ag(X, Y, Xs, Ys, Y1s, mergesort_in_ga(X2s, Y2s)) 20.57/6.24 U3_ag(X, Y, Xs, Ys, Y1s, mergesort_out_ga(X2s, Y2s)) -> U4_ag(X, Y, Xs, Ys, merge_in_ggg(Y1s, Y2s, Ys)) 20.57/6.24 merge_in_ggg([], Xs, Xs) -> merge_out_ggg([], Xs, Xs) 20.57/6.24 merge_in_ggg(Xs, [], Xs) -> merge_out_ggg(Xs, [], Xs) 20.57/6.24 merge_in_ggg(.(X, Xs), .(Y, Ys), .(X, Zs)) -> U6_ggg(X, Xs, Y, Ys, Zs, =_in_aa(X, Y)) 20.57/6.24 U6_ggg(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> U7_ggg(X, Xs, Y, Ys, Zs, merge_in_ggg(.(X, Xs), Ys, Zs)) 20.57/6.24 U7_ggg(X, Xs, Y, Ys, Zs, merge_out_ggg(.(X, Xs), Ys, Zs)) -> merge_out_ggg(.(X, Xs), .(Y, Ys), .(X, Zs)) 20.57/6.24 U4_ag(X, Y, Xs, Ys, merge_out_ggg(Y1s, Y2s, Ys)) -> mergesort_out_ag(.(X, .(Y, Xs)), Ys) 20.57/6.24 20.57/6.24 The argument filtering Pi contains the following mapping: 20.57/6.24 mergesort_in_ag(x1, x2) = mergesort_in_ag(x2) 20.57/6.24 20.57/6.24 [] = [] 20.57/6.24 20.57/6.24 mergesort_out_ag(x1, x2) = mergesort_out_ag(x1, x2) 20.57/6.24 20.57/6.24 .(x1, x2) = .(x2) 20.57/6.24 20.57/6.24 U1_ag(x1, x2, x3, x4, x5) = U1_ag(x4, x5) 20.57/6.24 20.57/6.24 split_in_aaa(x1, x2, x3) = split_in_aaa 20.57/6.24 20.57/6.24 split_out_aaa(x1, x2, x3) = split_out_aaa(x1, x2, x3) 20.57/6.24 20.57/6.24 U5_aaa(x1, x2, x3, x4, x5) = U5_aaa(x5) 20.57/6.24 20.57/6.24 U2_ag(x1, x2, x3, x4, x5, x6) = U2_ag(x3, x4, x5, x6) 20.57/6.24 20.57/6.24 mergesort_in_ga(x1, x2) = mergesort_in_ga(x1) 20.57/6.24 20.57/6.24 mergesort_out_ga(x1, x2) = mergesort_out_ga(x1, x2) 20.57/6.24 20.57/6.24 U1_ga(x1, x2, x3, x4, x5) = U1_ga(x3, x5) 20.57/6.24 20.57/6.24 split_in_gaa(x1, x2, x3) = split_in_gaa(x1) 20.57/6.24 20.57/6.24 split_out_gaa(x1, x2, x3) = split_out_gaa(x1, x2, x3) 20.57/6.24 20.57/6.24 U5_gaa(x1, x2, x3, x4, x5) = U5_gaa(x2, x5) 20.57/6.24 20.57/6.24 U2_ga(x1, x2, x3, x4, x5, x6) = U2_ga(x3, x5, x6) 20.57/6.24 20.57/6.24 U3_ga(x1, x2, x3, x4, x5, x6) = U3_ga(x3, x5, x6) 20.57/6.24 20.57/6.24 U4_ga(x1, x2, x3, x4, x5) = U4_ga(x3, x5) 20.57/6.24 20.57/6.24 merge_in_gga(x1, x2, x3) = merge_in_gga(x1, x2) 20.57/6.24 20.57/6.24 merge_out_gga(x1, x2, x3) = merge_out_gga(x1, x2, x3) 20.57/6.24 20.57/6.24 U6_gga(x1, x2, x3, x4, x5, x6) = U6_gga(x2, x4, x6) 20.57/6.24 20.57/6.24 =_in_aa(x1, x2) = =_in_aa 20.57/6.24 20.57/6.24 =_out_aa(x1, x2) = =_out_aa 20.57/6.24 20.57/6.24 U7_gga(x1, x2, x3, x4, x5, x6) = U7_gga(x2, x4, x6) 20.57/6.24 20.57/6.24 U3_ag(x1, x2, x3, x4, x5, x6) = U3_ag(x3, x4, x5, x6) 20.57/6.24 20.57/6.24 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x3, x4, x5) 20.57/6.24 20.57/6.24 merge_in_ggg(x1, x2, x3) = merge_in_ggg(x1, x2, x3) 20.57/6.24 20.57/6.24 merge_out_ggg(x1, x2, x3) = merge_out_ggg(x1, x2, x3) 20.57/6.24 20.57/6.24 U6_ggg(x1, x2, x3, x4, x5, x6) = U6_ggg(x2, x4, x5, x6) 20.57/6.24 20.57/6.24 U7_ggg(x1, x2, x3, x4, x5, x6) = U7_ggg(x2, x4, x5, x6) 20.57/6.24 20.57/6.24 MERGESORT_IN_AG(x1, x2) = MERGESORT_IN_AG(x2) 20.57/6.24 20.57/6.24 U1_AG(x1, x2, x3, x4, x5) = U1_AG(x4, x5) 20.57/6.24 20.57/6.24 SPLIT_IN_AAA(x1, x2, x3) = SPLIT_IN_AAA 20.57/6.24 20.57/6.24 U5_AAA(x1, x2, x3, x4, x5) = U5_AAA(x5) 20.57/6.24 20.57/6.24 U2_AG(x1, x2, x3, x4, x5, x6) = U2_AG(x3, x4, x5, x6) 20.57/6.24 20.57/6.24 MERGESORT_IN_GA(x1, x2) = MERGESORT_IN_GA(x1) 20.57/6.24 20.57/6.24 U1_GA(x1, x2, x3, x4, x5) = U1_GA(x3, x5) 20.57/6.24 20.57/6.24 SPLIT_IN_GAA(x1, x2, x3) = SPLIT_IN_GAA(x1) 20.57/6.24 20.57/6.24 U5_GAA(x1, x2, x3, x4, x5) = U5_GAA(x2, x5) 20.57/6.24 20.57/6.24 U2_GA(x1, x2, x3, x4, x5, x6) = U2_GA(x3, x5, x6) 20.57/6.24 20.57/6.24 U3_GA(x1, x2, x3, x4, x5, x6) = U3_GA(x3, x5, x6) 20.57/6.24 20.57/6.24 U4_GA(x1, x2, x3, x4, x5) = U4_GA(x3, x5) 20.57/6.24 20.57/6.24 MERGE_IN_GGA(x1, x2, x3) = MERGE_IN_GGA(x1, x2) 20.57/6.24 20.57/6.24 U6_GGA(x1, x2, x3, x4, x5, x6) = U6_GGA(x2, x4, x6) 20.57/6.24 20.57/6.24 =_IN_AA(x1, x2) = =_IN_AA 20.57/6.24 20.57/6.24 U7_GGA(x1, x2, x3, x4, x5, x6) = U7_GGA(x2, x4, x6) 20.57/6.24 20.57/6.24 U3_AG(x1, x2, x3, x4, x5, x6) = U3_AG(x3, x4, x5, x6) 20.57/6.24 20.57/6.24 U4_AG(x1, x2, x3, x4, x5) = U4_AG(x3, x4, x5) 20.57/6.24 20.57/6.24 MERGE_IN_GGG(x1, x2, x3) = MERGE_IN_GGG(x1, x2, x3) 20.57/6.24 20.57/6.24 U6_GGG(x1, x2, x3, x4, x5, x6) = U6_GGG(x2, x4, x5, x6) 20.57/6.24 20.57/6.24 U7_GGG(x1, x2, x3, x4, x5, x6) = U7_GGG(x2, x4, x5, x6) 20.57/6.24 20.57/6.24 20.57/6.24 We have to consider all (P,R,Pi)-chains 20.57/6.24 ---------------------------------------- 20.57/6.24 20.57/6.24 (7) DependencyGraphProof (EQUIVALENT) 20.57/6.24 The approximation of the Dependency Graph [LOPSTR] contains 5 SCCs with 18 less nodes. 20.57/6.24 ---------------------------------------- 20.57/6.24 20.57/6.24 (8) 20.57/6.24 Complex Obligation (AND) 20.57/6.24 20.57/6.24 ---------------------------------------- 20.57/6.24 20.57/6.24 (9) 20.57/6.24 Obligation: 20.57/6.24 Pi DP problem: 20.57/6.24 The TRS P consists of the following rules: 20.57/6.24 20.57/6.24 U6_GGG(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> MERGE_IN_GGG(.(X, Xs), Ys, Zs) 20.57/6.24 MERGE_IN_GGG(.(X, Xs), .(Y, Ys), .(X, Zs)) -> U6_GGG(X, Xs, Y, Ys, Zs, =_in_aa(X, Y)) 20.57/6.24 20.57/6.24 The TRS R consists of the following rules: 20.57/6.24 20.57/6.24 mergesort_in_ag([], []) -> mergesort_out_ag([], []) 20.57/6.24 mergesort_in_ag(.(X, []), .(X, [])) -> mergesort_out_ag(.(X, []), .(X, [])) 20.57/6.24 mergesort_in_ag(.(X, .(Y, Xs)), Ys) -> U1_ag(X, Y, Xs, Ys, split_in_aaa(.(X, .(Y, Xs)), X1s, X2s)) 20.57/6.24 split_in_aaa([], [], []) -> split_out_aaa([], [], []) 20.57/6.24 split_in_aaa(.(X, Xs), .(X, Ys), Zs) -> U5_aaa(X, Xs, Ys, Zs, split_in_aaa(Xs, Zs, Ys)) 20.57/6.24 U5_aaa(X, Xs, Ys, Zs, split_out_aaa(Xs, Zs, Ys)) -> split_out_aaa(.(X, Xs), .(X, Ys), Zs) 20.57/6.24 U1_ag(X, Y, Xs, Ys, split_out_aaa(.(X, .(Y, Xs)), X1s, X2s)) -> U2_ag(X, Y, Xs, Ys, X2s, mergesort_in_ga(X1s, Y1s)) 20.57/6.24 mergesort_in_ga([], []) -> mergesort_out_ga([], []) 20.57/6.24 mergesort_in_ga(.(X, []), .(X, [])) -> mergesort_out_ga(.(X, []), .(X, [])) 20.57/6.24 mergesort_in_ga(.(X, .(Y, Xs)), Ys) -> U1_ga(X, Y, Xs, Ys, split_in_gaa(.(X, .(Y, Xs)), X1s, X2s)) 20.57/6.24 split_in_gaa([], [], []) -> split_out_gaa([], [], []) 20.57/6.24 split_in_gaa(.(X, Xs), .(X, Ys), Zs) -> U5_gaa(X, Xs, Ys, Zs, split_in_gaa(Xs, Zs, Ys)) 20.57/6.24 U5_gaa(X, Xs, Ys, Zs, split_out_gaa(Xs, Zs, Ys)) -> split_out_gaa(.(X, Xs), .(X, Ys), Zs) 20.57/6.24 U1_ga(X, Y, Xs, Ys, split_out_gaa(.(X, .(Y, Xs)), X1s, X2s)) -> U2_ga(X, Y, Xs, Ys, X2s, mergesort_in_ga(X1s, Y1s)) 20.57/6.24 U2_ga(X, Y, Xs, Ys, X2s, mergesort_out_ga(X1s, Y1s)) -> U3_ga(X, Y, Xs, Ys, Y1s, mergesort_in_ga(X2s, Y2s)) 20.57/6.24 U3_ga(X, Y, Xs, Ys, Y1s, mergesort_out_ga(X2s, Y2s)) -> U4_ga(X, Y, Xs, Ys, merge_in_gga(Y1s, Y2s, Ys)) 20.57/6.24 merge_in_gga([], Xs, Xs) -> merge_out_gga([], Xs, Xs) 20.57/6.24 merge_in_gga(Xs, [], Xs) -> merge_out_gga(Xs, [], Xs) 20.57/6.24 merge_in_gga(.(X, Xs), .(Y, Ys), .(X, Zs)) -> U6_gga(X, Xs, Y, Ys, Zs, =_in_aa(X, Y)) 20.57/6.24 =_in_aa(X, X) -> =_out_aa(X, X) 20.57/6.24 U6_gga(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> U7_gga(X, Xs, Y, Ys, Zs, merge_in_gga(.(X, Xs), Ys, Zs)) 20.57/6.24 U7_gga(X, Xs, Y, Ys, Zs, merge_out_gga(.(X, Xs), Ys, Zs)) -> merge_out_gga(.(X, Xs), .(Y, Ys), .(X, Zs)) 20.57/6.24 U4_ga(X, Y, Xs, Ys, merge_out_gga(Y1s, Y2s, Ys)) -> mergesort_out_ga(.(X, .(Y, Xs)), Ys) 20.57/6.24 U2_ag(X, Y, Xs, Ys, X2s, mergesort_out_ga(X1s, Y1s)) -> U3_ag(X, Y, Xs, Ys, Y1s, mergesort_in_ga(X2s, Y2s)) 20.57/6.24 U3_ag(X, Y, Xs, Ys, Y1s, mergesort_out_ga(X2s, Y2s)) -> U4_ag(X, Y, Xs, Ys, merge_in_ggg(Y1s, Y2s, Ys)) 20.57/6.24 merge_in_ggg([], Xs, Xs) -> merge_out_ggg([], Xs, Xs) 20.57/6.24 merge_in_ggg(Xs, [], Xs) -> merge_out_ggg(Xs, [], Xs) 20.57/6.24 merge_in_ggg(.(X, Xs), .(Y, Ys), .(X, Zs)) -> U6_ggg(X, Xs, Y, Ys, Zs, =_in_aa(X, Y)) 20.57/6.24 U6_ggg(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> U7_ggg(X, Xs, Y, Ys, Zs, merge_in_ggg(.(X, Xs), Ys, Zs)) 20.57/6.24 U7_ggg(X, Xs, Y, Ys, Zs, merge_out_ggg(.(X, Xs), Ys, Zs)) -> merge_out_ggg(.(X, Xs), .(Y, Ys), .(X, Zs)) 20.57/6.24 U4_ag(X, Y, Xs, Ys, merge_out_ggg(Y1s, Y2s, Ys)) -> mergesort_out_ag(.(X, .(Y, Xs)), Ys) 20.57/6.24 20.57/6.24 The argument filtering Pi contains the following mapping: 20.57/6.24 mergesort_in_ag(x1, x2) = mergesort_in_ag(x2) 20.57/6.24 20.57/6.24 [] = [] 20.57/6.24 20.57/6.24 mergesort_out_ag(x1, x2) = mergesort_out_ag(x1, x2) 20.57/6.24 20.57/6.24 .(x1, x2) = .(x2) 20.57/6.24 20.57/6.24 U1_ag(x1, x2, x3, x4, x5) = U1_ag(x4, x5) 20.57/6.24 20.57/6.24 split_in_aaa(x1, x2, x3) = split_in_aaa 20.57/6.24 20.57/6.24 split_out_aaa(x1, x2, x3) = split_out_aaa(x1, x2, x3) 20.57/6.24 20.57/6.24 U5_aaa(x1, x2, x3, x4, x5) = U5_aaa(x5) 20.57/6.24 20.57/6.24 U2_ag(x1, x2, x3, x4, x5, x6) = U2_ag(x3, x4, x5, x6) 20.57/6.24 20.57/6.24 mergesort_in_ga(x1, x2) = mergesort_in_ga(x1) 20.57/6.24 20.57/6.24 mergesort_out_ga(x1, x2) = mergesort_out_ga(x1, x2) 20.57/6.24 20.57/6.24 U1_ga(x1, x2, x3, x4, x5) = U1_ga(x3, x5) 20.57/6.24 20.57/6.24 split_in_gaa(x1, x2, x3) = split_in_gaa(x1) 20.57/6.24 20.57/6.24 split_out_gaa(x1, x2, x3) = split_out_gaa(x1, x2, x3) 20.57/6.24 20.57/6.24 U5_gaa(x1, x2, x3, x4, x5) = U5_gaa(x2, x5) 20.57/6.24 20.57/6.24 U2_ga(x1, x2, x3, x4, x5, x6) = U2_ga(x3, x5, x6) 20.57/6.24 20.57/6.24 U3_ga(x1, x2, x3, x4, x5, x6) = U3_ga(x3, x5, x6) 20.57/6.24 20.57/6.24 U4_ga(x1, x2, x3, x4, x5) = U4_ga(x3, x5) 20.57/6.24 20.57/6.24 merge_in_gga(x1, x2, x3) = merge_in_gga(x1, x2) 20.57/6.24 20.57/6.24 merge_out_gga(x1, x2, x3) = merge_out_gga(x1, x2, x3) 20.57/6.24 20.57/6.24 U6_gga(x1, x2, x3, x4, x5, x6) = U6_gga(x2, x4, x6) 20.57/6.24 20.57/6.24 =_in_aa(x1, x2) = =_in_aa 20.57/6.24 20.57/6.24 =_out_aa(x1, x2) = =_out_aa 20.57/6.24 20.57/6.24 U7_gga(x1, x2, x3, x4, x5, x6) = U7_gga(x2, x4, x6) 20.57/6.24 20.57/6.24 U3_ag(x1, x2, x3, x4, x5, x6) = U3_ag(x3, x4, x5, x6) 20.57/6.24 20.57/6.24 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x3, x4, x5) 20.57/6.24 20.57/6.24 merge_in_ggg(x1, x2, x3) = merge_in_ggg(x1, x2, x3) 20.57/6.24 20.57/6.24 merge_out_ggg(x1, x2, x3) = merge_out_ggg(x1, x2, x3) 20.57/6.24 20.57/6.24 U6_ggg(x1, x2, x3, x4, x5, x6) = U6_ggg(x2, x4, x5, x6) 20.57/6.24 20.57/6.24 U7_ggg(x1, x2, x3, x4, x5, x6) = U7_ggg(x2, x4, x5, x6) 20.57/6.24 20.57/6.24 MERGE_IN_GGG(x1, x2, x3) = MERGE_IN_GGG(x1, x2, x3) 20.57/6.24 20.57/6.24 U6_GGG(x1, x2, x3, x4, x5, x6) = U6_GGG(x2, x4, x5, x6) 20.57/6.24 20.57/6.24 20.57/6.24 We have to consider all (P,R,Pi)-chains 20.57/6.24 ---------------------------------------- 20.57/6.24 20.57/6.24 (10) UsableRulesProof (EQUIVALENT) 20.57/6.24 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 20.57/6.24 ---------------------------------------- 20.57/6.24 20.57/6.24 (11) 20.57/6.24 Obligation: 20.57/6.24 Pi DP problem: 20.57/6.24 The TRS P consists of the following rules: 20.57/6.24 20.57/6.24 U6_GGG(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> MERGE_IN_GGG(.(X, Xs), Ys, Zs) 20.57/6.24 MERGE_IN_GGG(.(X, Xs), .(Y, Ys), .(X, Zs)) -> U6_GGG(X, Xs, Y, Ys, Zs, =_in_aa(X, Y)) 20.57/6.24 20.57/6.24 The TRS R consists of the following rules: 20.57/6.24 20.57/6.24 =_in_aa(X, X) -> =_out_aa(X, X) 20.57/6.24 20.57/6.24 The argument filtering Pi contains the following mapping: 20.57/6.24 .(x1, x2) = .(x2) 20.57/6.24 20.57/6.24 =_in_aa(x1, x2) = =_in_aa 20.57/6.24 20.57/6.24 =_out_aa(x1, x2) = =_out_aa 20.57/6.24 20.57/6.24 MERGE_IN_GGG(x1, x2, x3) = MERGE_IN_GGG(x1, x2, x3) 20.57/6.24 20.57/6.24 U6_GGG(x1, x2, x3, x4, x5, x6) = U6_GGG(x2, x4, x5, x6) 20.57/6.24 20.57/6.24 20.57/6.24 We have to consider all (P,R,Pi)-chains 20.57/6.24 ---------------------------------------- 20.57/6.24 20.57/6.24 (12) PiDPToQDPProof (SOUND) 20.57/6.24 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 20.57/6.24 ---------------------------------------- 20.57/6.24 20.57/6.24 (13) 20.57/6.24 Obligation: 20.57/6.24 Q DP problem: 20.57/6.24 The TRS P consists of the following rules: 20.57/6.24 20.57/6.24 U6_GGG(Xs, Ys, Zs, =_out_aa) -> MERGE_IN_GGG(.(Xs), Ys, Zs) 20.57/6.24 MERGE_IN_GGG(.(Xs), .(Ys), .(Zs)) -> U6_GGG(Xs, Ys, Zs, =_in_aa) 20.57/6.24 20.57/6.24 The TRS R consists of the following rules: 20.57/6.24 20.57/6.24 =_in_aa -> =_out_aa 20.57/6.24 20.57/6.24 The set Q consists of the following terms: 20.57/6.24 20.57/6.24 =_in_aa 20.57/6.24 20.57/6.24 We have to consider all (P,Q,R)-chains. 20.57/6.24 ---------------------------------------- 20.57/6.24 20.57/6.24 (14) QDPSizeChangeProof (EQUIVALENT) 20.57/6.24 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. 20.57/6.24 20.57/6.24 From the DPs we obtained the following set of size-change graphs: 20.57/6.24 *MERGE_IN_GGG(.(Xs), .(Ys), .(Zs)) -> U6_GGG(Xs, Ys, Zs, =_in_aa) 20.57/6.24 The graph contains the following edges 1 > 1, 2 > 2, 3 > 3 20.57/6.24 20.57/6.24 20.57/6.24 *U6_GGG(Xs, Ys, Zs, =_out_aa) -> MERGE_IN_GGG(.(Xs), Ys, Zs) 20.57/6.24 The graph contains the following edges 2 >= 2, 3 >= 3 20.57/6.24 20.57/6.24 20.57/6.24 ---------------------------------------- 20.57/6.24 20.57/6.24 (15) 20.57/6.24 YES 20.57/6.24 20.57/6.24 ---------------------------------------- 20.57/6.24 20.57/6.24 (16) 20.57/6.24 Obligation: 20.57/6.24 Pi DP problem: 20.57/6.24 The TRS P consists of the following rules: 20.57/6.24 20.57/6.24 U6_GGA(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> MERGE_IN_GGA(.(X, Xs), Ys, Zs) 20.57/6.24 MERGE_IN_GGA(.(X, Xs), .(Y, Ys), .(X, Zs)) -> U6_GGA(X, Xs, Y, Ys, Zs, =_in_aa(X, Y)) 20.57/6.24 20.57/6.24 The TRS R consists of the following rules: 20.57/6.24 20.57/6.24 mergesort_in_ag([], []) -> mergesort_out_ag([], []) 20.57/6.24 mergesort_in_ag(.(X, []), .(X, [])) -> mergesort_out_ag(.(X, []), .(X, [])) 20.57/6.24 mergesort_in_ag(.(X, .(Y, Xs)), Ys) -> U1_ag(X, Y, Xs, Ys, split_in_aaa(.(X, .(Y, Xs)), X1s, X2s)) 20.57/6.24 split_in_aaa([], [], []) -> split_out_aaa([], [], []) 20.57/6.24 split_in_aaa(.(X, Xs), .(X, Ys), Zs) -> U5_aaa(X, Xs, Ys, Zs, split_in_aaa(Xs, Zs, Ys)) 20.57/6.24 U5_aaa(X, Xs, Ys, Zs, split_out_aaa(Xs, Zs, Ys)) -> split_out_aaa(.(X, Xs), .(X, Ys), Zs) 20.57/6.24 U1_ag(X, Y, Xs, Ys, split_out_aaa(.(X, .(Y, Xs)), X1s, X2s)) -> U2_ag(X, Y, Xs, Ys, X2s, mergesort_in_ga(X1s, Y1s)) 20.57/6.24 mergesort_in_ga([], []) -> mergesort_out_ga([], []) 20.57/6.24 mergesort_in_ga(.(X, []), .(X, [])) -> mergesort_out_ga(.(X, []), .(X, [])) 20.57/6.24 mergesort_in_ga(.(X, .(Y, Xs)), Ys) -> U1_ga(X, Y, Xs, Ys, split_in_gaa(.(X, .(Y, Xs)), X1s, X2s)) 20.57/6.24 split_in_gaa([], [], []) -> split_out_gaa([], [], []) 20.57/6.24 split_in_gaa(.(X, Xs), .(X, Ys), Zs) -> U5_gaa(X, Xs, Ys, Zs, split_in_gaa(Xs, Zs, Ys)) 20.57/6.24 U5_gaa(X, Xs, Ys, Zs, split_out_gaa(Xs, Zs, Ys)) -> split_out_gaa(.(X, Xs), .(X, Ys), Zs) 20.57/6.24 U1_ga(X, Y, Xs, Ys, split_out_gaa(.(X, .(Y, Xs)), X1s, X2s)) -> U2_ga(X, Y, Xs, Ys, X2s, mergesort_in_ga(X1s, Y1s)) 20.57/6.24 U2_ga(X, Y, Xs, Ys, X2s, mergesort_out_ga(X1s, Y1s)) -> U3_ga(X, Y, Xs, Ys, Y1s, mergesort_in_ga(X2s, Y2s)) 20.57/6.24 U3_ga(X, Y, Xs, Ys, Y1s, mergesort_out_ga(X2s, Y2s)) -> U4_ga(X, Y, Xs, Ys, merge_in_gga(Y1s, Y2s, Ys)) 20.57/6.24 merge_in_gga([], Xs, Xs) -> merge_out_gga([], Xs, Xs) 20.57/6.24 merge_in_gga(Xs, [], Xs) -> merge_out_gga(Xs, [], Xs) 20.57/6.24 merge_in_gga(.(X, Xs), .(Y, Ys), .(X, Zs)) -> U6_gga(X, Xs, Y, Ys, Zs, =_in_aa(X, Y)) 20.57/6.24 =_in_aa(X, X) -> =_out_aa(X, X) 20.57/6.24 U6_gga(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> U7_gga(X, Xs, Y, Ys, Zs, merge_in_gga(.(X, Xs), Ys, Zs)) 20.57/6.24 U7_gga(X, Xs, Y, Ys, Zs, merge_out_gga(.(X, Xs), Ys, Zs)) -> merge_out_gga(.(X, Xs), .(Y, Ys), .(X, Zs)) 20.57/6.24 U4_ga(X, Y, Xs, Ys, merge_out_gga(Y1s, Y2s, Ys)) -> mergesort_out_ga(.(X, .(Y, Xs)), Ys) 20.57/6.24 U2_ag(X, Y, Xs, Ys, X2s, mergesort_out_ga(X1s, Y1s)) -> U3_ag(X, Y, Xs, Ys, Y1s, mergesort_in_ga(X2s, Y2s)) 20.57/6.24 U3_ag(X, Y, Xs, Ys, Y1s, mergesort_out_ga(X2s, Y2s)) -> U4_ag(X, Y, Xs, Ys, merge_in_ggg(Y1s, Y2s, Ys)) 20.57/6.24 merge_in_ggg([], Xs, Xs) -> merge_out_ggg([], Xs, Xs) 20.57/6.24 merge_in_ggg(Xs, [], Xs) -> merge_out_ggg(Xs, [], Xs) 20.57/6.24 merge_in_ggg(.(X, Xs), .(Y, Ys), .(X, Zs)) -> U6_ggg(X, Xs, Y, Ys, Zs, =_in_aa(X, Y)) 20.57/6.24 U6_ggg(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> U7_ggg(X, Xs, Y, Ys, Zs, merge_in_ggg(.(X, Xs), Ys, Zs)) 20.57/6.24 U7_ggg(X, Xs, Y, Ys, Zs, merge_out_ggg(.(X, Xs), Ys, Zs)) -> merge_out_ggg(.(X, Xs), .(Y, Ys), .(X, Zs)) 20.57/6.24 U4_ag(X, Y, Xs, Ys, merge_out_ggg(Y1s, Y2s, Ys)) -> mergesort_out_ag(.(X, .(Y, Xs)), Ys) 20.57/6.24 20.57/6.24 The argument filtering Pi contains the following mapping: 20.57/6.24 mergesort_in_ag(x1, x2) = mergesort_in_ag(x2) 20.57/6.24 20.57/6.24 [] = [] 20.57/6.24 20.57/6.24 mergesort_out_ag(x1, x2) = mergesort_out_ag(x1, x2) 20.57/6.24 20.57/6.24 .(x1, x2) = .(x2) 20.57/6.24 20.57/6.24 U1_ag(x1, x2, x3, x4, x5) = U1_ag(x4, x5) 20.57/6.24 20.57/6.24 split_in_aaa(x1, x2, x3) = split_in_aaa 20.57/6.24 20.57/6.24 split_out_aaa(x1, x2, x3) = split_out_aaa(x1, x2, x3) 20.57/6.24 20.57/6.24 U5_aaa(x1, x2, x3, x4, x5) = U5_aaa(x5) 20.57/6.24 20.57/6.24 U2_ag(x1, x2, x3, x4, x5, x6) = U2_ag(x3, x4, x5, x6) 20.57/6.24 20.57/6.24 mergesort_in_ga(x1, x2) = mergesort_in_ga(x1) 20.57/6.24 20.57/6.24 mergesort_out_ga(x1, x2) = mergesort_out_ga(x1, x2) 20.57/6.24 20.57/6.24 U1_ga(x1, x2, x3, x4, x5) = U1_ga(x3, x5) 20.57/6.24 20.57/6.24 split_in_gaa(x1, x2, x3) = split_in_gaa(x1) 20.57/6.24 20.57/6.24 split_out_gaa(x1, x2, x3) = split_out_gaa(x1, x2, x3) 20.57/6.24 20.57/6.24 U5_gaa(x1, x2, x3, x4, x5) = U5_gaa(x2, x5) 20.57/6.24 20.57/6.24 U2_ga(x1, x2, x3, x4, x5, x6) = U2_ga(x3, x5, x6) 20.57/6.24 20.57/6.24 U3_ga(x1, x2, x3, x4, x5, x6) = U3_ga(x3, x5, x6) 20.57/6.24 20.57/6.24 U4_ga(x1, x2, x3, x4, x5) = U4_ga(x3, x5) 20.57/6.24 20.57/6.24 merge_in_gga(x1, x2, x3) = merge_in_gga(x1, x2) 20.57/6.24 20.57/6.24 merge_out_gga(x1, x2, x3) = merge_out_gga(x1, x2, x3) 20.57/6.24 20.57/6.24 U6_gga(x1, x2, x3, x4, x5, x6) = U6_gga(x2, x4, x6) 20.57/6.24 20.57/6.24 =_in_aa(x1, x2) = =_in_aa 20.57/6.24 20.57/6.24 =_out_aa(x1, x2) = =_out_aa 20.57/6.24 20.57/6.24 U7_gga(x1, x2, x3, x4, x5, x6) = U7_gga(x2, x4, x6) 20.57/6.24 20.57/6.24 U3_ag(x1, x2, x3, x4, x5, x6) = U3_ag(x3, x4, x5, x6) 20.57/6.24 20.57/6.24 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x3, x4, x5) 20.57/6.24 20.57/6.24 merge_in_ggg(x1, x2, x3) = merge_in_ggg(x1, x2, x3) 20.57/6.24 20.57/6.24 merge_out_ggg(x1, x2, x3) = merge_out_ggg(x1, x2, x3) 20.57/6.24 20.57/6.24 U6_ggg(x1, x2, x3, x4, x5, x6) = U6_ggg(x2, x4, x5, x6) 20.57/6.24 20.57/6.24 U7_ggg(x1, x2, x3, x4, x5, x6) = U7_ggg(x2, x4, x5, x6) 20.57/6.24 20.57/6.24 MERGE_IN_GGA(x1, x2, x3) = MERGE_IN_GGA(x1, x2) 20.57/6.24 20.57/6.24 U6_GGA(x1, x2, x3, x4, x5, x6) = U6_GGA(x2, x4, x6) 20.57/6.24 20.57/6.24 20.57/6.24 We have to consider all (P,R,Pi)-chains 20.57/6.24 ---------------------------------------- 20.57/6.24 20.57/6.24 (17) UsableRulesProof (EQUIVALENT) 20.57/6.24 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 20.57/6.24 ---------------------------------------- 20.57/6.24 20.57/6.24 (18) 20.57/6.24 Obligation: 20.57/6.24 Pi DP problem: 20.57/6.24 The TRS P consists of the following rules: 20.57/6.24 20.57/6.24 U6_GGA(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> MERGE_IN_GGA(.(X, Xs), Ys, Zs) 20.57/6.24 MERGE_IN_GGA(.(X, Xs), .(Y, Ys), .(X, Zs)) -> U6_GGA(X, Xs, Y, Ys, Zs, =_in_aa(X, Y)) 20.57/6.24 20.57/6.24 The TRS R consists of the following rules: 20.57/6.24 20.57/6.24 =_in_aa(X, X) -> =_out_aa(X, X) 20.57/6.24 20.57/6.24 The argument filtering Pi contains the following mapping: 20.57/6.24 .(x1, x2) = .(x2) 20.57/6.24 20.57/6.24 =_in_aa(x1, x2) = =_in_aa 20.57/6.24 20.57/6.24 =_out_aa(x1, x2) = =_out_aa 20.57/6.24 20.57/6.24 MERGE_IN_GGA(x1, x2, x3) = MERGE_IN_GGA(x1, x2) 20.57/6.24 20.57/6.24 U6_GGA(x1, x2, x3, x4, x5, x6) = U6_GGA(x2, x4, x6) 20.57/6.24 20.57/6.24 20.57/6.24 We have to consider all (P,R,Pi)-chains 20.57/6.24 ---------------------------------------- 20.57/6.24 20.57/6.24 (19) PiDPToQDPProof (SOUND) 20.57/6.24 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 20.57/6.24 ---------------------------------------- 20.57/6.24 20.57/6.24 (20) 20.57/6.24 Obligation: 20.57/6.24 Q DP problem: 20.57/6.24 The TRS P consists of the following rules: 20.57/6.24 20.57/6.24 U6_GGA(Xs, Ys, =_out_aa) -> MERGE_IN_GGA(.(Xs), Ys) 20.57/6.24 MERGE_IN_GGA(.(Xs), .(Ys)) -> U6_GGA(Xs, Ys, =_in_aa) 20.57/6.24 20.57/6.24 The TRS R consists of the following rules: 20.57/6.24 20.57/6.24 =_in_aa -> =_out_aa 20.57/6.24 20.57/6.24 The set Q consists of the following terms: 20.57/6.24 20.57/6.24 =_in_aa 20.57/6.24 20.57/6.24 We have to consider all (P,Q,R)-chains. 20.57/6.24 ---------------------------------------- 20.57/6.24 20.57/6.24 (21) QDPSizeChangeProof (EQUIVALENT) 20.57/6.24 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. 20.57/6.24 20.57/6.24 From the DPs we obtained the following set of size-change graphs: 20.57/6.24 *MERGE_IN_GGA(.(Xs), .(Ys)) -> U6_GGA(Xs, Ys, =_in_aa) 20.57/6.24 The graph contains the following edges 1 > 1, 2 > 2 20.57/6.24 20.57/6.24 20.57/6.24 *U6_GGA(Xs, Ys, =_out_aa) -> MERGE_IN_GGA(.(Xs), Ys) 20.57/6.24 The graph contains the following edges 2 >= 2 20.57/6.24 20.57/6.24 20.57/6.24 ---------------------------------------- 20.57/6.24 20.57/6.24 (22) 20.57/6.24 YES 20.57/6.24 20.57/6.24 ---------------------------------------- 20.57/6.24 20.57/6.24 (23) 20.57/6.24 Obligation: 20.57/6.24 Pi DP problem: 20.57/6.24 The TRS P consists of the following rules: 20.57/6.24 20.57/6.24 SPLIT_IN_GAA(.(X, Xs), .(X, Ys), Zs) -> SPLIT_IN_GAA(Xs, Zs, Ys) 20.57/6.24 20.57/6.24 The TRS R consists of the following rules: 20.57/6.24 20.57/6.24 mergesort_in_ag([], []) -> mergesort_out_ag([], []) 20.57/6.24 mergesort_in_ag(.(X, []), .(X, [])) -> mergesort_out_ag(.(X, []), .(X, [])) 20.57/6.24 mergesort_in_ag(.(X, .(Y, Xs)), Ys) -> U1_ag(X, Y, Xs, Ys, split_in_aaa(.(X, .(Y, Xs)), X1s, X2s)) 20.57/6.24 split_in_aaa([], [], []) -> split_out_aaa([], [], []) 20.57/6.24 split_in_aaa(.(X, Xs), .(X, Ys), Zs) -> U5_aaa(X, Xs, Ys, Zs, split_in_aaa(Xs, Zs, Ys)) 20.57/6.24 U5_aaa(X, Xs, Ys, Zs, split_out_aaa(Xs, Zs, Ys)) -> split_out_aaa(.(X, Xs), .(X, Ys), Zs) 20.57/6.24 U1_ag(X, Y, Xs, Ys, split_out_aaa(.(X, .(Y, Xs)), X1s, X2s)) -> U2_ag(X, Y, Xs, Ys, X2s, mergesort_in_ga(X1s, Y1s)) 20.57/6.24 mergesort_in_ga([], []) -> mergesort_out_ga([], []) 20.57/6.24 mergesort_in_ga(.(X, []), .(X, [])) -> mergesort_out_ga(.(X, []), .(X, [])) 20.57/6.24 mergesort_in_ga(.(X, .(Y, Xs)), Ys) -> U1_ga(X, Y, Xs, Ys, split_in_gaa(.(X, .(Y, Xs)), X1s, X2s)) 20.57/6.24 split_in_gaa([], [], []) -> split_out_gaa([], [], []) 20.57/6.24 split_in_gaa(.(X, Xs), .(X, Ys), Zs) -> U5_gaa(X, Xs, Ys, Zs, split_in_gaa(Xs, Zs, Ys)) 20.57/6.24 U5_gaa(X, Xs, Ys, Zs, split_out_gaa(Xs, Zs, Ys)) -> split_out_gaa(.(X, Xs), .(X, Ys), Zs) 20.57/6.24 U1_ga(X, Y, Xs, Ys, split_out_gaa(.(X, .(Y, Xs)), X1s, X2s)) -> U2_ga(X, Y, Xs, Ys, X2s, mergesort_in_ga(X1s, Y1s)) 20.57/6.24 U2_ga(X, Y, Xs, Ys, X2s, mergesort_out_ga(X1s, Y1s)) -> U3_ga(X, Y, Xs, Ys, Y1s, mergesort_in_ga(X2s, Y2s)) 20.57/6.24 U3_ga(X, Y, Xs, Ys, Y1s, mergesort_out_ga(X2s, Y2s)) -> U4_ga(X, Y, Xs, Ys, merge_in_gga(Y1s, Y2s, Ys)) 20.57/6.24 merge_in_gga([], Xs, Xs) -> merge_out_gga([], Xs, Xs) 20.57/6.24 merge_in_gga(Xs, [], Xs) -> merge_out_gga(Xs, [], Xs) 20.57/6.24 merge_in_gga(.(X, Xs), .(Y, Ys), .(X, Zs)) -> U6_gga(X, Xs, Y, Ys, Zs, =_in_aa(X, Y)) 20.57/6.24 =_in_aa(X, X) -> =_out_aa(X, X) 20.57/6.24 U6_gga(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> U7_gga(X, Xs, Y, Ys, Zs, merge_in_gga(.(X, Xs), Ys, Zs)) 20.57/6.24 U7_gga(X, Xs, Y, Ys, Zs, merge_out_gga(.(X, Xs), Ys, Zs)) -> merge_out_gga(.(X, Xs), .(Y, Ys), .(X, Zs)) 20.57/6.24 U4_ga(X, Y, Xs, Ys, merge_out_gga(Y1s, Y2s, Ys)) -> mergesort_out_ga(.(X, .(Y, Xs)), Ys) 20.57/6.24 U2_ag(X, Y, Xs, Ys, X2s, mergesort_out_ga(X1s, Y1s)) -> U3_ag(X, Y, Xs, Ys, Y1s, mergesort_in_ga(X2s, Y2s)) 20.57/6.24 U3_ag(X, Y, Xs, Ys, Y1s, mergesort_out_ga(X2s, Y2s)) -> U4_ag(X, Y, Xs, Ys, merge_in_ggg(Y1s, Y2s, Ys)) 20.57/6.24 merge_in_ggg([], Xs, Xs) -> merge_out_ggg([], Xs, Xs) 20.57/6.24 merge_in_ggg(Xs, [], Xs) -> merge_out_ggg(Xs, [], Xs) 20.57/6.24 merge_in_ggg(.(X, Xs), .(Y, Ys), .(X, Zs)) -> U6_ggg(X, Xs, Y, Ys, Zs, =_in_aa(X, Y)) 20.57/6.24 U6_ggg(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> U7_ggg(X, Xs, Y, Ys, Zs, merge_in_ggg(.(X, Xs), Ys, Zs)) 20.57/6.24 U7_ggg(X, Xs, Y, Ys, Zs, merge_out_ggg(.(X, Xs), Ys, Zs)) -> merge_out_ggg(.(X, Xs), .(Y, Ys), .(X, Zs)) 20.57/6.24 U4_ag(X, Y, Xs, Ys, merge_out_ggg(Y1s, Y2s, Ys)) -> mergesort_out_ag(.(X, .(Y, Xs)), Ys) 20.57/6.24 20.57/6.24 The argument filtering Pi contains the following mapping: 20.57/6.24 mergesort_in_ag(x1, x2) = mergesort_in_ag(x2) 20.57/6.24 20.57/6.24 [] = [] 20.57/6.24 20.57/6.24 mergesort_out_ag(x1, x2) = mergesort_out_ag(x1, x2) 20.57/6.24 20.57/6.24 .(x1, x2) = .(x2) 20.57/6.24 20.57/6.24 U1_ag(x1, x2, x3, x4, x5) = U1_ag(x4, x5) 20.57/6.24 20.57/6.24 split_in_aaa(x1, x2, x3) = split_in_aaa 20.57/6.24 20.57/6.24 split_out_aaa(x1, x2, x3) = split_out_aaa(x1, x2, x3) 20.57/6.24 20.57/6.24 U5_aaa(x1, x2, x3, x4, x5) = U5_aaa(x5) 20.57/6.24 20.57/6.24 U2_ag(x1, x2, x3, x4, x5, x6) = U2_ag(x3, x4, x5, x6) 20.57/6.24 20.57/6.24 mergesort_in_ga(x1, x2) = mergesort_in_ga(x1) 20.57/6.24 20.57/6.24 mergesort_out_ga(x1, x2) = mergesort_out_ga(x1, x2) 20.57/6.24 20.57/6.24 U1_ga(x1, x2, x3, x4, x5) = U1_ga(x3, x5) 20.57/6.24 20.57/6.24 split_in_gaa(x1, x2, x3) = split_in_gaa(x1) 20.57/6.24 20.57/6.24 split_out_gaa(x1, x2, x3) = split_out_gaa(x1, x2, x3) 20.57/6.24 20.57/6.24 U5_gaa(x1, x2, x3, x4, x5) = U5_gaa(x2, x5) 20.57/6.24 20.57/6.24 U2_ga(x1, x2, x3, x4, x5, x6) = U2_ga(x3, x5, x6) 20.57/6.24 20.57/6.24 U3_ga(x1, x2, x3, x4, x5, x6) = U3_ga(x3, x5, x6) 20.57/6.24 20.57/6.24 U4_ga(x1, x2, x3, x4, x5) = U4_ga(x3, x5) 20.57/6.24 20.57/6.24 merge_in_gga(x1, x2, x3) = merge_in_gga(x1, x2) 20.57/6.24 20.57/6.24 merge_out_gga(x1, x2, x3) = merge_out_gga(x1, x2, x3) 20.57/6.24 20.57/6.24 U6_gga(x1, x2, x3, x4, x5, x6) = U6_gga(x2, x4, x6) 20.57/6.24 20.57/6.24 =_in_aa(x1, x2) = =_in_aa 20.57/6.24 20.57/6.24 =_out_aa(x1, x2) = =_out_aa 20.57/6.24 20.57/6.24 U7_gga(x1, x2, x3, x4, x5, x6) = U7_gga(x2, x4, x6) 20.57/6.24 20.57/6.24 U3_ag(x1, x2, x3, x4, x5, x6) = U3_ag(x3, x4, x5, x6) 20.57/6.24 20.57/6.24 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x3, x4, x5) 20.57/6.24 20.57/6.24 merge_in_ggg(x1, x2, x3) = merge_in_ggg(x1, x2, x3) 20.57/6.24 20.57/6.24 merge_out_ggg(x1, x2, x3) = merge_out_ggg(x1, x2, x3) 20.57/6.24 20.57/6.24 U6_ggg(x1, x2, x3, x4, x5, x6) = U6_ggg(x2, x4, x5, x6) 20.57/6.24 20.57/6.24 U7_ggg(x1, x2, x3, x4, x5, x6) = U7_ggg(x2, x4, x5, x6) 20.57/6.24 20.57/6.24 SPLIT_IN_GAA(x1, x2, x3) = SPLIT_IN_GAA(x1) 20.57/6.24 20.57/6.24 20.57/6.24 We have to consider all (P,R,Pi)-chains 20.57/6.24 ---------------------------------------- 20.57/6.24 20.57/6.24 (24) UsableRulesProof (EQUIVALENT) 20.57/6.24 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 20.57/6.24 ---------------------------------------- 20.57/6.24 20.57/6.24 (25) 20.57/6.24 Obligation: 20.57/6.24 Pi DP problem: 20.57/6.24 The TRS P consists of the following rules: 20.57/6.24 20.57/6.24 SPLIT_IN_GAA(.(X, Xs), .(X, Ys), Zs) -> SPLIT_IN_GAA(Xs, Zs, Ys) 20.57/6.24 20.57/6.24 R is empty. 20.57/6.24 The argument filtering Pi contains the following mapping: 20.57/6.24 .(x1, x2) = .(x2) 20.57/6.24 20.57/6.24 SPLIT_IN_GAA(x1, x2, x3) = SPLIT_IN_GAA(x1) 20.57/6.24 20.57/6.24 20.57/6.24 We have to consider all (P,R,Pi)-chains 20.57/6.24 ---------------------------------------- 20.57/6.24 20.57/6.24 (26) PiDPToQDPProof (SOUND) 20.57/6.24 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 20.57/6.24 ---------------------------------------- 20.57/6.24 20.57/6.24 (27) 20.57/6.24 Obligation: 20.57/6.24 Q DP problem: 20.57/6.24 The TRS P consists of the following rules: 20.57/6.24 20.57/6.24 SPLIT_IN_GAA(.(Xs)) -> SPLIT_IN_GAA(Xs) 20.57/6.24 20.57/6.24 R is empty. 20.57/6.24 Q is empty. 20.57/6.24 We have to consider all (P,Q,R)-chains. 20.57/6.24 ---------------------------------------- 20.57/6.24 20.57/6.24 (28) QDPSizeChangeProof (EQUIVALENT) 20.57/6.24 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. 20.57/6.24 20.57/6.24 From the DPs we obtained the following set of size-change graphs: 20.57/6.24 *SPLIT_IN_GAA(.(Xs)) -> SPLIT_IN_GAA(Xs) 20.57/6.24 The graph contains the following edges 1 > 1 20.57/6.24 20.57/6.24 20.57/6.24 ---------------------------------------- 20.57/6.24 20.57/6.24 (29) 20.57/6.24 YES 20.57/6.24 20.57/6.24 ---------------------------------------- 20.57/6.24 20.57/6.24 (30) 20.57/6.24 Obligation: 20.57/6.24 Pi DP problem: 20.57/6.24 The TRS P consists of the following rules: 20.57/6.24 20.57/6.24 U1_GA(X, Y, Xs, Ys, split_out_gaa(.(X, .(Y, Xs)), X1s, X2s)) -> U2_GA(X, Y, Xs, Ys, X2s, mergesort_in_ga(X1s, Y1s)) 20.57/6.24 U2_GA(X, Y, Xs, Ys, X2s, mergesort_out_ga(X1s, Y1s)) -> MERGESORT_IN_GA(X2s, Y2s) 20.57/6.25 MERGESORT_IN_GA(.(X, .(Y, Xs)), Ys) -> U1_GA(X, Y, Xs, Ys, split_in_gaa(.(X, .(Y, Xs)), X1s, X2s)) 20.57/6.25 U1_GA(X, Y, Xs, Ys, split_out_gaa(.(X, .(Y, Xs)), X1s, X2s)) -> MERGESORT_IN_GA(X1s, Y1s) 20.57/6.25 20.57/6.25 The TRS R consists of the following rules: 20.57/6.25 20.57/6.25 mergesort_in_ag([], []) -> mergesort_out_ag([], []) 20.57/6.25 mergesort_in_ag(.(X, []), .(X, [])) -> mergesort_out_ag(.(X, []), .(X, [])) 20.57/6.25 mergesort_in_ag(.(X, .(Y, Xs)), Ys) -> U1_ag(X, Y, Xs, Ys, split_in_aaa(.(X, .(Y, Xs)), X1s, X2s)) 20.57/6.25 split_in_aaa([], [], []) -> split_out_aaa([], [], []) 20.57/6.25 split_in_aaa(.(X, Xs), .(X, Ys), Zs) -> U5_aaa(X, Xs, Ys, Zs, split_in_aaa(Xs, Zs, Ys)) 20.57/6.25 U5_aaa(X, Xs, Ys, Zs, split_out_aaa(Xs, Zs, Ys)) -> split_out_aaa(.(X, Xs), .(X, Ys), Zs) 20.57/6.25 U1_ag(X, Y, Xs, Ys, split_out_aaa(.(X, .(Y, Xs)), X1s, X2s)) -> U2_ag(X, Y, Xs, Ys, X2s, mergesort_in_ga(X1s, Y1s)) 20.57/6.25 mergesort_in_ga([], []) -> mergesort_out_ga([], []) 20.57/6.25 mergesort_in_ga(.(X, []), .(X, [])) -> mergesort_out_ga(.(X, []), .(X, [])) 20.57/6.25 mergesort_in_ga(.(X, .(Y, Xs)), Ys) -> U1_ga(X, Y, Xs, Ys, split_in_gaa(.(X, .(Y, Xs)), X1s, X2s)) 20.57/6.25 split_in_gaa([], [], []) -> split_out_gaa([], [], []) 20.57/6.25 split_in_gaa(.(X, Xs), .(X, Ys), Zs) -> U5_gaa(X, Xs, Ys, Zs, split_in_gaa(Xs, Zs, Ys)) 20.57/6.25 U5_gaa(X, Xs, Ys, Zs, split_out_gaa(Xs, Zs, Ys)) -> split_out_gaa(.(X, Xs), .(X, Ys), Zs) 20.57/6.25 U1_ga(X, Y, Xs, Ys, split_out_gaa(.(X, .(Y, Xs)), X1s, X2s)) -> U2_ga(X, Y, Xs, Ys, X2s, mergesort_in_ga(X1s, Y1s)) 20.57/6.25 U2_ga(X, Y, Xs, Ys, X2s, mergesort_out_ga(X1s, Y1s)) -> U3_ga(X, Y, Xs, Ys, Y1s, mergesort_in_ga(X2s, Y2s)) 20.57/6.25 U3_ga(X, Y, Xs, Ys, Y1s, mergesort_out_ga(X2s, Y2s)) -> U4_ga(X, Y, Xs, Ys, merge_in_gga(Y1s, Y2s, Ys)) 20.57/6.25 merge_in_gga([], Xs, Xs) -> merge_out_gga([], Xs, Xs) 20.57/6.25 merge_in_gga(Xs, [], Xs) -> merge_out_gga(Xs, [], Xs) 20.57/6.25 merge_in_gga(.(X, Xs), .(Y, Ys), .(X, Zs)) -> U6_gga(X, Xs, Y, Ys, Zs, =_in_aa(X, Y)) 20.57/6.25 =_in_aa(X, X) -> =_out_aa(X, X) 20.57/6.25 U6_gga(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> U7_gga(X, Xs, Y, Ys, Zs, merge_in_gga(.(X, Xs), Ys, Zs)) 20.57/6.25 U7_gga(X, Xs, Y, Ys, Zs, merge_out_gga(.(X, Xs), Ys, Zs)) -> merge_out_gga(.(X, Xs), .(Y, Ys), .(X, Zs)) 20.57/6.25 U4_ga(X, Y, Xs, Ys, merge_out_gga(Y1s, Y2s, Ys)) -> mergesort_out_ga(.(X, .(Y, Xs)), Ys) 20.57/6.25 U2_ag(X, Y, Xs, Ys, X2s, mergesort_out_ga(X1s, Y1s)) -> U3_ag(X, Y, Xs, Ys, Y1s, mergesort_in_ga(X2s, Y2s)) 20.57/6.25 U3_ag(X, Y, Xs, Ys, Y1s, mergesort_out_ga(X2s, Y2s)) -> U4_ag(X, Y, Xs, Ys, merge_in_ggg(Y1s, Y2s, Ys)) 20.57/6.25 merge_in_ggg([], Xs, Xs) -> merge_out_ggg([], Xs, Xs) 20.57/6.25 merge_in_ggg(Xs, [], Xs) -> merge_out_ggg(Xs, [], Xs) 20.57/6.25 merge_in_ggg(.(X, Xs), .(Y, Ys), .(X, Zs)) -> U6_ggg(X, Xs, Y, Ys, Zs, =_in_aa(X, Y)) 20.57/6.25 U6_ggg(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> U7_ggg(X, Xs, Y, Ys, Zs, merge_in_ggg(.(X, Xs), Ys, Zs)) 20.57/6.25 U7_ggg(X, Xs, Y, Ys, Zs, merge_out_ggg(.(X, Xs), Ys, Zs)) -> merge_out_ggg(.(X, Xs), .(Y, Ys), .(X, Zs)) 20.57/6.25 U4_ag(X, Y, Xs, Ys, merge_out_ggg(Y1s, Y2s, Ys)) -> mergesort_out_ag(.(X, .(Y, Xs)), Ys) 20.57/6.25 20.57/6.25 The argument filtering Pi contains the following mapping: 20.57/6.25 mergesort_in_ag(x1, x2) = mergesort_in_ag(x2) 20.57/6.25 20.57/6.25 [] = [] 20.57/6.25 20.57/6.25 mergesort_out_ag(x1, x2) = mergesort_out_ag(x1, x2) 20.57/6.25 20.57/6.25 .(x1, x2) = .(x2) 20.57/6.25 20.57/6.25 U1_ag(x1, x2, x3, x4, x5) = U1_ag(x4, x5) 20.57/6.25 20.57/6.25 split_in_aaa(x1, x2, x3) = split_in_aaa 20.57/6.25 20.57/6.25 split_out_aaa(x1, x2, x3) = split_out_aaa(x1, x2, x3) 20.57/6.25 20.57/6.25 U5_aaa(x1, x2, x3, x4, x5) = U5_aaa(x5) 20.57/6.25 20.57/6.25 U2_ag(x1, x2, x3, x4, x5, x6) = U2_ag(x3, x4, x5, x6) 20.57/6.25 20.57/6.25 mergesort_in_ga(x1, x2) = mergesort_in_ga(x1) 20.57/6.25 20.57/6.25 mergesort_out_ga(x1, x2) = mergesort_out_ga(x1, x2) 20.57/6.25 20.57/6.25 U1_ga(x1, x2, x3, x4, x5) = U1_ga(x3, x5) 20.57/6.25 20.57/6.25 split_in_gaa(x1, x2, x3) = split_in_gaa(x1) 20.57/6.25 20.57/6.25 split_out_gaa(x1, x2, x3) = split_out_gaa(x1, x2, x3) 20.57/6.25 20.57/6.25 U5_gaa(x1, x2, x3, x4, x5) = U5_gaa(x2, x5) 20.57/6.25 20.57/6.25 U2_ga(x1, x2, x3, x4, x5, x6) = U2_ga(x3, x5, x6) 20.57/6.25 20.57/6.25 U3_ga(x1, x2, x3, x4, x5, x6) = U3_ga(x3, x5, x6) 20.57/6.25 20.57/6.25 U4_ga(x1, x2, x3, x4, x5) = U4_ga(x3, x5) 20.57/6.25 20.57/6.25 merge_in_gga(x1, x2, x3) = merge_in_gga(x1, x2) 20.57/6.25 20.57/6.25 merge_out_gga(x1, x2, x3) = merge_out_gga(x1, x2, x3) 20.57/6.25 20.57/6.25 U6_gga(x1, x2, x3, x4, x5, x6) = U6_gga(x2, x4, x6) 20.57/6.25 20.57/6.25 =_in_aa(x1, x2) = =_in_aa 20.57/6.25 20.57/6.25 =_out_aa(x1, x2) = =_out_aa 20.57/6.25 20.57/6.25 U7_gga(x1, x2, x3, x4, x5, x6) = U7_gga(x2, x4, x6) 20.57/6.25 20.57/6.25 U3_ag(x1, x2, x3, x4, x5, x6) = U3_ag(x3, x4, x5, x6) 20.57/6.25 20.57/6.25 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x3, x4, x5) 20.57/6.25 20.57/6.25 merge_in_ggg(x1, x2, x3) = merge_in_ggg(x1, x2, x3) 20.57/6.25 20.57/6.25 merge_out_ggg(x1, x2, x3) = merge_out_ggg(x1, x2, x3) 20.57/6.25 20.57/6.25 U6_ggg(x1, x2, x3, x4, x5, x6) = U6_ggg(x2, x4, x5, x6) 20.57/6.25 20.57/6.25 U7_ggg(x1, x2, x3, x4, x5, x6) = U7_ggg(x2, x4, x5, x6) 20.57/6.25 20.57/6.25 MERGESORT_IN_GA(x1, x2) = MERGESORT_IN_GA(x1) 20.57/6.25 20.57/6.25 U1_GA(x1, x2, x3, x4, x5) = U1_GA(x3, x5) 20.57/6.25 20.57/6.25 U2_GA(x1, x2, x3, x4, x5, x6) = U2_GA(x3, x5, x6) 20.57/6.25 20.57/6.25 20.57/6.25 We have to consider all (P,R,Pi)-chains 20.57/6.25 ---------------------------------------- 20.57/6.25 20.57/6.25 (31) UsableRulesProof (EQUIVALENT) 20.57/6.25 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 20.57/6.25 ---------------------------------------- 20.57/6.25 20.57/6.25 (32) 20.57/6.25 Obligation: 20.57/6.25 Pi DP problem: 20.57/6.25 The TRS P consists of the following rules: 20.57/6.25 20.57/6.25 U1_GA(X, Y, Xs, Ys, split_out_gaa(.(X, .(Y, Xs)), X1s, X2s)) -> U2_GA(X, Y, Xs, Ys, X2s, mergesort_in_ga(X1s, Y1s)) 20.57/6.25 U2_GA(X, Y, Xs, Ys, X2s, mergesort_out_ga(X1s, Y1s)) -> MERGESORT_IN_GA(X2s, Y2s) 20.57/6.25 MERGESORT_IN_GA(.(X, .(Y, Xs)), Ys) -> U1_GA(X, Y, Xs, Ys, split_in_gaa(.(X, .(Y, Xs)), X1s, X2s)) 20.57/6.25 U1_GA(X, Y, Xs, Ys, split_out_gaa(.(X, .(Y, Xs)), X1s, X2s)) -> MERGESORT_IN_GA(X1s, Y1s) 20.57/6.25 20.57/6.25 The TRS R consists of the following rules: 20.57/6.25 20.57/6.25 mergesort_in_ga([], []) -> mergesort_out_ga([], []) 20.57/6.25 mergesort_in_ga(.(X, []), .(X, [])) -> mergesort_out_ga(.(X, []), .(X, [])) 20.57/6.25 mergesort_in_ga(.(X, .(Y, Xs)), Ys) -> U1_ga(X, Y, Xs, Ys, split_in_gaa(.(X, .(Y, Xs)), X1s, X2s)) 20.57/6.25 split_in_gaa(.(X, Xs), .(X, Ys), Zs) -> U5_gaa(X, Xs, Ys, Zs, split_in_gaa(Xs, Zs, Ys)) 20.57/6.25 U1_ga(X, Y, Xs, Ys, split_out_gaa(.(X, .(Y, Xs)), X1s, X2s)) -> U2_ga(X, Y, Xs, Ys, X2s, mergesort_in_ga(X1s, Y1s)) 20.57/6.25 U5_gaa(X, Xs, Ys, Zs, split_out_gaa(Xs, Zs, Ys)) -> split_out_gaa(.(X, Xs), .(X, Ys), Zs) 20.57/6.25 U2_ga(X, Y, Xs, Ys, X2s, mergesort_out_ga(X1s, Y1s)) -> U3_ga(X, Y, Xs, Ys, Y1s, mergesort_in_ga(X2s, Y2s)) 20.57/6.25 split_in_gaa([], [], []) -> split_out_gaa([], [], []) 20.57/6.25 U3_ga(X, Y, Xs, Ys, Y1s, mergesort_out_ga(X2s, Y2s)) -> U4_ga(X, Y, Xs, Ys, merge_in_gga(Y1s, Y2s, Ys)) 20.57/6.25 U4_ga(X, Y, Xs, Ys, merge_out_gga(Y1s, Y2s, Ys)) -> mergesort_out_ga(.(X, .(Y, Xs)), Ys) 20.57/6.25 merge_in_gga([], Xs, Xs) -> merge_out_gga([], Xs, Xs) 20.57/6.25 merge_in_gga(Xs, [], Xs) -> merge_out_gga(Xs, [], Xs) 20.57/6.25 merge_in_gga(.(X, Xs), .(Y, Ys), .(X, Zs)) -> U6_gga(X, Xs, Y, Ys, Zs, =_in_aa(X, Y)) 20.57/6.25 U6_gga(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> U7_gga(X, Xs, Y, Ys, Zs, merge_in_gga(.(X, Xs), Ys, Zs)) 20.57/6.25 =_in_aa(X, X) -> =_out_aa(X, X) 20.57/6.25 U7_gga(X, Xs, Y, Ys, Zs, merge_out_gga(.(X, Xs), Ys, Zs)) -> merge_out_gga(.(X, Xs), .(Y, Ys), .(X, Zs)) 20.57/6.25 20.57/6.25 The argument filtering Pi contains the following mapping: 20.57/6.25 [] = [] 20.57/6.25 20.57/6.25 .(x1, x2) = .(x2) 20.57/6.25 20.57/6.25 mergesort_in_ga(x1, x2) = mergesort_in_ga(x1) 20.57/6.25 20.57/6.25 mergesort_out_ga(x1, x2) = mergesort_out_ga(x1, x2) 20.57/6.25 20.57/6.25 U1_ga(x1, x2, x3, x4, x5) = U1_ga(x3, x5) 20.57/6.25 20.57/6.25 split_in_gaa(x1, x2, x3) = split_in_gaa(x1) 20.57/6.25 20.57/6.25 split_out_gaa(x1, x2, x3) = split_out_gaa(x1, x2, x3) 20.57/6.25 20.57/6.25 U5_gaa(x1, x2, x3, x4, x5) = U5_gaa(x2, x5) 20.57/6.25 20.57/6.25 U2_ga(x1, x2, x3, x4, x5, x6) = U2_ga(x3, x5, x6) 20.57/6.25 20.57/6.25 U3_ga(x1, x2, x3, x4, x5, x6) = U3_ga(x3, x5, x6) 20.57/6.25 20.57/6.25 U4_ga(x1, x2, x3, x4, x5) = U4_ga(x3, x5) 20.57/6.25 20.57/6.25 merge_in_gga(x1, x2, x3) = merge_in_gga(x1, x2) 20.57/6.25 20.57/6.25 merge_out_gga(x1, x2, x3) = merge_out_gga(x1, x2, x3) 20.57/6.25 20.57/6.25 U6_gga(x1, x2, x3, x4, x5, x6) = U6_gga(x2, x4, x6) 20.57/6.25 20.57/6.25 =_in_aa(x1, x2) = =_in_aa 20.57/6.25 20.57/6.25 =_out_aa(x1, x2) = =_out_aa 20.57/6.25 20.57/6.25 U7_gga(x1, x2, x3, x4, x5, x6) = U7_gga(x2, x4, x6) 20.57/6.25 20.57/6.25 MERGESORT_IN_GA(x1, x2) = MERGESORT_IN_GA(x1) 20.57/6.25 20.57/6.25 U1_GA(x1, x2, x3, x4, x5) = U1_GA(x3, x5) 20.57/6.25 20.57/6.25 U2_GA(x1, x2, x3, x4, x5, x6) = U2_GA(x3, x5, x6) 20.57/6.25 20.57/6.25 20.57/6.25 We have to consider all (P,R,Pi)-chains 20.57/6.25 ---------------------------------------- 20.57/6.25 20.57/6.25 (33) PiDPToQDPProof (SOUND) 20.57/6.25 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 20.57/6.25 ---------------------------------------- 20.57/6.25 20.57/6.25 (34) 20.57/6.25 Obligation: 20.57/6.25 Q DP problem: 20.57/6.25 The TRS P consists of the following rules: 20.57/6.25 20.57/6.25 U1_GA(Xs, split_out_gaa(.(.(Xs)), X1s, X2s)) -> U2_GA(Xs, X2s, mergesort_in_ga(X1s)) 20.57/6.25 U2_GA(Xs, X2s, mergesort_out_ga(X1s, Y1s)) -> MERGESORT_IN_GA(X2s) 20.57/6.25 MERGESORT_IN_GA(.(.(Xs))) -> U1_GA(Xs, split_in_gaa(.(.(Xs)))) 20.57/6.25 U1_GA(Xs, split_out_gaa(.(.(Xs)), X1s, X2s)) -> MERGESORT_IN_GA(X1s) 20.57/6.25 20.57/6.25 The TRS R consists of the following rules: 20.57/6.25 20.57/6.25 mergesort_in_ga([]) -> mergesort_out_ga([], []) 20.57/6.25 mergesort_in_ga(.([])) -> mergesort_out_ga(.([]), .([])) 20.57/6.25 mergesort_in_ga(.(.(Xs))) -> U1_ga(Xs, split_in_gaa(.(.(Xs)))) 20.57/6.25 split_in_gaa(.(Xs)) -> U5_gaa(Xs, split_in_gaa(Xs)) 20.57/6.25 U1_ga(Xs, split_out_gaa(.(.(Xs)), X1s, X2s)) -> U2_ga(Xs, X2s, mergesort_in_ga(X1s)) 20.57/6.25 U5_gaa(Xs, split_out_gaa(Xs, Zs, Ys)) -> split_out_gaa(.(Xs), .(Ys), Zs) 20.57/6.25 U2_ga(Xs, X2s, mergesort_out_ga(X1s, Y1s)) -> U3_ga(Xs, Y1s, mergesort_in_ga(X2s)) 20.57/6.25 split_in_gaa([]) -> split_out_gaa([], [], []) 20.57/6.25 U3_ga(Xs, Y1s, mergesort_out_ga(X2s, Y2s)) -> U4_ga(Xs, merge_in_gga(Y1s, Y2s)) 20.57/6.25 U4_ga(Xs, merge_out_gga(Y1s, Y2s, Ys)) -> mergesort_out_ga(.(.(Xs)), Ys) 20.57/6.25 merge_in_gga([], Xs) -> merge_out_gga([], Xs, Xs) 20.57/6.25 merge_in_gga(Xs, []) -> merge_out_gga(Xs, [], Xs) 20.57/6.25 merge_in_gga(.(Xs), .(Ys)) -> U6_gga(Xs, Ys, =_in_aa) 20.57/6.25 U6_gga(Xs, Ys, =_out_aa) -> U7_gga(Xs, Ys, merge_in_gga(.(Xs), Ys)) 20.57/6.25 =_in_aa -> =_out_aa 20.57/6.25 U7_gga(Xs, Ys, merge_out_gga(.(Xs), Ys, Zs)) -> merge_out_gga(.(Xs), .(Ys), .(Zs)) 20.57/6.25 20.57/6.25 The set Q consists of the following terms: 20.57/6.25 20.57/6.25 mergesort_in_ga(x0) 20.57/6.25 split_in_gaa(x0) 20.57/6.25 U1_ga(x0, x1) 20.57/6.25 U5_gaa(x0, x1) 20.57/6.25 U2_ga(x0, x1, x2) 20.57/6.25 U3_ga(x0, x1, x2) 20.57/6.25 U4_ga(x0, x1) 20.57/6.25 merge_in_gga(x0, x1) 20.57/6.25 U6_gga(x0, x1, x2) 20.57/6.25 =_in_aa 20.57/6.25 U7_gga(x0, x1, x2) 20.57/6.25 20.57/6.25 We have to consider all (P,Q,R)-chains. 20.57/6.25 ---------------------------------------- 20.57/6.25 20.57/6.25 (35) TransformationProof (EQUIVALENT) 20.57/6.25 By rewriting [LPAR04] the rule MERGESORT_IN_GA(.(.(Xs))) -> U1_GA(Xs, split_in_gaa(.(.(Xs)))) at position [1] we obtained the following new rules [LPAR04]: 20.57/6.25 20.57/6.25 (MERGESORT_IN_GA(.(.(Xs))) -> U1_GA(Xs, U5_gaa(.(Xs), split_in_gaa(.(Xs)))),MERGESORT_IN_GA(.(.(Xs))) -> U1_GA(Xs, U5_gaa(.(Xs), split_in_gaa(.(Xs))))) 20.57/6.25 20.57/6.25 20.57/6.25 ---------------------------------------- 20.57/6.25 20.57/6.25 (36) 20.57/6.25 Obligation: 20.57/6.25 Q DP problem: 20.57/6.25 The TRS P consists of the following rules: 20.57/6.25 20.57/6.25 U1_GA(Xs, split_out_gaa(.(.(Xs)), X1s, X2s)) -> U2_GA(Xs, X2s, mergesort_in_ga(X1s)) 20.57/6.25 U2_GA(Xs, X2s, mergesort_out_ga(X1s, Y1s)) -> MERGESORT_IN_GA(X2s) 20.57/6.25 U1_GA(Xs, split_out_gaa(.(.(Xs)), X1s, X2s)) -> MERGESORT_IN_GA(X1s) 20.57/6.25 MERGESORT_IN_GA(.(.(Xs))) -> U1_GA(Xs, U5_gaa(.(Xs), split_in_gaa(.(Xs)))) 20.57/6.25 20.57/6.25 The TRS R consists of the following rules: 20.57/6.25 20.57/6.25 mergesort_in_ga([]) -> mergesort_out_ga([], []) 20.57/6.25 mergesort_in_ga(.([])) -> mergesort_out_ga(.([]), .([])) 20.57/6.25 mergesort_in_ga(.(.(Xs))) -> U1_ga(Xs, split_in_gaa(.(.(Xs)))) 20.57/6.25 split_in_gaa(.(Xs)) -> U5_gaa(Xs, split_in_gaa(Xs)) 20.57/6.25 U1_ga(Xs, split_out_gaa(.(.(Xs)), X1s, X2s)) -> U2_ga(Xs, X2s, mergesort_in_ga(X1s)) 20.57/6.25 U5_gaa(Xs, split_out_gaa(Xs, Zs, Ys)) -> split_out_gaa(.(Xs), .(Ys), Zs) 20.57/6.25 U2_ga(Xs, X2s, mergesort_out_ga(X1s, Y1s)) -> U3_ga(Xs, Y1s, mergesort_in_ga(X2s)) 20.57/6.25 split_in_gaa([]) -> split_out_gaa([], [], []) 20.57/6.25 U3_ga(Xs, Y1s, mergesort_out_ga(X2s, Y2s)) -> U4_ga(Xs, merge_in_gga(Y1s, Y2s)) 20.57/6.25 U4_ga(Xs, merge_out_gga(Y1s, Y2s, Ys)) -> mergesort_out_ga(.(.(Xs)), Ys) 20.57/6.25 merge_in_gga([], Xs) -> merge_out_gga([], Xs, Xs) 20.57/6.25 merge_in_gga(Xs, []) -> merge_out_gga(Xs, [], Xs) 20.57/6.25 merge_in_gga(.(Xs), .(Ys)) -> U6_gga(Xs, Ys, =_in_aa) 20.57/6.25 U6_gga(Xs, Ys, =_out_aa) -> U7_gga(Xs, Ys, merge_in_gga(.(Xs), Ys)) 20.57/6.25 =_in_aa -> =_out_aa 20.57/6.25 U7_gga(Xs, Ys, merge_out_gga(.(Xs), Ys, Zs)) -> merge_out_gga(.(Xs), .(Ys), .(Zs)) 20.57/6.25 20.57/6.25 The set Q consists of the following terms: 20.57/6.25 20.57/6.25 mergesort_in_ga(x0) 20.57/6.25 split_in_gaa(x0) 20.57/6.25 U1_ga(x0, x1) 20.57/6.25 U5_gaa(x0, x1) 20.57/6.25 U2_ga(x0, x1, x2) 20.57/6.25 U3_ga(x0, x1, x2) 20.57/6.25 U4_ga(x0, x1) 20.57/6.25 merge_in_gga(x0, x1) 20.57/6.25 U6_gga(x0, x1, x2) 20.57/6.25 =_in_aa 20.57/6.25 U7_gga(x0, x1, x2) 20.57/6.25 20.57/6.25 We have to consider all (P,Q,R)-chains. 20.57/6.25 ---------------------------------------- 20.57/6.25 20.57/6.25 (37) TransformationProof (EQUIVALENT) 20.57/6.25 By rewriting [LPAR04] the rule MERGESORT_IN_GA(.(.(Xs))) -> U1_GA(Xs, U5_gaa(.(Xs), split_in_gaa(.(Xs)))) at position [1,1] we obtained the following new rules [LPAR04]: 20.57/6.25 20.57/6.25 (MERGESORT_IN_GA(.(.(Xs))) -> U1_GA(Xs, U5_gaa(.(Xs), U5_gaa(Xs, split_in_gaa(Xs)))),MERGESORT_IN_GA(.(.(Xs))) -> U1_GA(Xs, U5_gaa(.(Xs), U5_gaa(Xs, split_in_gaa(Xs))))) 20.57/6.25 20.57/6.25 20.57/6.25 ---------------------------------------- 20.57/6.25 20.57/6.25 (38) 20.57/6.25 Obligation: 20.57/6.25 Q DP problem: 20.57/6.25 The TRS P consists of the following rules: 20.57/6.25 20.57/6.25 U1_GA(Xs, split_out_gaa(.(.(Xs)), X1s, X2s)) -> U2_GA(Xs, X2s, mergesort_in_ga(X1s)) 20.57/6.25 U2_GA(Xs, X2s, mergesort_out_ga(X1s, Y1s)) -> MERGESORT_IN_GA(X2s) 20.57/6.25 U1_GA(Xs, split_out_gaa(.(.(Xs)), X1s, X2s)) -> MERGESORT_IN_GA(X1s) 20.57/6.25 MERGESORT_IN_GA(.(.(Xs))) -> U1_GA(Xs, U5_gaa(.(Xs), U5_gaa(Xs, split_in_gaa(Xs)))) 20.57/6.25 20.57/6.25 The TRS R consists of the following rules: 20.57/6.25 20.57/6.25 mergesort_in_ga([]) -> mergesort_out_ga([], []) 20.57/6.25 mergesort_in_ga(.([])) -> mergesort_out_ga(.([]), .([])) 20.57/6.25 mergesort_in_ga(.(.(Xs))) -> U1_ga(Xs, split_in_gaa(.(.(Xs)))) 20.57/6.25 split_in_gaa(.(Xs)) -> U5_gaa(Xs, split_in_gaa(Xs)) 20.57/6.25 U1_ga(Xs, split_out_gaa(.(.(Xs)), X1s, X2s)) -> U2_ga(Xs, X2s, mergesort_in_ga(X1s)) 20.57/6.25 U5_gaa(Xs, split_out_gaa(Xs, Zs, Ys)) -> split_out_gaa(.(Xs), .(Ys), Zs) 20.57/6.25 U2_ga(Xs, X2s, mergesort_out_ga(X1s, Y1s)) -> U3_ga(Xs, Y1s, mergesort_in_ga(X2s)) 20.57/6.25 split_in_gaa([]) -> split_out_gaa([], [], []) 20.57/6.25 U3_ga(Xs, Y1s, mergesort_out_ga(X2s, Y2s)) -> U4_ga(Xs, merge_in_gga(Y1s, Y2s)) 20.57/6.25 U4_ga(Xs, merge_out_gga(Y1s, Y2s, Ys)) -> mergesort_out_ga(.(.(Xs)), Ys) 20.57/6.25 merge_in_gga([], Xs) -> merge_out_gga([], Xs, Xs) 20.57/6.25 merge_in_gga(Xs, []) -> merge_out_gga(Xs, [], Xs) 20.57/6.25 merge_in_gga(.(Xs), .(Ys)) -> U6_gga(Xs, Ys, =_in_aa) 20.57/6.25 U6_gga(Xs, Ys, =_out_aa) -> U7_gga(Xs, Ys, merge_in_gga(.(Xs), Ys)) 20.57/6.25 =_in_aa -> =_out_aa 20.57/6.25 U7_gga(Xs, Ys, merge_out_gga(.(Xs), Ys, Zs)) -> merge_out_gga(.(Xs), .(Ys), .(Zs)) 20.57/6.25 20.57/6.25 The set Q consists of the following terms: 20.57/6.25 20.57/6.25 mergesort_in_ga(x0) 20.57/6.25 split_in_gaa(x0) 20.57/6.25 U1_ga(x0, x1) 20.57/6.25 U5_gaa(x0, x1) 20.57/6.25 U2_ga(x0, x1, x2) 20.57/6.25 U3_ga(x0, x1, x2) 20.57/6.25 U4_ga(x0, x1) 20.57/6.25 merge_in_gga(x0, x1) 20.57/6.25 U6_gga(x0, x1, x2) 20.57/6.25 =_in_aa 20.57/6.25 U7_gga(x0, x1, x2) 20.57/6.25 20.57/6.25 We have to consider all (P,Q,R)-chains. 20.57/6.25 ---------------------------------------- 20.57/6.25 20.57/6.25 (39) QDPQMonotonicMRRProof (EQUIVALENT) 20.57/6.25 By using the Q-monotonic rule removal processor with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented such that it always occurs at a strongly monotonic position in a (P,Q,R)-chain. 20.57/6.25 20.57/6.25 20.57/6.25 Strictly oriented rules of the TRS R: 20.57/6.25 20.57/6.25 mergesort_in_ga(.([])) -> mergesort_out_ga(.([]), .([])) 20.57/6.25 20.57/6.25 Used ordering: Polynomial interpretation [POLO]: 20.57/6.25 20.57/6.25 POL(.(x_1)) = 2 + x_1 20.57/6.25 POL(=_in_aa) = 0 20.57/6.25 POL(=_out_aa) = 0 20.57/6.25 POL(MERGESORT_IN_GA(x_1)) = 2*x_1 20.57/6.25 POL(U1_GA(x_1, x_2)) = 2*x_2 20.57/6.25 POL(U1_ga(x_1, x_2)) = 2*x_2 20.57/6.25 POL(U2_GA(x_1, x_2, x_3)) = 2*x_2 + x_3 20.57/6.25 POL(U2_ga(x_1, x_2, x_3)) = 2*x_2 + x_3 20.57/6.25 POL(U3_ga(x_1, x_2, x_3)) = x_3 20.57/6.25 POL(U4_ga(x_1, x_2)) = 0 20.57/6.25 POL(U5_gaa(x_1, x_2)) = 2 + x_2 20.57/6.25 POL(U6_gga(x_1, x_2, x_3)) = 0 20.57/6.25 POL(U7_gga(x_1, x_2, x_3)) = 0 20.57/6.25 POL([]) = 0 20.57/6.25 POL(merge_in_gga(x_1, x_2)) = 0 20.57/6.25 POL(merge_out_gga(x_1, x_2, x_3)) = 0 20.57/6.25 POL(mergesort_in_ga(x_1)) = 2*x_1 20.57/6.25 POL(mergesort_out_ga(x_1, x_2)) = 0 20.57/6.25 POL(split_in_gaa(x_1)) = x_1 20.57/6.25 POL(split_out_gaa(x_1, x_2, x_3)) = x_2 + x_3 20.57/6.25 20.57/6.25 20.57/6.25 ---------------------------------------- 20.57/6.25 20.57/6.25 (40) 20.57/6.25 Obligation: 20.57/6.25 Q DP problem: 20.57/6.25 The TRS P consists of the following rules: 20.57/6.25 20.57/6.25 U1_GA(Xs, split_out_gaa(.(.(Xs)), X1s, X2s)) -> U2_GA(Xs, X2s, mergesort_in_ga(X1s)) 20.57/6.25 U2_GA(Xs, X2s, mergesort_out_ga(X1s, Y1s)) -> MERGESORT_IN_GA(X2s) 20.57/6.25 U1_GA(Xs, split_out_gaa(.(.(Xs)), X1s, X2s)) -> MERGESORT_IN_GA(X1s) 20.57/6.25 MERGESORT_IN_GA(.(.(Xs))) -> U1_GA(Xs, U5_gaa(.(Xs), U5_gaa(Xs, split_in_gaa(Xs)))) 20.57/6.25 20.57/6.25 The TRS R consists of the following rules: 20.57/6.25 20.57/6.25 mergesort_in_ga([]) -> mergesort_out_ga([], []) 20.57/6.25 mergesort_in_ga(.(.(Xs))) -> U1_ga(Xs, split_in_gaa(.(.(Xs)))) 20.57/6.25 split_in_gaa(.(Xs)) -> U5_gaa(Xs, split_in_gaa(Xs)) 20.57/6.25 U1_ga(Xs, split_out_gaa(.(.(Xs)), X1s, X2s)) -> U2_ga(Xs, X2s, mergesort_in_ga(X1s)) 20.57/6.25 U5_gaa(Xs, split_out_gaa(Xs, Zs, Ys)) -> split_out_gaa(.(Xs), .(Ys), Zs) 20.57/6.25 U2_ga(Xs, X2s, mergesort_out_ga(X1s, Y1s)) -> U3_ga(Xs, Y1s, mergesort_in_ga(X2s)) 20.57/6.25 split_in_gaa([]) -> split_out_gaa([], [], []) 20.57/6.25 U3_ga(Xs, Y1s, mergesort_out_ga(X2s, Y2s)) -> U4_ga(Xs, merge_in_gga(Y1s, Y2s)) 20.57/6.25 U4_ga(Xs, merge_out_gga(Y1s, Y2s, Ys)) -> mergesort_out_ga(.(.(Xs)), Ys) 20.57/6.25 merge_in_gga([], Xs) -> merge_out_gga([], Xs, Xs) 20.57/6.25 merge_in_gga(Xs, []) -> merge_out_gga(Xs, [], Xs) 20.57/6.25 merge_in_gga(.(Xs), .(Ys)) -> U6_gga(Xs, Ys, =_in_aa) 20.57/6.25 U6_gga(Xs, Ys, =_out_aa) -> U7_gga(Xs, Ys, merge_in_gga(.(Xs), Ys)) 20.57/6.25 =_in_aa -> =_out_aa 20.57/6.25 U7_gga(Xs, Ys, merge_out_gga(.(Xs), Ys, Zs)) -> merge_out_gga(.(Xs), .(Ys), .(Zs)) 20.57/6.25 20.57/6.25 The set Q consists of the following terms: 20.57/6.25 20.57/6.25 mergesort_in_ga(x0) 20.57/6.25 split_in_gaa(x0) 20.57/6.25 U1_ga(x0, x1) 20.57/6.25 U5_gaa(x0, x1) 20.57/6.25 U2_ga(x0, x1, x2) 20.57/6.25 U3_ga(x0, x1, x2) 20.57/6.25 U4_ga(x0, x1) 20.57/6.25 merge_in_gga(x0, x1) 20.57/6.25 U6_gga(x0, x1, x2) 20.57/6.25 =_in_aa 20.57/6.25 U7_gga(x0, x1, x2) 20.57/6.25 20.57/6.25 We have to consider all (P,Q,R)-chains. 20.57/6.25 ---------------------------------------- 20.57/6.25 20.57/6.25 (41) QDPOrderProof (EQUIVALENT) 20.57/6.25 We use the reduction pair processor [LPAR04,JAR06]. 20.57/6.25 20.57/6.25 20.57/6.25 The following pairs can be oriented strictly and are deleted. 20.57/6.25 20.57/6.25 U2_GA(Xs, X2s, mergesort_out_ga(X1s, Y1s)) -> MERGESORT_IN_GA(X2s) 20.57/6.25 The remaining pairs can at least be oriented weakly. 20.57/6.25 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 20.57/6.25 20.57/6.25 POL( U2_GA_3(x_1, ..., x_3) ) = x_3 20.57/6.25 POL( mergesort_in_ga_1(x_1) ) = x_1 20.57/6.25 POL( [] ) = 1 20.57/6.25 POL( mergesort_out_ga_2(x_1, x_2) ) = 1 20.57/6.25 POL( ._1(x_1) ) = 0 20.57/6.25 POL( U1_ga_2(x_1, x_2) ) = 2x_2 20.57/6.25 POL( split_in_gaa_1(x_1) ) = max{0, -2} 20.57/6.25 POL( U1_GA_2(x_1, x_2) ) = 2x_2 20.57/6.25 POL( U5_gaa_2(x_1, x_2) ) = 0 20.57/6.25 POL( split_out_gaa_3(x_1, ..., x_3) ) = x_2 20.57/6.25 POL( U2_ga_3(x_1, ..., x_3) ) = x_3 20.57/6.25 POL( U3_ga_3(x_1, ..., x_3) ) = 1 20.57/6.25 POL( U4_ga_2(x_1, x_2) ) = 1 20.57/6.25 POL( merge_in_gga_2(x_1, x_2) ) = max{0, x_2 - 2} 20.57/6.25 POL( merge_out_gga_3(x_1, ..., x_3) ) = max{0, 2x_3 - 2} 20.57/6.25 POL( U6_gga_3(x_1, ..., x_3) ) = max{0, x_1 + x_2 + 2x_3 - 2} 20.57/6.25 POL( =_in_aa ) = 2 20.57/6.25 POL( =_out_aa ) = 0 20.57/6.25 POL( U7_gga_3(x_1, ..., x_3) ) = 2 20.57/6.25 POL( MERGESORT_IN_GA_1(x_1) ) = 0 20.57/6.25 20.57/6.25 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 20.57/6.25 20.57/6.25 mergesort_in_ga([]) -> mergesort_out_ga([], []) 20.57/6.25 mergesort_in_ga(.(.(Xs))) -> U1_ga(Xs, split_in_gaa(.(.(Xs)))) 20.57/6.25 split_in_gaa(.(Xs)) -> U5_gaa(Xs, split_in_gaa(Xs)) 20.57/6.25 U5_gaa(Xs, split_out_gaa(Xs, Zs, Ys)) -> split_out_gaa(.(Xs), .(Ys), Zs) 20.57/6.25 U1_ga(Xs, split_out_gaa(.(.(Xs)), X1s, X2s)) -> U2_ga(Xs, X2s, mergesort_in_ga(X1s)) 20.57/6.25 U2_ga(Xs, X2s, mergesort_out_ga(X1s, Y1s)) -> U3_ga(Xs, Y1s, mergesort_in_ga(X2s)) 20.57/6.25 U3_ga(Xs, Y1s, mergesort_out_ga(X2s, Y2s)) -> U4_ga(Xs, merge_in_gga(Y1s, Y2s)) 20.57/6.25 U4_ga(Xs, merge_out_gga(Y1s, Y2s, Ys)) -> mergesort_out_ga(.(.(Xs)), Ys) 20.57/6.25 20.57/6.25 20.57/6.25 ---------------------------------------- 20.57/6.25 20.57/6.25 (42) 20.57/6.25 Obligation: 20.57/6.25 Q DP problem: 20.57/6.25 The TRS P consists of the following rules: 20.57/6.25 20.57/6.25 U1_GA(Xs, split_out_gaa(.(.(Xs)), X1s, X2s)) -> U2_GA(Xs, X2s, mergesort_in_ga(X1s)) 20.57/6.25 U1_GA(Xs, split_out_gaa(.(.(Xs)), X1s, X2s)) -> MERGESORT_IN_GA(X1s) 20.57/6.25 MERGESORT_IN_GA(.(.(Xs))) -> U1_GA(Xs, U5_gaa(.(Xs), U5_gaa(Xs, split_in_gaa(Xs)))) 20.57/6.25 20.57/6.25 The TRS R consists of the following rules: 20.57/6.25 20.57/6.25 mergesort_in_ga([]) -> mergesort_out_ga([], []) 20.57/6.25 mergesort_in_ga(.(.(Xs))) -> U1_ga(Xs, split_in_gaa(.(.(Xs)))) 20.57/6.25 split_in_gaa(.(Xs)) -> U5_gaa(Xs, split_in_gaa(Xs)) 20.57/6.25 U1_ga(Xs, split_out_gaa(.(.(Xs)), X1s, X2s)) -> U2_ga(Xs, X2s, mergesort_in_ga(X1s)) 20.62/6.25 U5_gaa(Xs, split_out_gaa(Xs, Zs, Ys)) -> split_out_gaa(.(Xs), .(Ys), Zs) 20.62/6.25 U2_ga(Xs, X2s, mergesort_out_ga(X1s, Y1s)) -> U3_ga(Xs, Y1s, mergesort_in_ga(X2s)) 20.62/6.25 split_in_gaa([]) -> split_out_gaa([], [], []) 20.62/6.25 U3_ga(Xs, Y1s, mergesort_out_ga(X2s, Y2s)) -> U4_ga(Xs, merge_in_gga(Y1s, Y2s)) 20.62/6.25 U4_ga(Xs, merge_out_gga(Y1s, Y2s, Ys)) -> mergesort_out_ga(.(.(Xs)), Ys) 20.62/6.25 merge_in_gga([], Xs) -> merge_out_gga([], Xs, Xs) 20.62/6.25 merge_in_gga(Xs, []) -> merge_out_gga(Xs, [], Xs) 20.62/6.25 merge_in_gga(.(Xs), .(Ys)) -> U6_gga(Xs, Ys, =_in_aa) 20.62/6.25 U6_gga(Xs, Ys, =_out_aa) -> U7_gga(Xs, Ys, merge_in_gga(.(Xs), Ys)) 20.62/6.25 =_in_aa -> =_out_aa 20.62/6.25 U7_gga(Xs, Ys, merge_out_gga(.(Xs), Ys, Zs)) -> merge_out_gga(.(Xs), .(Ys), .(Zs)) 20.62/6.25 20.62/6.25 The set Q consists of the following terms: 20.62/6.25 20.62/6.25 mergesort_in_ga(x0) 20.62/6.25 split_in_gaa(x0) 20.62/6.25 U1_ga(x0, x1) 20.62/6.25 U5_gaa(x0, x1) 20.62/6.25 U2_ga(x0, x1, x2) 20.62/6.25 U3_ga(x0, x1, x2) 20.62/6.25 U4_ga(x0, x1) 20.62/6.25 merge_in_gga(x0, x1) 20.62/6.25 U6_gga(x0, x1, x2) 20.62/6.25 =_in_aa 20.62/6.25 U7_gga(x0, x1, x2) 20.62/6.25 20.62/6.25 We have to consider all (P,Q,R)-chains. 20.62/6.25 ---------------------------------------- 20.62/6.25 20.62/6.25 (43) DependencyGraphProof (EQUIVALENT) 20.62/6.25 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 20.62/6.25 ---------------------------------------- 20.62/6.25 20.62/6.25 (44) 20.62/6.25 Obligation: 20.62/6.25 Q DP problem: 20.62/6.25 The TRS P consists of the following rules: 20.62/6.25 20.62/6.25 U1_GA(Xs, split_out_gaa(.(.(Xs)), X1s, X2s)) -> MERGESORT_IN_GA(X1s) 20.62/6.25 MERGESORT_IN_GA(.(.(Xs))) -> U1_GA(Xs, U5_gaa(.(Xs), U5_gaa(Xs, split_in_gaa(Xs)))) 20.62/6.25 20.62/6.25 The TRS R consists of the following rules: 20.62/6.25 20.62/6.25 mergesort_in_ga([]) -> mergesort_out_ga([], []) 20.62/6.25 mergesort_in_ga(.(.(Xs))) -> U1_ga(Xs, split_in_gaa(.(.(Xs)))) 20.62/6.25 split_in_gaa(.(Xs)) -> U5_gaa(Xs, split_in_gaa(Xs)) 20.62/6.25 U1_ga(Xs, split_out_gaa(.(.(Xs)), X1s, X2s)) -> U2_ga(Xs, X2s, mergesort_in_ga(X1s)) 20.62/6.25 U5_gaa(Xs, split_out_gaa(Xs, Zs, Ys)) -> split_out_gaa(.(Xs), .(Ys), Zs) 20.62/6.25 U2_ga(Xs, X2s, mergesort_out_ga(X1s, Y1s)) -> U3_ga(Xs, Y1s, mergesort_in_ga(X2s)) 20.62/6.25 split_in_gaa([]) -> split_out_gaa([], [], []) 20.62/6.25 U3_ga(Xs, Y1s, mergesort_out_ga(X2s, Y2s)) -> U4_ga(Xs, merge_in_gga(Y1s, Y2s)) 20.62/6.25 U4_ga(Xs, merge_out_gga(Y1s, Y2s, Ys)) -> mergesort_out_ga(.(.(Xs)), Ys) 20.62/6.25 merge_in_gga([], Xs) -> merge_out_gga([], Xs, Xs) 20.62/6.25 merge_in_gga(Xs, []) -> merge_out_gga(Xs, [], Xs) 20.62/6.25 merge_in_gga(.(Xs), .(Ys)) -> U6_gga(Xs, Ys, =_in_aa) 20.62/6.25 U6_gga(Xs, Ys, =_out_aa) -> U7_gga(Xs, Ys, merge_in_gga(.(Xs), Ys)) 20.62/6.25 =_in_aa -> =_out_aa 20.62/6.25 U7_gga(Xs, Ys, merge_out_gga(.(Xs), Ys, Zs)) -> merge_out_gga(.(Xs), .(Ys), .(Zs)) 20.62/6.25 20.62/6.25 The set Q consists of the following terms: 20.62/6.25 20.62/6.25 mergesort_in_ga(x0) 20.62/6.25 split_in_gaa(x0) 20.62/6.25 U1_ga(x0, x1) 20.62/6.25 U5_gaa(x0, x1) 20.62/6.25 U2_ga(x0, x1, x2) 20.62/6.25 U3_ga(x0, x1, x2) 20.62/6.25 U4_ga(x0, x1) 20.62/6.25 merge_in_gga(x0, x1) 20.62/6.25 U6_gga(x0, x1, x2) 20.62/6.25 =_in_aa 20.62/6.25 U7_gga(x0, x1, x2) 20.62/6.25 20.62/6.25 We have to consider all (P,Q,R)-chains. 20.62/6.25 ---------------------------------------- 20.62/6.25 20.62/6.25 (45) UsableRulesProof (EQUIVALENT) 20.62/6.25 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. 20.62/6.25 ---------------------------------------- 20.62/6.25 20.62/6.25 (46) 20.62/6.25 Obligation: 20.62/6.25 Q DP problem: 20.62/6.25 The TRS P consists of the following rules: 20.62/6.25 20.62/6.25 U1_GA(Xs, split_out_gaa(.(.(Xs)), X1s, X2s)) -> MERGESORT_IN_GA(X1s) 20.62/6.25 MERGESORT_IN_GA(.(.(Xs))) -> U1_GA(Xs, U5_gaa(.(Xs), U5_gaa(Xs, split_in_gaa(Xs)))) 20.62/6.25 20.62/6.25 The TRS R consists of the following rules: 20.62/6.25 20.62/6.25 split_in_gaa(.(Xs)) -> U5_gaa(Xs, split_in_gaa(Xs)) 20.62/6.25 split_in_gaa([]) -> split_out_gaa([], [], []) 20.62/6.25 U5_gaa(Xs, split_out_gaa(Xs, Zs, Ys)) -> split_out_gaa(.(Xs), .(Ys), Zs) 20.62/6.25 20.62/6.25 The set Q consists of the following terms: 20.62/6.25 20.62/6.25 mergesort_in_ga(x0) 20.62/6.25 split_in_gaa(x0) 20.62/6.25 U1_ga(x0, x1) 20.62/6.25 U5_gaa(x0, x1) 20.62/6.25 U2_ga(x0, x1, x2) 20.62/6.25 U3_ga(x0, x1, x2) 20.62/6.25 U4_ga(x0, x1) 20.62/6.25 merge_in_gga(x0, x1) 20.62/6.25 U6_gga(x0, x1, x2) 20.62/6.25 =_in_aa 20.62/6.25 U7_gga(x0, x1, x2) 20.62/6.25 20.62/6.25 We have to consider all (P,Q,R)-chains. 20.62/6.25 ---------------------------------------- 20.62/6.25 20.62/6.25 (47) QReductionProof (EQUIVALENT) 20.62/6.25 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 20.62/6.25 20.62/6.25 mergesort_in_ga(x0) 20.62/6.25 U1_ga(x0, x1) 20.62/6.25 U2_ga(x0, x1, x2) 20.62/6.25 U3_ga(x0, x1, x2) 20.62/6.25 U4_ga(x0, x1) 20.62/6.25 merge_in_gga(x0, x1) 20.62/6.25 U6_gga(x0, x1, x2) 20.62/6.25 =_in_aa 20.62/6.25 U7_gga(x0, x1, x2) 20.62/6.25 20.62/6.25 20.62/6.25 ---------------------------------------- 20.62/6.25 20.62/6.25 (48) 20.62/6.25 Obligation: 20.62/6.25 Q DP problem: 20.62/6.25 The TRS P consists of the following rules: 20.62/6.25 20.62/6.25 U1_GA(Xs, split_out_gaa(.(.(Xs)), X1s, X2s)) -> MERGESORT_IN_GA(X1s) 20.62/6.25 MERGESORT_IN_GA(.(.(Xs))) -> U1_GA(Xs, U5_gaa(.(Xs), U5_gaa(Xs, split_in_gaa(Xs)))) 20.62/6.25 20.62/6.25 The TRS R consists of the following rules: 20.62/6.25 20.62/6.25 split_in_gaa(.(Xs)) -> U5_gaa(Xs, split_in_gaa(Xs)) 20.62/6.25 split_in_gaa([]) -> split_out_gaa([], [], []) 20.62/6.25 U5_gaa(Xs, split_out_gaa(Xs, Zs, Ys)) -> split_out_gaa(.(Xs), .(Ys), Zs) 20.62/6.25 20.62/6.25 The set Q consists of the following terms: 20.62/6.25 20.62/6.25 split_in_gaa(x0) 20.62/6.25 U5_gaa(x0, x1) 20.62/6.25 20.62/6.25 We have to consider all (P,Q,R)-chains. 20.62/6.25 ---------------------------------------- 20.62/6.25 20.62/6.25 (49) QDPOrderProof (EQUIVALENT) 20.62/6.25 We use the reduction pair processor [LPAR04,JAR06]. 20.62/6.25 20.62/6.25 20.62/6.25 The following pairs can be oriented strictly and are deleted. 20.62/6.25 20.62/6.25 MERGESORT_IN_GA(.(.(Xs))) -> U1_GA(Xs, U5_gaa(.(Xs), U5_gaa(Xs, split_in_gaa(Xs)))) 20.62/6.25 The remaining pairs can at least be oriented weakly. 20.62/6.25 Used ordering: Matrix interpretation [MATRO] with arctic natural numbers [ARCTIC]: 20.62/6.25 20.62/6.25 <<< 20.62/6.25 POL(U1_GA(x_1, x_2)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 20.62/6.25 >>> 20.62/6.25 20.62/6.25 <<< 20.62/6.25 POL(split_out_gaa(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 + [[1A]] * x_3 20.62/6.25 >>> 20.62/6.25 20.62/6.25 <<< 20.62/6.25 POL(.(x_1)) = [[-I]] + [[2A]] * x_1 20.62/6.25 >>> 20.62/6.25 20.62/6.25 <<< 20.62/6.25 POL(MERGESORT_IN_GA(x_1)) = [[-I]] + [[0A]] * x_1 20.62/6.25 >>> 20.62/6.25 20.62/6.25 <<< 20.62/6.25 POL(U5_gaa(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[1A]] * x_2 20.62/6.25 >>> 20.62/6.25 20.62/6.25 <<< 20.62/6.25 POL(split_in_gaa(x_1)) = [[-I]] + [[1A]] * x_1 20.62/6.25 >>> 20.62/6.25 20.62/6.25 <<< 20.62/6.25 POL([]) = [[0A]] 20.62/6.25 >>> 20.62/6.25 20.62/6.25 20.62/6.25 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 20.62/6.25 20.62/6.25 split_in_gaa(.(Xs)) -> U5_gaa(Xs, split_in_gaa(Xs)) 20.62/6.25 split_in_gaa([]) -> split_out_gaa([], [], []) 20.62/6.25 U5_gaa(Xs, split_out_gaa(Xs, Zs, Ys)) -> split_out_gaa(.(Xs), .(Ys), Zs) 20.62/6.25 20.62/6.25 20.62/6.25 ---------------------------------------- 20.62/6.25 20.62/6.25 (50) 20.62/6.25 Obligation: 20.62/6.25 Q DP problem: 20.62/6.25 The TRS P consists of the following rules: 20.62/6.25 20.62/6.25 U1_GA(Xs, split_out_gaa(.(.(Xs)), X1s, X2s)) -> MERGESORT_IN_GA(X1s) 20.62/6.25 20.62/6.25 The TRS R consists of the following rules: 20.62/6.25 20.62/6.25 split_in_gaa(.(Xs)) -> U5_gaa(Xs, split_in_gaa(Xs)) 20.62/6.25 split_in_gaa([]) -> split_out_gaa([], [], []) 20.62/6.25 U5_gaa(Xs, split_out_gaa(Xs, Zs, Ys)) -> split_out_gaa(.(Xs), .(Ys), Zs) 20.62/6.25 20.62/6.25 The set Q consists of the following terms: 20.62/6.25 20.62/6.25 split_in_gaa(x0) 20.62/6.25 U5_gaa(x0, x1) 20.62/6.25 20.62/6.25 We have to consider all (P,Q,R)-chains. 20.62/6.25 ---------------------------------------- 20.62/6.25 20.62/6.25 (51) DependencyGraphProof (EQUIVALENT) 20.62/6.25 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node. 20.62/6.25 ---------------------------------------- 20.62/6.25 20.62/6.25 (52) 20.62/6.25 TRUE 20.62/6.25 20.62/6.25 ---------------------------------------- 20.62/6.25 20.62/6.25 (53) 20.62/6.25 Obligation: 20.62/6.25 Pi DP problem: 20.62/6.25 The TRS P consists of the following rules: 20.62/6.25 20.62/6.25 SPLIT_IN_AAA(.(X, Xs), .(X, Ys), Zs) -> SPLIT_IN_AAA(Xs, Zs, Ys) 20.62/6.25 20.62/6.25 The TRS R consists of the following rules: 20.62/6.25 20.62/6.25 mergesort_in_ag([], []) -> mergesort_out_ag([], []) 20.62/6.25 mergesort_in_ag(.(X, []), .(X, [])) -> mergesort_out_ag(.(X, []), .(X, [])) 20.62/6.25 mergesort_in_ag(.(X, .(Y, Xs)), Ys) -> U1_ag(X, Y, Xs, Ys, split_in_aaa(.(X, .(Y, Xs)), X1s, X2s)) 20.62/6.25 split_in_aaa([], [], []) -> split_out_aaa([], [], []) 20.62/6.25 split_in_aaa(.(X, Xs), .(X, Ys), Zs) -> U5_aaa(X, Xs, Ys, Zs, split_in_aaa(Xs, Zs, Ys)) 20.62/6.25 U5_aaa(X, Xs, Ys, Zs, split_out_aaa(Xs, Zs, Ys)) -> split_out_aaa(.(X, Xs), .(X, Ys), Zs) 20.62/6.25 U1_ag(X, Y, Xs, Ys, split_out_aaa(.(X, .(Y, Xs)), X1s, X2s)) -> U2_ag(X, Y, Xs, Ys, X2s, mergesort_in_ga(X1s, Y1s)) 20.62/6.25 mergesort_in_ga([], []) -> mergesort_out_ga([], []) 20.62/6.25 mergesort_in_ga(.(X, []), .(X, [])) -> mergesort_out_ga(.(X, []), .(X, [])) 20.62/6.25 mergesort_in_ga(.(X, .(Y, Xs)), Ys) -> U1_ga(X, Y, Xs, Ys, split_in_gaa(.(X, .(Y, Xs)), X1s, X2s)) 20.62/6.25 split_in_gaa([], [], []) -> split_out_gaa([], [], []) 20.62/6.25 split_in_gaa(.(X, Xs), .(X, Ys), Zs) -> U5_gaa(X, Xs, Ys, Zs, split_in_gaa(Xs, Zs, Ys)) 20.62/6.25 U5_gaa(X, Xs, Ys, Zs, split_out_gaa(Xs, Zs, Ys)) -> split_out_gaa(.(X, Xs), .(X, Ys), Zs) 20.62/6.25 U1_ga(X, Y, Xs, Ys, split_out_gaa(.(X, .(Y, Xs)), X1s, X2s)) -> U2_ga(X, Y, Xs, Ys, X2s, mergesort_in_ga(X1s, Y1s)) 20.62/6.25 U2_ga(X, Y, Xs, Ys, X2s, mergesort_out_ga(X1s, Y1s)) -> U3_ga(X, Y, Xs, Ys, Y1s, mergesort_in_ga(X2s, Y2s)) 20.62/6.25 U3_ga(X, Y, Xs, Ys, Y1s, mergesort_out_ga(X2s, Y2s)) -> U4_ga(X, Y, Xs, Ys, merge_in_gga(Y1s, Y2s, Ys)) 20.62/6.25 merge_in_gga([], Xs, Xs) -> merge_out_gga([], Xs, Xs) 20.62/6.25 merge_in_gga(Xs, [], Xs) -> merge_out_gga(Xs, [], Xs) 20.62/6.25 merge_in_gga(.(X, Xs), .(Y, Ys), .(X, Zs)) -> U6_gga(X, Xs, Y, Ys, Zs, =_in_aa(X, Y)) 20.62/6.25 =_in_aa(X, X) -> =_out_aa(X, X) 20.62/6.25 U6_gga(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> U7_gga(X, Xs, Y, Ys, Zs, merge_in_gga(.(X, Xs), Ys, Zs)) 20.62/6.25 U7_gga(X, Xs, Y, Ys, Zs, merge_out_gga(.(X, Xs), Ys, Zs)) -> merge_out_gga(.(X, Xs), .(Y, Ys), .(X, Zs)) 20.62/6.25 U4_ga(X, Y, Xs, Ys, merge_out_gga(Y1s, Y2s, Ys)) -> mergesort_out_ga(.(X, .(Y, Xs)), Ys) 20.62/6.25 U2_ag(X, Y, Xs, Ys, X2s, mergesort_out_ga(X1s, Y1s)) -> U3_ag(X, Y, Xs, Ys, Y1s, mergesort_in_ga(X2s, Y2s)) 20.62/6.25 U3_ag(X, Y, Xs, Ys, Y1s, mergesort_out_ga(X2s, Y2s)) -> U4_ag(X, Y, Xs, Ys, merge_in_ggg(Y1s, Y2s, Ys)) 20.62/6.25 merge_in_ggg([], Xs, Xs) -> merge_out_ggg([], Xs, Xs) 20.62/6.25 merge_in_ggg(Xs, [], Xs) -> merge_out_ggg(Xs, [], Xs) 20.62/6.25 merge_in_ggg(.(X, Xs), .(Y, Ys), .(X, Zs)) -> U6_ggg(X, Xs, Y, Ys, Zs, =_in_aa(X, Y)) 20.62/6.25 U6_ggg(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> U7_ggg(X, Xs, Y, Ys, Zs, merge_in_ggg(.(X, Xs), Ys, Zs)) 20.62/6.25 U7_ggg(X, Xs, Y, Ys, Zs, merge_out_ggg(.(X, Xs), Ys, Zs)) -> merge_out_ggg(.(X, Xs), .(Y, Ys), .(X, Zs)) 20.62/6.25 U4_ag(X, Y, Xs, Ys, merge_out_ggg(Y1s, Y2s, Ys)) -> mergesort_out_ag(.(X, .(Y, Xs)), Ys) 20.62/6.25 20.62/6.25 The argument filtering Pi contains the following mapping: 20.62/6.25 mergesort_in_ag(x1, x2) = mergesort_in_ag(x2) 20.62/6.25 20.62/6.25 [] = [] 20.62/6.25 20.62/6.25 mergesort_out_ag(x1, x2) = mergesort_out_ag(x1, x2) 20.62/6.25 20.62/6.25 .(x1, x2) = .(x2) 20.62/6.25 20.62/6.25 U1_ag(x1, x2, x3, x4, x5) = U1_ag(x4, x5) 20.62/6.25 20.62/6.25 split_in_aaa(x1, x2, x3) = split_in_aaa 20.62/6.25 20.62/6.25 split_out_aaa(x1, x2, x3) = split_out_aaa(x1, x2, x3) 20.62/6.25 20.62/6.25 U5_aaa(x1, x2, x3, x4, x5) = U5_aaa(x5) 20.62/6.25 20.62/6.25 U2_ag(x1, x2, x3, x4, x5, x6) = U2_ag(x3, x4, x5, x6) 20.62/6.25 20.62/6.25 mergesort_in_ga(x1, x2) = mergesort_in_ga(x1) 20.62/6.25 20.62/6.25 mergesort_out_ga(x1, x2) = mergesort_out_ga(x1, x2) 20.62/6.25 20.62/6.25 U1_ga(x1, x2, x3, x4, x5) = U1_ga(x3, x5) 20.62/6.25 20.62/6.25 split_in_gaa(x1, x2, x3) = split_in_gaa(x1) 20.62/6.25 20.62/6.25 split_out_gaa(x1, x2, x3) = split_out_gaa(x1, x2, x3) 20.62/6.25 20.62/6.25 U5_gaa(x1, x2, x3, x4, x5) = U5_gaa(x2, x5) 20.62/6.25 20.62/6.25 U2_ga(x1, x2, x3, x4, x5, x6) = U2_ga(x3, x5, x6) 20.62/6.25 20.62/6.25 U3_ga(x1, x2, x3, x4, x5, x6) = U3_ga(x3, x5, x6) 20.62/6.25 20.62/6.25 U4_ga(x1, x2, x3, x4, x5) = U4_ga(x3, x5) 20.62/6.25 20.62/6.25 merge_in_gga(x1, x2, x3) = merge_in_gga(x1, x2) 20.62/6.25 20.62/6.25 merge_out_gga(x1, x2, x3) = merge_out_gga(x1, x2, x3) 20.62/6.25 20.62/6.25 U6_gga(x1, x2, x3, x4, x5, x6) = U6_gga(x2, x4, x6) 20.62/6.25 20.62/6.25 =_in_aa(x1, x2) = =_in_aa 20.62/6.25 20.62/6.25 =_out_aa(x1, x2) = =_out_aa 20.62/6.25 20.62/6.25 U7_gga(x1, x2, x3, x4, x5, x6) = U7_gga(x2, x4, x6) 20.62/6.25 20.62/6.25 U3_ag(x1, x2, x3, x4, x5, x6) = U3_ag(x3, x4, x5, x6) 20.62/6.25 20.62/6.25 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x3, x4, x5) 20.62/6.25 20.62/6.25 merge_in_ggg(x1, x2, x3) = merge_in_ggg(x1, x2, x3) 20.62/6.25 20.62/6.25 merge_out_ggg(x1, x2, x3) = merge_out_ggg(x1, x2, x3) 20.62/6.25 20.62/6.25 U6_ggg(x1, x2, x3, x4, x5, x6) = U6_ggg(x2, x4, x5, x6) 20.62/6.25 20.62/6.25 U7_ggg(x1, x2, x3, x4, x5, x6) = U7_ggg(x2, x4, x5, x6) 20.62/6.25 20.62/6.25 SPLIT_IN_AAA(x1, x2, x3) = SPLIT_IN_AAA 20.62/6.25 20.62/6.25 20.62/6.25 We have to consider all (P,R,Pi)-chains 20.62/6.25 ---------------------------------------- 20.62/6.25 20.62/6.25 (54) UsableRulesProof (EQUIVALENT) 20.62/6.25 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 20.62/6.25 ---------------------------------------- 20.62/6.25 20.62/6.25 (55) 20.62/6.25 Obligation: 20.62/6.25 Pi DP problem: 20.62/6.25 The TRS P consists of the following rules: 20.62/6.25 20.62/6.25 SPLIT_IN_AAA(.(X, Xs), .(X, Ys), Zs) -> SPLIT_IN_AAA(Xs, Zs, Ys) 20.62/6.25 20.62/6.25 R is empty. 20.62/6.25 The argument filtering Pi contains the following mapping: 20.62/6.25 .(x1, x2) = .(x2) 20.62/6.25 20.62/6.25 SPLIT_IN_AAA(x1, x2, x3) = SPLIT_IN_AAA 20.62/6.25 20.62/6.25 20.62/6.25 We have to consider all (P,R,Pi)-chains 20.62/6.25 ---------------------------------------- 20.62/6.25 20.62/6.25 (56) PiDPToQDPProof (SOUND) 20.62/6.25 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 20.62/6.25 ---------------------------------------- 20.62/6.25 20.62/6.25 (57) 20.62/6.25 Obligation: 20.62/6.25 Q DP problem: 20.62/6.25 The TRS P consists of the following rules: 20.62/6.25 20.62/6.25 SPLIT_IN_AAA -> SPLIT_IN_AAA 20.62/6.25 20.62/6.25 R is empty. 20.62/6.25 Q is empty. 20.62/6.25 We have to consider all (P,Q,R)-chains. 20.62/6.25 ---------------------------------------- 20.62/6.25 20.62/6.25 (58) PrologToPiTRSProof (SOUND) 20.62/6.25 We use the technique of [TOCL09]. With regard to the inferred argument filtering the predicates were used in the following modes: 20.62/6.25 20.62/6.25 mergesort_in_2: (f,b) (b,f) 20.62/6.25 20.62/6.25 split_in_3: (f,f,f) (b,f,f) 20.62/6.25 20.62/6.25 merge_in_3: (b,b,f) (b,b,b) 20.62/6.25 20.62/6.25 Transforming Prolog into the following Term Rewriting System: 20.62/6.25 20.62/6.25 Pi-finite rewrite system: 20.62/6.25 The TRS R consists of the following rules: 20.62/6.25 20.62/6.25 mergesort_in_ag([], []) -> mergesort_out_ag([], []) 20.62/6.25 mergesort_in_ag(.(X, []), .(X, [])) -> mergesort_out_ag(.(X, []), .(X, [])) 20.62/6.25 mergesort_in_ag(.(X, .(Y, Xs)), Ys) -> U1_ag(X, Y, Xs, Ys, split_in_aaa(.(X, .(Y, Xs)), X1s, X2s)) 20.62/6.25 split_in_aaa([], [], []) -> split_out_aaa([], [], []) 20.62/6.25 split_in_aaa(.(X, Xs), .(X, Ys), Zs) -> U5_aaa(X, Xs, Ys, Zs, split_in_aaa(Xs, Zs, Ys)) 20.62/6.25 U5_aaa(X, Xs, Ys, Zs, split_out_aaa(Xs, Zs, Ys)) -> split_out_aaa(.(X, Xs), .(X, Ys), Zs) 20.62/6.25 U1_ag(X, Y, Xs, Ys, split_out_aaa(.(X, .(Y, Xs)), X1s, X2s)) -> U2_ag(X, Y, Xs, Ys, X2s, mergesort_in_ga(X1s, Y1s)) 20.62/6.25 mergesort_in_ga([], []) -> mergesort_out_ga([], []) 20.62/6.25 mergesort_in_ga(.(X, []), .(X, [])) -> mergesort_out_ga(.(X, []), .(X, [])) 20.62/6.25 mergesort_in_ga(.(X, .(Y, Xs)), Ys) -> U1_ga(X, Y, Xs, Ys, split_in_gaa(.(X, .(Y, Xs)), X1s, X2s)) 20.62/6.25 split_in_gaa([], [], []) -> split_out_gaa([], [], []) 20.62/6.25 split_in_gaa(.(X, Xs), .(X, Ys), Zs) -> U5_gaa(X, Xs, Ys, Zs, split_in_gaa(Xs, Zs, Ys)) 20.62/6.25 U5_gaa(X, Xs, Ys, Zs, split_out_gaa(Xs, Zs, Ys)) -> split_out_gaa(.(X, Xs), .(X, Ys), Zs) 20.62/6.25 U1_ga(X, Y, Xs, Ys, split_out_gaa(.(X, .(Y, Xs)), X1s, X2s)) -> U2_ga(X, Y, Xs, Ys, X2s, mergesort_in_ga(X1s, Y1s)) 20.62/6.25 U2_ga(X, Y, Xs, Ys, X2s, mergesort_out_ga(X1s, Y1s)) -> U3_ga(X, Y, Xs, Ys, Y1s, mergesort_in_ga(X2s, Y2s)) 20.62/6.25 U3_ga(X, Y, Xs, Ys, Y1s, mergesort_out_ga(X2s, Y2s)) -> U4_ga(X, Y, Xs, Ys, merge_in_gga(Y1s, Y2s, Ys)) 20.62/6.25 merge_in_gga([], Xs, Xs) -> merge_out_gga([], Xs, Xs) 20.62/6.25 merge_in_gga(Xs, [], Xs) -> merge_out_gga(Xs, [], Xs) 20.62/6.25 merge_in_gga(.(X, Xs), .(Y, Ys), .(X, Zs)) -> U6_gga(X, Xs, Y, Ys, Zs, =_in_aa(X, Y)) 20.62/6.25 =_in_aa(X, X) -> =_out_aa(X, X) 20.62/6.25 U6_gga(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> U7_gga(X, Xs, Y, Ys, Zs, merge_in_gga(.(X, Xs), Ys, Zs)) 20.62/6.25 U7_gga(X, Xs, Y, Ys, Zs, merge_out_gga(.(X, Xs), Ys, Zs)) -> merge_out_gga(.(X, Xs), .(Y, Ys), .(X, Zs)) 20.62/6.25 U4_ga(X, Y, Xs, Ys, merge_out_gga(Y1s, Y2s, Ys)) -> mergesort_out_ga(.(X, .(Y, Xs)), Ys) 20.62/6.25 U2_ag(X, Y, Xs, Ys, X2s, mergesort_out_ga(X1s, Y1s)) -> U3_ag(X, Y, Xs, Ys, Y1s, mergesort_in_ga(X2s, Y2s)) 20.62/6.25 U3_ag(X, Y, Xs, Ys, Y1s, mergesort_out_ga(X2s, Y2s)) -> U4_ag(X, Y, Xs, Ys, merge_in_ggg(Y1s, Y2s, Ys)) 20.62/6.25 merge_in_ggg([], Xs, Xs) -> merge_out_ggg([], Xs, Xs) 20.62/6.25 merge_in_ggg(Xs, [], Xs) -> merge_out_ggg(Xs, [], Xs) 20.62/6.25 merge_in_ggg(.(X, Xs), .(Y, Ys), .(X, Zs)) -> U6_ggg(X, Xs, Y, Ys, Zs, =_in_aa(X, Y)) 20.62/6.25 U6_ggg(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> U7_ggg(X, Xs, Y, Ys, Zs, merge_in_ggg(.(X, Xs), Ys, Zs)) 20.62/6.25 U7_ggg(X, Xs, Y, Ys, Zs, merge_out_ggg(.(X, Xs), Ys, Zs)) -> merge_out_ggg(.(X, Xs), .(Y, Ys), .(X, Zs)) 20.62/6.25 U4_ag(X, Y, Xs, Ys, merge_out_ggg(Y1s, Y2s, Ys)) -> mergesort_out_ag(.(X, .(Y, Xs)), Ys) 20.62/6.25 20.62/6.25 The argument filtering Pi contains the following mapping: 20.62/6.25 mergesort_in_ag(x1, x2) = mergesort_in_ag(x2) 20.62/6.25 20.62/6.25 [] = [] 20.62/6.25 20.62/6.25 mergesort_out_ag(x1, x2) = mergesort_out_ag(x1) 20.62/6.25 20.62/6.25 .(x1, x2) = .(x2) 20.62/6.25 20.62/6.25 U1_ag(x1, x2, x3, x4, x5) = U1_ag(x4, x5) 20.62/6.25 20.62/6.25 split_in_aaa(x1, x2, x3) = split_in_aaa 20.62/6.25 20.62/6.25 split_out_aaa(x1, x2, x3) = split_out_aaa(x1, x2, x3) 20.62/6.25 20.62/6.25 U5_aaa(x1, x2, x3, x4, x5) = U5_aaa(x5) 20.62/6.25 20.62/6.25 U2_ag(x1, x2, x3, x4, x5, x6) = U2_ag(x3, x4, x5, x6) 20.62/6.25 20.62/6.25 mergesort_in_ga(x1, x2) = mergesort_in_ga(x1) 20.62/6.25 20.62/6.25 mergesort_out_ga(x1, x2) = mergesort_out_ga(x2) 20.62/6.25 20.62/6.25 U1_ga(x1, x2, x3, x4, x5) = U1_ga(x5) 20.62/6.25 20.62/6.25 split_in_gaa(x1, x2, x3) = split_in_gaa(x1) 20.62/6.25 20.62/6.25 split_out_gaa(x1, x2, x3) = split_out_gaa(x2, x3) 20.62/6.25 20.62/6.25 U5_gaa(x1, x2, x3, x4, x5) = U5_gaa(x5) 20.62/6.25 20.62/6.25 U2_ga(x1, x2, x3, x4, x5, x6) = U2_ga(x5, x6) 20.62/6.25 20.62/6.25 U3_ga(x1, x2, x3, x4, x5, x6) = U3_ga(x5, x6) 20.62/6.25 20.62/6.25 U4_ga(x1, x2, x3, x4, x5) = U4_ga(x5) 20.62/6.25 20.62/6.25 merge_in_gga(x1, x2, x3) = merge_in_gga(x1, x2) 20.62/6.25 20.62/6.25 merge_out_gga(x1, x2, x3) = merge_out_gga(x3) 20.62/6.25 20.62/6.25 U6_gga(x1, x2, x3, x4, x5, x6) = U6_gga(x2, x4, x6) 20.62/6.25 20.62/6.25 =_in_aa(x1, x2) = =_in_aa 20.62/6.25 20.62/6.25 =_out_aa(x1, x2) = =_out_aa 20.62/6.25 20.62/6.25 U7_gga(x1, x2, x3, x4, x5, x6) = U7_gga(x6) 20.62/6.25 20.62/6.25 U3_ag(x1, x2, x3, x4, x5, x6) = U3_ag(x3, x4, x5, x6) 20.62/6.25 20.62/6.25 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x3, x5) 20.62/6.25 20.62/6.25 merge_in_ggg(x1, x2, x3) = merge_in_ggg(x1, x2, x3) 20.62/6.25 20.62/6.25 merge_out_ggg(x1, x2, x3) = merge_out_ggg 20.62/6.25 20.62/6.25 U6_ggg(x1, x2, x3, x4, x5, x6) = U6_ggg(x2, x4, x5, x6) 20.62/6.25 20.62/6.25 U7_ggg(x1, x2, x3, x4, x5, x6) = U7_ggg(x6) 20.62/6.25 20.62/6.25 20.62/6.25 20.62/6.25 20.62/6.25 20.62/6.25 Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog 20.62/6.25 20.62/6.25 20.62/6.25 20.62/6.25 ---------------------------------------- 20.62/6.25 20.62/6.25 (59) 20.62/6.25 Obligation: 20.62/6.25 Pi-finite rewrite system: 20.62/6.25 The TRS R consists of the following rules: 20.62/6.25 20.62/6.25 mergesort_in_ag([], []) -> mergesort_out_ag([], []) 20.62/6.25 mergesort_in_ag(.(X, []), .(X, [])) -> mergesort_out_ag(.(X, []), .(X, [])) 20.62/6.25 mergesort_in_ag(.(X, .(Y, Xs)), Ys) -> U1_ag(X, Y, Xs, Ys, split_in_aaa(.(X, .(Y, Xs)), X1s, X2s)) 20.62/6.25 split_in_aaa([], [], []) -> split_out_aaa([], [], []) 20.62/6.25 split_in_aaa(.(X, Xs), .(X, Ys), Zs) -> U5_aaa(X, Xs, Ys, Zs, split_in_aaa(Xs, Zs, Ys)) 20.62/6.25 U5_aaa(X, Xs, Ys, Zs, split_out_aaa(Xs, Zs, Ys)) -> split_out_aaa(.(X, Xs), .(X, Ys), Zs) 20.62/6.25 U1_ag(X, Y, Xs, Ys, split_out_aaa(.(X, .(Y, Xs)), X1s, X2s)) -> U2_ag(X, Y, Xs, Ys, X2s, mergesort_in_ga(X1s, Y1s)) 20.62/6.25 mergesort_in_ga([], []) -> mergesort_out_ga([], []) 20.62/6.25 mergesort_in_ga(.(X, []), .(X, [])) -> mergesort_out_ga(.(X, []), .(X, [])) 20.62/6.25 mergesort_in_ga(.(X, .(Y, Xs)), Ys) -> U1_ga(X, Y, Xs, Ys, split_in_gaa(.(X, .(Y, Xs)), X1s, X2s)) 20.62/6.25 split_in_gaa([], [], []) -> split_out_gaa([], [], []) 20.62/6.25 split_in_gaa(.(X, Xs), .(X, Ys), Zs) -> U5_gaa(X, Xs, Ys, Zs, split_in_gaa(Xs, Zs, Ys)) 20.62/6.25 U5_gaa(X, Xs, Ys, Zs, split_out_gaa(Xs, Zs, Ys)) -> split_out_gaa(.(X, Xs), .(X, Ys), Zs) 20.62/6.25 U1_ga(X, Y, Xs, Ys, split_out_gaa(.(X, .(Y, Xs)), X1s, X2s)) -> U2_ga(X, Y, Xs, Ys, X2s, mergesort_in_ga(X1s, Y1s)) 20.62/6.25 U2_ga(X, Y, Xs, Ys, X2s, mergesort_out_ga(X1s, Y1s)) -> U3_ga(X, Y, Xs, Ys, Y1s, mergesort_in_ga(X2s, Y2s)) 20.62/6.25 U3_ga(X, Y, Xs, Ys, Y1s, mergesort_out_ga(X2s, Y2s)) -> U4_ga(X, Y, Xs, Ys, merge_in_gga(Y1s, Y2s, Ys)) 20.62/6.25 merge_in_gga([], Xs, Xs) -> merge_out_gga([], Xs, Xs) 20.62/6.25 merge_in_gga(Xs, [], Xs) -> merge_out_gga(Xs, [], Xs) 20.62/6.25 merge_in_gga(.(X, Xs), .(Y, Ys), .(X, Zs)) -> U6_gga(X, Xs, Y, Ys, Zs, =_in_aa(X, Y)) 20.62/6.25 =_in_aa(X, X) -> =_out_aa(X, X) 20.62/6.25 U6_gga(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> U7_gga(X, Xs, Y, Ys, Zs, merge_in_gga(.(X, Xs), Ys, Zs)) 20.62/6.25 U7_gga(X, Xs, Y, Ys, Zs, merge_out_gga(.(X, Xs), Ys, Zs)) -> merge_out_gga(.(X, Xs), .(Y, Ys), .(X, Zs)) 20.62/6.25 U4_ga(X, Y, Xs, Ys, merge_out_gga(Y1s, Y2s, Ys)) -> mergesort_out_ga(.(X, .(Y, Xs)), Ys) 20.62/6.25 U2_ag(X, Y, Xs, Ys, X2s, mergesort_out_ga(X1s, Y1s)) -> U3_ag(X, Y, Xs, Ys, Y1s, mergesort_in_ga(X2s, Y2s)) 20.62/6.25 U3_ag(X, Y, Xs, Ys, Y1s, mergesort_out_ga(X2s, Y2s)) -> U4_ag(X, Y, Xs, Ys, merge_in_ggg(Y1s, Y2s, Ys)) 20.62/6.25 merge_in_ggg([], Xs, Xs) -> merge_out_ggg([], Xs, Xs) 20.62/6.25 merge_in_ggg(Xs, [], Xs) -> merge_out_ggg(Xs, [], Xs) 20.62/6.25 merge_in_ggg(.(X, Xs), .(Y, Ys), .(X, Zs)) -> U6_ggg(X, Xs, Y, Ys, Zs, =_in_aa(X, Y)) 20.62/6.25 U6_ggg(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> U7_ggg(X, Xs, Y, Ys, Zs, merge_in_ggg(.(X, Xs), Ys, Zs)) 20.62/6.25 U7_ggg(X, Xs, Y, Ys, Zs, merge_out_ggg(.(X, Xs), Ys, Zs)) -> merge_out_ggg(.(X, Xs), .(Y, Ys), .(X, Zs)) 20.62/6.25 U4_ag(X, Y, Xs, Ys, merge_out_ggg(Y1s, Y2s, Ys)) -> mergesort_out_ag(.(X, .(Y, Xs)), Ys) 20.62/6.25 20.62/6.25 The argument filtering Pi contains the following mapping: 20.62/6.25 mergesort_in_ag(x1, x2) = mergesort_in_ag(x2) 20.62/6.25 20.62/6.25 [] = [] 20.62/6.25 20.62/6.25 mergesort_out_ag(x1, x2) = mergesort_out_ag(x1) 20.62/6.25 20.62/6.25 .(x1, x2) = .(x2) 20.62/6.25 20.62/6.25 U1_ag(x1, x2, x3, x4, x5) = U1_ag(x4, x5) 20.62/6.25 20.62/6.25 split_in_aaa(x1, x2, x3) = split_in_aaa 20.62/6.25 20.62/6.25 split_out_aaa(x1, x2, x3) = split_out_aaa(x1, x2, x3) 20.62/6.25 20.62/6.25 U5_aaa(x1, x2, x3, x4, x5) = U5_aaa(x5) 20.62/6.25 20.62/6.25 U2_ag(x1, x2, x3, x4, x5, x6) = U2_ag(x3, x4, x5, x6) 20.62/6.25 20.62/6.25 mergesort_in_ga(x1, x2) = mergesort_in_ga(x1) 20.62/6.25 20.62/6.25 mergesort_out_ga(x1, x2) = mergesort_out_ga(x2) 20.62/6.25 20.62/6.25 U1_ga(x1, x2, x3, x4, x5) = U1_ga(x5) 20.62/6.25 20.62/6.25 split_in_gaa(x1, x2, x3) = split_in_gaa(x1) 20.62/6.25 20.62/6.25 split_out_gaa(x1, x2, x3) = split_out_gaa(x2, x3) 20.62/6.25 20.62/6.25 U5_gaa(x1, x2, x3, x4, x5) = U5_gaa(x5) 20.62/6.25 20.62/6.25 U2_ga(x1, x2, x3, x4, x5, x6) = U2_ga(x5, x6) 20.62/6.25 20.62/6.25 U3_ga(x1, x2, x3, x4, x5, x6) = U3_ga(x5, x6) 20.62/6.25 20.62/6.25 U4_ga(x1, x2, x3, x4, x5) = U4_ga(x5) 20.62/6.25 20.62/6.25 merge_in_gga(x1, x2, x3) = merge_in_gga(x1, x2) 20.62/6.25 20.62/6.25 merge_out_gga(x1, x2, x3) = merge_out_gga(x3) 20.62/6.25 20.62/6.25 U6_gga(x1, x2, x3, x4, x5, x6) = U6_gga(x2, x4, x6) 20.62/6.25 20.62/6.25 =_in_aa(x1, x2) = =_in_aa 20.62/6.25 20.62/6.25 =_out_aa(x1, x2) = =_out_aa 20.62/6.25 20.62/6.25 U7_gga(x1, x2, x3, x4, x5, x6) = U7_gga(x6) 20.62/6.25 20.62/6.25 U3_ag(x1, x2, x3, x4, x5, x6) = U3_ag(x3, x4, x5, x6) 20.62/6.25 20.62/6.25 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x3, x5) 20.62/6.25 20.62/6.25 merge_in_ggg(x1, x2, x3) = merge_in_ggg(x1, x2, x3) 20.62/6.25 20.62/6.25 merge_out_ggg(x1, x2, x3) = merge_out_ggg 20.62/6.25 20.62/6.25 U6_ggg(x1, x2, x3, x4, x5, x6) = U6_ggg(x2, x4, x5, x6) 20.62/6.25 20.62/6.25 U7_ggg(x1, x2, x3, x4, x5, x6) = U7_ggg(x6) 20.62/6.25 20.62/6.25 20.62/6.25 20.62/6.25 ---------------------------------------- 20.62/6.25 20.62/6.25 (60) DependencyPairsProof (EQUIVALENT) 20.62/6.25 Using Dependency Pairs [AG00,LOPSTR] we result in the following initial DP problem: 20.62/6.25 Pi DP problem: 20.62/6.25 The TRS P consists of the following rules: 20.62/6.25 20.62/6.25 MERGESORT_IN_AG(.(X, .(Y, Xs)), Ys) -> U1_AG(X, Y, Xs, Ys, split_in_aaa(.(X, .(Y, Xs)), X1s, X2s)) 20.62/6.25 MERGESORT_IN_AG(.(X, .(Y, Xs)), Ys) -> SPLIT_IN_AAA(.(X, .(Y, Xs)), X1s, X2s) 20.62/6.25 SPLIT_IN_AAA(.(X, Xs), .(X, Ys), Zs) -> U5_AAA(X, Xs, Ys, Zs, split_in_aaa(Xs, Zs, Ys)) 20.62/6.25 SPLIT_IN_AAA(.(X, Xs), .(X, Ys), Zs) -> SPLIT_IN_AAA(Xs, Zs, Ys) 20.62/6.25 U1_AG(X, Y, Xs, Ys, split_out_aaa(.(X, .(Y, Xs)), X1s, X2s)) -> U2_AG(X, Y, Xs, Ys, X2s, mergesort_in_ga(X1s, Y1s)) 20.62/6.25 U1_AG(X, Y, Xs, Ys, split_out_aaa(.(X, .(Y, Xs)), X1s, X2s)) -> MERGESORT_IN_GA(X1s, Y1s) 20.62/6.25 MERGESORT_IN_GA(.(X, .(Y, Xs)), Ys) -> U1_GA(X, Y, Xs, Ys, split_in_gaa(.(X, .(Y, Xs)), X1s, X2s)) 20.62/6.25 MERGESORT_IN_GA(.(X, .(Y, Xs)), Ys) -> SPLIT_IN_GAA(.(X, .(Y, Xs)), X1s, X2s) 20.62/6.25 SPLIT_IN_GAA(.(X, Xs), .(X, Ys), Zs) -> U5_GAA(X, Xs, Ys, Zs, split_in_gaa(Xs, Zs, Ys)) 20.62/6.25 SPLIT_IN_GAA(.(X, Xs), .(X, Ys), Zs) -> SPLIT_IN_GAA(Xs, Zs, Ys) 20.62/6.25 U1_GA(X, Y, Xs, Ys, split_out_gaa(.(X, .(Y, Xs)), X1s, X2s)) -> U2_GA(X, Y, Xs, Ys, X2s, mergesort_in_ga(X1s, Y1s)) 20.62/6.25 U1_GA(X, Y, Xs, Ys, split_out_gaa(.(X, .(Y, Xs)), X1s, X2s)) -> MERGESORT_IN_GA(X1s, Y1s) 20.62/6.25 U2_GA(X, Y, Xs, Ys, X2s, mergesort_out_ga(X1s, Y1s)) -> U3_GA(X, Y, Xs, Ys, Y1s, mergesort_in_ga(X2s, Y2s)) 20.62/6.25 U2_GA(X, Y, Xs, Ys, X2s, mergesort_out_ga(X1s, Y1s)) -> MERGESORT_IN_GA(X2s, Y2s) 20.62/6.25 U3_GA(X, Y, Xs, Ys, Y1s, mergesort_out_ga(X2s, Y2s)) -> U4_GA(X, Y, Xs, Ys, merge_in_gga(Y1s, Y2s, Ys)) 20.62/6.25 U3_GA(X, Y, Xs, Ys, Y1s, mergesort_out_ga(X2s, Y2s)) -> MERGE_IN_GGA(Y1s, Y2s, Ys) 20.62/6.25 MERGE_IN_GGA(.(X, Xs), .(Y, Ys), .(X, Zs)) -> U6_GGA(X, Xs, Y, Ys, Zs, =_in_aa(X, Y)) 20.62/6.25 MERGE_IN_GGA(.(X, Xs), .(Y, Ys), .(X, Zs)) -> =_IN_AA(X, Y) 20.62/6.25 U6_GGA(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> U7_GGA(X, Xs, Y, Ys, Zs, merge_in_gga(.(X, Xs), Ys, Zs)) 20.62/6.25 U6_GGA(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> MERGE_IN_GGA(.(X, Xs), Ys, Zs) 20.62/6.25 U2_AG(X, Y, Xs, Ys, X2s, mergesort_out_ga(X1s, Y1s)) -> U3_AG(X, Y, Xs, Ys, Y1s, mergesort_in_ga(X2s, Y2s)) 20.62/6.25 U2_AG(X, Y, Xs, Ys, X2s, mergesort_out_ga(X1s, Y1s)) -> MERGESORT_IN_GA(X2s, Y2s) 20.62/6.25 U3_AG(X, Y, Xs, Ys, Y1s, mergesort_out_ga(X2s, Y2s)) -> U4_AG(X, Y, Xs, Ys, merge_in_ggg(Y1s, Y2s, Ys)) 20.62/6.25 U3_AG(X, Y, Xs, Ys, Y1s, mergesort_out_ga(X2s, Y2s)) -> MERGE_IN_GGG(Y1s, Y2s, Ys) 20.62/6.25 MERGE_IN_GGG(.(X, Xs), .(Y, Ys), .(X, Zs)) -> U6_GGG(X, Xs, Y, Ys, Zs, =_in_aa(X, Y)) 20.62/6.25 MERGE_IN_GGG(.(X, Xs), .(Y, Ys), .(X, Zs)) -> =_IN_AA(X, Y) 20.62/6.25 U6_GGG(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> U7_GGG(X, Xs, Y, Ys, Zs, merge_in_ggg(.(X, Xs), Ys, Zs)) 20.62/6.25 U6_GGG(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> MERGE_IN_GGG(.(X, Xs), Ys, Zs) 20.62/6.25 20.62/6.25 The TRS R consists of the following rules: 20.62/6.25 20.62/6.25 mergesort_in_ag([], []) -> mergesort_out_ag([], []) 20.62/6.25 mergesort_in_ag(.(X, []), .(X, [])) -> mergesort_out_ag(.(X, []), .(X, [])) 20.62/6.25 mergesort_in_ag(.(X, .(Y, Xs)), Ys) -> U1_ag(X, Y, Xs, Ys, split_in_aaa(.(X, .(Y, Xs)), X1s, X2s)) 20.62/6.25 split_in_aaa([], [], []) -> split_out_aaa([], [], []) 20.62/6.25 split_in_aaa(.(X, Xs), .(X, Ys), Zs) -> U5_aaa(X, Xs, Ys, Zs, split_in_aaa(Xs, Zs, Ys)) 20.62/6.25 U5_aaa(X, Xs, Ys, Zs, split_out_aaa(Xs, Zs, Ys)) -> split_out_aaa(.(X, Xs), .(X, Ys), Zs) 20.62/6.25 U1_ag(X, Y, Xs, Ys, split_out_aaa(.(X, .(Y, Xs)), X1s, X2s)) -> U2_ag(X, Y, Xs, Ys, X2s, mergesort_in_ga(X1s, Y1s)) 20.62/6.28 mergesort_in_ga([], []) -> mergesort_out_ga([], []) 20.62/6.28 mergesort_in_ga(.(X, []), .(X, [])) -> mergesort_out_ga(.(X, []), .(X, [])) 20.62/6.28 mergesort_in_ga(.(X, .(Y, Xs)), Ys) -> U1_ga(X, Y, Xs, Ys, split_in_gaa(.(X, .(Y, Xs)), X1s, X2s)) 20.62/6.28 split_in_gaa([], [], []) -> split_out_gaa([], [], []) 20.62/6.28 split_in_gaa(.(X, Xs), .(X, Ys), Zs) -> U5_gaa(X, Xs, Ys, Zs, split_in_gaa(Xs, Zs, Ys)) 20.62/6.28 U5_gaa(X, Xs, Ys, Zs, split_out_gaa(Xs, Zs, Ys)) -> split_out_gaa(.(X, Xs), .(X, Ys), Zs) 20.62/6.28 U1_ga(X, Y, Xs, Ys, split_out_gaa(.(X, .(Y, Xs)), X1s, X2s)) -> U2_ga(X, Y, Xs, Ys, X2s, mergesort_in_ga(X1s, Y1s)) 20.62/6.28 U2_ga(X, Y, Xs, Ys, X2s, mergesort_out_ga(X1s, Y1s)) -> U3_ga(X, Y, Xs, Ys, Y1s, mergesort_in_ga(X2s, Y2s)) 20.62/6.28 U3_ga(X, Y, Xs, Ys, Y1s, mergesort_out_ga(X2s, Y2s)) -> U4_ga(X, Y, Xs, Ys, merge_in_gga(Y1s, Y2s, Ys)) 20.62/6.28 merge_in_gga([], Xs, Xs) -> merge_out_gga([], Xs, Xs) 20.62/6.28 merge_in_gga(Xs, [], Xs) -> merge_out_gga(Xs, [], Xs) 20.62/6.28 merge_in_gga(.(X, Xs), .(Y, Ys), .(X, Zs)) -> U6_gga(X, Xs, Y, Ys, Zs, =_in_aa(X, Y)) 20.62/6.28 =_in_aa(X, X) -> =_out_aa(X, X) 20.62/6.28 U6_gga(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> U7_gga(X, Xs, Y, Ys, Zs, merge_in_gga(.(X, Xs), Ys, Zs)) 20.62/6.28 U7_gga(X, Xs, Y, Ys, Zs, merge_out_gga(.(X, Xs), Ys, Zs)) -> merge_out_gga(.(X, Xs), .(Y, Ys), .(X, Zs)) 20.62/6.28 U4_ga(X, Y, Xs, Ys, merge_out_gga(Y1s, Y2s, Ys)) -> mergesort_out_ga(.(X, .(Y, Xs)), Ys) 20.62/6.28 U2_ag(X, Y, Xs, Ys, X2s, mergesort_out_ga(X1s, Y1s)) -> U3_ag(X, Y, Xs, Ys, Y1s, mergesort_in_ga(X2s, Y2s)) 20.62/6.28 U3_ag(X, Y, Xs, Ys, Y1s, mergesort_out_ga(X2s, Y2s)) -> U4_ag(X, Y, Xs, Ys, merge_in_ggg(Y1s, Y2s, Ys)) 20.62/6.28 merge_in_ggg([], Xs, Xs) -> merge_out_ggg([], Xs, Xs) 20.62/6.28 merge_in_ggg(Xs, [], Xs) -> merge_out_ggg(Xs, [], Xs) 20.62/6.28 merge_in_ggg(.(X, Xs), .(Y, Ys), .(X, Zs)) -> U6_ggg(X, Xs, Y, Ys, Zs, =_in_aa(X, Y)) 20.62/6.28 U6_ggg(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> U7_ggg(X, Xs, Y, Ys, Zs, merge_in_ggg(.(X, Xs), Ys, Zs)) 20.62/6.28 U7_ggg(X, Xs, Y, Ys, Zs, merge_out_ggg(.(X, Xs), Ys, Zs)) -> merge_out_ggg(.(X, Xs), .(Y, Ys), .(X, Zs)) 20.62/6.28 U4_ag(X, Y, Xs, Ys, merge_out_ggg(Y1s, Y2s, Ys)) -> mergesort_out_ag(.(X, .(Y, Xs)), Ys) 20.62/6.28 20.62/6.28 The argument filtering Pi contains the following mapping: 20.62/6.28 mergesort_in_ag(x1, x2) = mergesort_in_ag(x2) 20.62/6.28 20.62/6.28 [] = [] 20.62/6.28 20.62/6.28 mergesort_out_ag(x1, x2) = mergesort_out_ag(x1) 20.62/6.28 20.62/6.28 .(x1, x2) = .(x2) 20.62/6.28 20.62/6.28 U1_ag(x1, x2, x3, x4, x5) = U1_ag(x4, x5) 20.62/6.28 20.62/6.28 split_in_aaa(x1, x2, x3) = split_in_aaa 20.62/6.28 20.62/6.28 split_out_aaa(x1, x2, x3) = split_out_aaa(x1, x2, x3) 20.62/6.28 20.62/6.28 U5_aaa(x1, x2, x3, x4, x5) = U5_aaa(x5) 20.62/6.28 20.62/6.28 U2_ag(x1, x2, x3, x4, x5, x6) = U2_ag(x3, x4, x5, x6) 20.62/6.28 20.62/6.28 mergesort_in_ga(x1, x2) = mergesort_in_ga(x1) 20.62/6.28 20.62/6.28 mergesort_out_ga(x1, x2) = mergesort_out_ga(x2) 20.62/6.28 20.62/6.28 U1_ga(x1, x2, x3, x4, x5) = U1_ga(x5) 20.62/6.28 20.62/6.28 split_in_gaa(x1, x2, x3) = split_in_gaa(x1) 20.62/6.28 20.62/6.28 split_out_gaa(x1, x2, x3) = split_out_gaa(x2, x3) 20.62/6.28 20.62/6.28 U5_gaa(x1, x2, x3, x4, x5) = U5_gaa(x5) 20.62/6.28 20.62/6.28 U2_ga(x1, x2, x3, x4, x5, x6) = U2_ga(x5, x6) 20.62/6.28 20.62/6.28 U3_ga(x1, x2, x3, x4, x5, x6) = U3_ga(x5, x6) 20.62/6.28 20.62/6.28 U4_ga(x1, x2, x3, x4, x5) = U4_ga(x5) 20.62/6.28 20.62/6.28 merge_in_gga(x1, x2, x3) = merge_in_gga(x1, x2) 20.62/6.28 20.62/6.28 merge_out_gga(x1, x2, x3) = merge_out_gga(x3) 20.62/6.28 20.62/6.28 U6_gga(x1, x2, x3, x4, x5, x6) = U6_gga(x2, x4, x6) 20.62/6.28 20.62/6.28 =_in_aa(x1, x2) = =_in_aa 20.62/6.28 20.62/6.28 =_out_aa(x1, x2) = =_out_aa 20.62/6.28 20.62/6.28 U7_gga(x1, x2, x3, x4, x5, x6) = U7_gga(x6) 20.62/6.28 20.62/6.28 U3_ag(x1, x2, x3, x4, x5, x6) = U3_ag(x3, x4, x5, x6) 20.62/6.28 20.62/6.28 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x3, x5) 20.62/6.28 20.62/6.28 merge_in_ggg(x1, x2, x3) = merge_in_ggg(x1, x2, x3) 20.62/6.28 20.62/6.28 merge_out_ggg(x1, x2, x3) = merge_out_ggg 20.62/6.28 20.62/6.28 U6_ggg(x1, x2, x3, x4, x5, x6) = U6_ggg(x2, x4, x5, x6) 20.62/6.28 20.62/6.28 U7_ggg(x1, x2, x3, x4, x5, x6) = U7_ggg(x6) 20.62/6.28 20.62/6.28 MERGESORT_IN_AG(x1, x2) = MERGESORT_IN_AG(x2) 20.62/6.28 20.62/6.28 U1_AG(x1, x2, x3, x4, x5) = U1_AG(x4, x5) 20.62/6.28 20.62/6.28 SPLIT_IN_AAA(x1, x2, x3) = SPLIT_IN_AAA 20.62/6.28 20.62/6.28 U5_AAA(x1, x2, x3, x4, x5) = U5_AAA(x5) 20.62/6.28 20.62/6.28 U2_AG(x1, x2, x3, x4, x5, x6) = U2_AG(x3, x4, x5, x6) 20.62/6.28 20.62/6.28 MERGESORT_IN_GA(x1, x2) = MERGESORT_IN_GA(x1) 20.62/6.28 20.62/6.28 U1_GA(x1, x2, x3, x4, x5) = U1_GA(x5) 20.62/6.28 20.62/6.28 SPLIT_IN_GAA(x1, x2, x3) = SPLIT_IN_GAA(x1) 20.62/6.28 20.62/6.28 U5_GAA(x1, x2, x3, x4, x5) = U5_GAA(x5) 20.62/6.28 20.62/6.28 U2_GA(x1, x2, x3, x4, x5, x6) = U2_GA(x5, x6) 20.62/6.28 20.62/6.28 U3_GA(x1, x2, x3, x4, x5, x6) = U3_GA(x5, x6) 20.62/6.28 20.62/6.28 U4_GA(x1, x2, x3, x4, x5) = U4_GA(x5) 20.62/6.28 20.62/6.28 MERGE_IN_GGA(x1, x2, x3) = MERGE_IN_GGA(x1, x2) 20.62/6.28 20.62/6.28 U6_GGA(x1, x2, x3, x4, x5, x6) = U6_GGA(x2, x4, x6) 20.62/6.28 20.62/6.28 =_IN_AA(x1, x2) = =_IN_AA 20.62/6.28 20.62/6.28 U7_GGA(x1, x2, x3, x4, x5, x6) = U7_GGA(x6) 20.62/6.28 20.62/6.28 U3_AG(x1, x2, x3, x4, x5, x6) = U3_AG(x3, x4, x5, x6) 20.62/6.28 20.62/6.28 U4_AG(x1, x2, x3, x4, x5) = U4_AG(x3, x5) 20.62/6.28 20.62/6.28 MERGE_IN_GGG(x1, x2, x3) = MERGE_IN_GGG(x1, x2, x3) 20.62/6.28 20.62/6.28 U6_GGG(x1, x2, x3, x4, x5, x6) = U6_GGG(x2, x4, x5, x6) 20.62/6.28 20.62/6.28 U7_GGG(x1, x2, x3, x4, x5, x6) = U7_GGG(x6) 20.62/6.28 20.62/6.28 20.62/6.28 We have to consider all (P,R,Pi)-chains 20.62/6.28 ---------------------------------------- 20.62/6.28 20.62/6.28 (61) 20.62/6.28 Obligation: 20.62/6.28 Pi DP problem: 20.62/6.28 The TRS P consists of the following rules: 20.62/6.28 20.62/6.28 MERGESORT_IN_AG(.(X, .(Y, Xs)), Ys) -> U1_AG(X, Y, Xs, Ys, split_in_aaa(.(X, .(Y, Xs)), X1s, X2s)) 20.62/6.28 MERGESORT_IN_AG(.(X, .(Y, Xs)), Ys) -> SPLIT_IN_AAA(.(X, .(Y, Xs)), X1s, X2s) 20.62/6.28 SPLIT_IN_AAA(.(X, Xs), .(X, Ys), Zs) -> U5_AAA(X, Xs, Ys, Zs, split_in_aaa(Xs, Zs, Ys)) 20.62/6.28 SPLIT_IN_AAA(.(X, Xs), .(X, Ys), Zs) -> SPLIT_IN_AAA(Xs, Zs, Ys) 20.62/6.28 U1_AG(X, Y, Xs, Ys, split_out_aaa(.(X, .(Y, Xs)), X1s, X2s)) -> U2_AG(X, Y, Xs, Ys, X2s, mergesort_in_ga(X1s, Y1s)) 20.62/6.28 U1_AG(X, Y, Xs, Ys, split_out_aaa(.(X, .(Y, Xs)), X1s, X2s)) -> MERGESORT_IN_GA(X1s, Y1s) 20.62/6.28 MERGESORT_IN_GA(.(X, .(Y, Xs)), Ys) -> U1_GA(X, Y, Xs, Ys, split_in_gaa(.(X, .(Y, Xs)), X1s, X2s)) 20.62/6.28 MERGESORT_IN_GA(.(X, .(Y, Xs)), Ys) -> SPLIT_IN_GAA(.(X, .(Y, Xs)), X1s, X2s) 20.62/6.28 SPLIT_IN_GAA(.(X, Xs), .(X, Ys), Zs) -> U5_GAA(X, Xs, Ys, Zs, split_in_gaa(Xs, Zs, Ys)) 20.62/6.28 SPLIT_IN_GAA(.(X, Xs), .(X, Ys), Zs) -> SPLIT_IN_GAA(Xs, Zs, Ys) 20.62/6.28 U1_GA(X, Y, Xs, Ys, split_out_gaa(.(X, .(Y, Xs)), X1s, X2s)) -> U2_GA(X, Y, Xs, Ys, X2s, mergesort_in_ga(X1s, Y1s)) 20.62/6.28 U1_GA(X, Y, Xs, Ys, split_out_gaa(.(X, .(Y, Xs)), X1s, X2s)) -> MERGESORT_IN_GA(X1s, Y1s) 20.62/6.28 U2_GA(X, Y, Xs, Ys, X2s, mergesort_out_ga(X1s, Y1s)) -> U3_GA(X, Y, Xs, Ys, Y1s, mergesort_in_ga(X2s, Y2s)) 20.62/6.28 U2_GA(X, Y, Xs, Ys, X2s, mergesort_out_ga(X1s, Y1s)) -> MERGESORT_IN_GA(X2s, Y2s) 20.62/6.28 U3_GA(X, Y, Xs, Ys, Y1s, mergesort_out_ga(X2s, Y2s)) -> U4_GA(X, Y, Xs, Ys, merge_in_gga(Y1s, Y2s, Ys)) 20.62/6.28 U3_GA(X, Y, Xs, Ys, Y1s, mergesort_out_ga(X2s, Y2s)) -> MERGE_IN_GGA(Y1s, Y2s, Ys) 20.62/6.28 MERGE_IN_GGA(.(X, Xs), .(Y, Ys), .(X, Zs)) -> U6_GGA(X, Xs, Y, Ys, Zs, =_in_aa(X, Y)) 20.62/6.28 MERGE_IN_GGA(.(X, Xs), .(Y, Ys), .(X, Zs)) -> =_IN_AA(X, Y) 20.62/6.28 U6_GGA(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> U7_GGA(X, Xs, Y, Ys, Zs, merge_in_gga(.(X, Xs), Ys, Zs)) 20.62/6.28 U6_GGA(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> MERGE_IN_GGA(.(X, Xs), Ys, Zs) 20.62/6.28 U2_AG(X, Y, Xs, Ys, X2s, mergesort_out_ga(X1s, Y1s)) -> U3_AG(X, Y, Xs, Ys, Y1s, mergesort_in_ga(X2s, Y2s)) 20.62/6.28 U2_AG(X, Y, Xs, Ys, X2s, mergesort_out_ga(X1s, Y1s)) -> MERGESORT_IN_GA(X2s, Y2s) 20.62/6.28 U3_AG(X, Y, Xs, Ys, Y1s, mergesort_out_ga(X2s, Y2s)) -> U4_AG(X, Y, Xs, Ys, merge_in_ggg(Y1s, Y2s, Ys)) 20.62/6.28 U3_AG(X, Y, Xs, Ys, Y1s, mergesort_out_ga(X2s, Y2s)) -> MERGE_IN_GGG(Y1s, Y2s, Ys) 20.62/6.28 MERGE_IN_GGG(.(X, Xs), .(Y, Ys), .(X, Zs)) -> U6_GGG(X, Xs, Y, Ys, Zs, =_in_aa(X, Y)) 20.62/6.28 MERGE_IN_GGG(.(X, Xs), .(Y, Ys), .(X, Zs)) -> =_IN_AA(X, Y) 20.62/6.28 U6_GGG(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> U7_GGG(X, Xs, Y, Ys, Zs, merge_in_ggg(.(X, Xs), Ys, Zs)) 20.62/6.28 U6_GGG(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> MERGE_IN_GGG(.(X, Xs), Ys, Zs) 20.62/6.28 20.62/6.28 The TRS R consists of the following rules: 20.62/6.28 20.62/6.28 mergesort_in_ag([], []) -> mergesort_out_ag([], []) 20.62/6.28 mergesort_in_ag(.(X, []), .(X, [])) -> mergesort_out_ag(.(X, []), .(X, [])) 20.62/6.28 mergesort_in_ag(.(X, .(Y, Xs)), Ys) -> U1_ag(X, Y, Xs, Ys, split_in_aaa(.(X, .(Y, Xs)), X1s, X2s)) 20.62/6.28 split_in_aaa([], [], []) -> split_out_aaa([], [], []) 20.62/6.28 split_in_aaa(.(X, Xs), .(X, Ys), Zs) -> U5_aaa(X, Xs, Ys, Zs, split_in_aaa(Xs, Zs, Ys)) 20.62/6.28 U5_aaa(X, Xs, Ys, Zs, split_out_aaa(Xs, Zs, Ys)) -> split_out_aaa(.(X, Xs), .(X, Ys), Zs) 20.62/6.28 U1_ag(X, Y, Xs, Ys, split_out_aaa(.(X, .(Y, Xs)), X1s, X2s)) -> U2_ag(X, Y, Xs, Ys, X2s, mergesort_in_ga(X1s, Y1s)) 20.62/6.28 mergesort_in_ga([], []) -> mergesort_out_ga([], []) 20.62/6.28 mergesort_in_ga(.(X, []), .(X, [])) -> mergesort_out_ga(.(X, []), .(X, [])) 20.62/6.28 mergesort_in_ga(.(X, .(Y, Xs)), Ys) -> U1_ga(X, Y, Xs, Ys, split_in_gaa(.(X, .(Y, Xs)), X1s, X2s)) 20.62/6.28 split_in_gaa([], [], []) -> split_out_gaa([], [], []) 20.62/6.28 split_in_gaa(.(X, Xs), .(X, Ys), Zs) -> U5_gaa(X, Xs, Ys, Zs, split_in_gaa(Xs, Zs, Ys)) 20.62/6.28 U5_gaa(X, Xs, Ys, Zs, split_out_gaa(Xs, Zs, Ys)) -> split_out_gaa(.(X, Xs), .(X, Ys), Zs) 20.62/6.28 U1_ga(X, Y, Xs, Ys, split_out_gaa(.(X, .(Y, Xs)), X1s, X2s)) -> U2_ga(X, Y, Xs, Ys, X2s, mergesort_in_ga(X1s, Y1s)) 20.62/6.28 U2_ga(X, Y, Xs, Ys, X2s, mergesort_out_ga(X1s, Y1s)) -> U3_ga(X, Y, Xs, Ys, Y1s, mergesort_in_ga(X2s, Y2s)) 20.62/6.28 U3_ga(X, Y, Xs, Ys, Y1s, mergesort_out_ga(X2s, Y2s)) -> U4_ga(X, Y, Xs, Ys, merge_in_gga(Y1s, Y2s, Ys)) 20.62/6.28 merge_in_gga([], Xs, Xs) -> merge_out_gga([], Xs, Xs) 20.62/6.28 merge_in_gga(Xs, [], Xs) -> merge_out_gga(Xs, [], Xs) 20.62/6.28 merge_in_gga(.(X, Xs), .(Y, Ys), .(X, Zs)) -> U6_gga(X, Xs, Y, Ys, Zs, =_in_aa(X, Y)) 20.62/6.28 =_in_aa(X, X) -> =_out_aa(X, X) 20.62/6.28 U6_gga(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> U7_gga(X, Xs, Y, Ys, Zs, merge_in_gga(.(X, Xs), Ys, Zs)) 20.62/6.28 U7_gga(X, Xs, Y, Ys, Zs, merge_out_gga(.(X, Xs), Ys, Zs)) -> merge_out_gga(.(X, Xs), .(Y, Ys), .(X, Zs)) 20.62/6.28 U4_ga(X, Y, Xs, Ys, merge_out_gga(Y1s, Y2s, Ys)) -> mergesort_out_ga(.(X, .(Y, Xs)), Ys) 20.62/6.28 U2_ag(X, Y, Xs, Ys, X2s, mergesort_out_ga(X1s, Y1s)) -> U3_ag(X, Y, Xs, Ys, Y1s, mergesort_in_ga(X2s, Y2s)) 20.62/6.28 U3_ag(X, Y, Xs, Ys, Y1s, mergesort_out_ga(X2s, Y2s)) -> U4_ag(X, Y, Xs, Ys, merge_in_ggg(Y1s, Y2s, Ys)) 20.62/6.28 merge_in_ggg([], Xs, Xs) -> merge_out_ggg([], Xs, Xs) 20.62/6.28 merge_in_ggg(Xs, [], Xs) -> merge_out_ggg(Xs, [], Xs) 20.62/6.28 merge_in_ggg(.(X, Xs), .(Y, Ys), .(X, Zs)) -> U6_ggg(X, Xs, Y, Ys, Zs, =_in_aa(X, Y)) 20.62/6.28 U6_ggg(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> U7_ggg(X, Xs, Y, Ys, Zs, merge_in_ggg(.(X, Xs), Ys, Zs)) 20.62/6.28 U7_ggg(X, Xs, Y, Ys, Zs, merge_out_ggg(.(X, Xs), Ys, Zs)) -> merge_out_ggg(.(X, Xs), .(Y, Ys), .(X, Zs)) 20.62/6.28 U4_ag(X, Y, Xs, Ys, merge_out_ggg(Y1s, Y2s, Ys)) -> mergesort_out_ag(.(X, .(Y, Xs)), Ys) 20.62/6.28 20.62/6.28 The argument filtering Pi contains the following mapping: 20.62/6.28 mergesort_in_ag(x1, x2) = mergesort_in_ag(x2) 20.62/6.28 20.62/6.28 [] = [] 20.62/6.28 20.62/6.28 mergesort_out_ag(x1, x2) = mergesort_out_ag(x1) 20.62/6.28 20.62/6.28 .(x1, x2) = .(x2) 20.62/6.28 20.62/6.28 U1_ag(x1, x2, x3, x4, x5) = U1_ag(x4, x5) 20.62/6.28 20.62/6.28 split_in_aaa(x1, x2, x3) = split_in_aaa 20.62/6.28 20.62/6.28 split_out_aaa(x1, x2, x3) = split_out_aaa(x1, x2, x3) 20.62/6.28 20.62/6.28 U5_aaa(x1, x2, x3, x4, x5) = U5_aaa(x5) 20.62/6.28 20.62/6.28 U2_ag(x1, x2, x3, x4, x5, x6) = U2_ag(x3, x4, x5, x6) 20.62/6.28 20.62/6.28 mergesort_in_ga(x1, x2) = mergesort_in_ga(x1) 20.62/6.28 20.62/6.28 mergesort_out_ga(x1, x2) = mergesort_out_ga(x2) 20.62/6.28 20.62/6.28 U1_ga(x1, x2, x3, x4, x5) = U1_ga(x5) 20.62/6.28 20.62/6.28 split_in_gaa(x1, x2, x3) = split_in_gaa(x1) 20.62/6.28 20.62/6.28 split_out_gaa(x1, x2, x3) = split_out_gaa(x2, x3) 20.62/6.28 20.62/6.28 U5_gaa(x1, x2, x3, x4, x5) = U5_gaa(x5) 20.62/6.28 20.62/6.28 U2_ga(x1, x2, x3, x4, x5, x6) = U2_ga(x5, x6) 20.62/6.28 20.62/6.28 U3_ga(x1, x2, x3, x4, x5, x6) = U3_ga(x5, x6) 20.62/6.28 20.62/6.28 U4_ga(x1, x2, x3, x4, x5) = U4_ga(x5) 20.62/6.28 20.62/6.28 merge_in_gga(x1, x2, x3) = merge_in_gga(x1, x2) 20.62/6.28 20.62/6.28 merge_out_gga(x1, x2, x3) = merge_out_gga(x3) 20.62/6.28 20.62/6.28 U6_gga(x1, x2, x3, x4, x5, x6) = U6_gga(x2, x4, x6) 20.62/6.28 20.62/6.28 =_in_aa(x1, x2) = =_in_aa 20.62/6.28 20.62/6.28 =_out_aa(x1, x2) = =_out_aa 20.62/6.28 20.62/6.28 U7_gga(x1, x2, x3, x4, x5, x6) = U7_gga(x6) 20.62/6.28 20.62/6.28 U3_ag(x1, x2, x3, x4, x5, x6) = U3_ag(x3, x4, x5, x6) 20.62/6.28 20.62/6.28 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x3, x5) 20.62/6.28 20.62/6.28 merge_in_ggg(x1, x2, x3) = merge_in_ggg(x1, x2, x3) 20.62/6.28 20.62/6.28 merge_out_ggg(x1, x2, x3) = merge_out_ggg 20.62/6.28 20.62/6.28 U6_ggg(x1, x2, x3, x4, x5, x6) = U6_ggg(x2, x4, x5, x6) 20.62/6.28 20.62/6.28 U7_ggg(x1, x2, x3, x4, x5, x6) = U7_ggg(x6) 20.62/6.28 20.62/6.28 MERGESORT_IN_AG(x1, x2) = MERGESORT_IN_AG(x2) 20.62/6.28 20.62/6.28 U1_AG(x1, x2, x3, x4, x5) = U1_AG(x4, x5) 20.62/6.28 20.62/6.28 SPLIT_IN_AAA(x1, x2, x3) = SPLIT_IN_AAA 20.62/6.28 20.62/6.28 U5_AAA(x1, x2, x3, x4, x5) = U5_AAA(x5) 20.62/6.28 20.62/6.28 U2_AG(x1, x2, x3, x4, x5, x6) = U2_AG(x3, x4, x5, x6) 20.62/6.28 20.62/6.28 MERGESORT_IN_GA(x1, x2) = MERGESORT_IN_GA(x1) 20.62/6.28 20.62/6.28 U1_GA(x1, x2, x3, x4, x5) = U1_GA(x5) 20.62/6.28 20.62/6.28 SPLIT_IN_GAA(x1, x2, x3) = SPLIT_IN_GAA(x1) 20.62/6.28 20.62/6.28 U5_GAA(x1, x2, x3, x4, x5) = U5_GAA(x5) 20.62/6.28 20.62/6.28 U2_GA(x1, x2, x3, x4, x5, x6) = U2_GA(x5, x6) 20.62/6.28 20.62/6.28 U3_GA(x1, x2, x3, x4, x5, x6) = U3_GA(x5, x6) 20.62/6.28 20.62/6.28 U4_GA(x1, x2, x3, x4, x5) = U4_GA(x5) 20.62/6.28 20.62/6.28 MERGE_IN_GGA(x1, x2, x3) = MERGE_IN_GGA(x1, x2) 20.62/6.28 20.62/6.28 U6_GGA(x1, x2, x3, x4, x5, x6) = U6_GGA(x2, x4, x6) 20.62/6.28 20.62/6.28 =_IN_AA(x1, x2) = =_IN_AA 20.62/6.28 20.62/6.28 U7_GGA(x1, x2, x3, x4, x5, x6) = U7_GGA(x6) 20.62/6.28 20.62/6.28 U3_AG(x1, x2, x3, x4, x5, x6) = U3_AG(x3, x4, x5, x6) 20.62/6.28 20.62/6.28 U4_AG(x1, x2, x3, x4, x5) = U4_AG(x3, x5) 20.62/6.28 20.62/6.28 MERGE_IN_GGG(x1, x2, x3) = MERGE_IN_GGG(x1, x2, x3) 20.62/6.28 20.62/6.28 U6_GGG(x1, x2, x3, x4, x5, x6) = U6_GGG(x2, x4, x5, x6) 20.62/6.28 20.62/6.28 U7_GGG(x1, x2, x3, x4, x5, x6) = U7_GGG(x6) 20.62/6.28 20.62/6.28 20.62/6.28 We have to consider all (P,R,Pi)-chains 20.62/6.28 ---------------------------------------- 20.62/6.28 20.62/6.28 (62) DependencyGraphProof (EQUIVALENT) 20.62/6.28 The approximation of the Dependency Graph [LOPSTR] contains 5 SCCs with 18 less nodes. 20.62/6.28 ---------------------------------------- 20.62/6.28 20.62/6.28 (63) 20.62/6.28 Complex Obligation (AND) 20.62/6.28 20.62/6.28 ---------------------------------------- 20.62/6.28 20.62/6.28 (64) 20.62/6.28 Obligation: 20.62/6.28 Pi DP problem: 20.62/6.28 The TRS P consists of the following rules: 20.62/6.28 20.62/6.28 U6_GGG(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> MERGE_IN_GGG(.(X, Xs), Ys, Zs) 20.62/6.28 MERGE_IN_GGG(.(X, Xs), .(Y, Ys), .(X, Zs)) -> U6_GGG(X, Xs, Y, Ys, Zs, =_in_aa(X, Y)) 20.62/6.28 20.62/6.28 The TRS R consists of the following rules: 20.62/6.28 20.62/6.28 mergesort_in_ag([], []) -> mergesort_out_ag([], []) 20.62/6.28 mergesort_in_ag(.(X, []), .(X, [])) -> mergesort_out_ag(.(X, []), .(X, [])) 20.62/6.28 mergesort_in_ag(.(X, .(Y, Xs)), Ys) -> U1_ag(X, Y, Xs, Ys, split_in_aaa(.(X, .(Y, Xs)), X1s, X2s)) 20.62/6.28 split_in_aaa([], [], []) -> split_out_aaa([], [], []) 20.62/6.28 split_in_aaa(.(X, Xs), .(X, Ys), Zs) -> U5_aaa(X, Xs, Ys, Zs, split_in_aaa(Xs, Zs, Ys)) 20.62/6.28 U5_aaa(X, Xs, Ys, Zs, split_out_aaa(Xs, Zs, Ys)) -> split_out_aaa(.(X, Xs), .(X, Ys), Zs) 20.62/6.28 U1_ag(X, Y, Xs, Ys, split_out_aaa(.(X, .(Y, Xs)), X1s, X2s)) -> U2_ag(X, Y, Xs, Ys, X2s, mergesort_in_ga(X1s, Y1s)) 20.62/6.28 mergesort_in_ga([], []) -> mergesort_out_ga([], []) 20.62/6.28 mergesort_in_ga(.(X, []), .(X, [])) -> mergesort_out_ga(.(X, []), .(X, [])) 20.62/6.28 mergesort_in_ga(.(X, .(Y, Xs)), Ys) -> U1_ga(X, Y, Xs, Ys, split_in_gaa(.(X, .(Y, Xs)), X1s, X2s)) 20.62/6.28 split_in_gaa([], [], []) -> split_out_gaa([], [], []) 20.62/6.28 split_in_gaa(.(X, Xs), .(X, Ys), Zs) -> U5_gaa(X, Xs, Ys, Zs, split_in_gaa(Xs, Zs, Ys)) 20.62/6.28 U5_gaa(X, Xs, Ys, Zs, split_out_gaa(Xs, Zs, Ys)) -> split_out_gaa(.(X, Xs), .(X, Ys), Zs) 20.62/6.28 U1_ga(X, Y, Xs, Ys, split_out_gaa(.(X, .(Y, Xs)), X1s, X2s)) -> U2_ga(X, Y, Xs, Ys, X2s, mergesort_in_ga(X1s, Y1s)) 20.62/6.28 U2_ga(X, Y, Xs, Ys, X2s, mergesort_out_ga(X1s, Y1s)) -> U3_ga(X, Y, Xs, Ys, Y1s, mergesort_in_ga(X2s, Y2s)) 20.62/6.28 U3_ga(X, Y, Xs, Ys, Y1s, mergesort_out_ga(X2s, Y2s)) -> U4_ga(X, Y, Xs, Ys, merge_in_gga(Y1s, Y2s, Ys)) 20.62/6.28 merge_in_gga([], Xs, Xs) -> merge_out_gga([], Xs, Xs) 20.62/6.28 merge_in_gga(Xs, [], Xs) -> merge_out_gga(Xs, [], Xs) 20.62/6.28 merge_in_gga(.(X, Xs), .(Y, Ys), .(X, Zs)) -> U6_gga(X, Xs, Y, Ys, Zs, =_in_aa(X, Y)) 20.62/6.28 =_in_aa(X, X) -> =_out_aa(X, X) 20.62/6.28 U6_gga(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> U7_gga(X, Xs, Y, Ys, Zs, merge_in_gga(.(X, Xs), Ys, Zs)) 20.62/6.28 U7_gga(X, Xs, Y, Ys, Zs, merge_out_gga(.(X, Xs), Ys, Zs)) -> merge_out_gga(.(X, Xs), .(Y, Ys), .(X, Zs)) 20.62/6.28 U4_ga(X, Y, Xs, Ys, merge_out_gga(Y1s, Y2s, Ys)) -> mergesort_out_ga(.(X, .(Y, Xs)), Ys) 20.62/6.28 U2_ag(X, Y, Xs, Ys, X2s, mergesort_out_ga(X1s, Y1s)) -> U3_ag(X, Y, Xs, Ys, Y1s, mergesort_in_ga(X2s, Y2s)) 20.62/6.28 U3_ag(X, Y, Xs, Ys, Y1s, mergesort_out_ga(X2s, Y2s)) -> U4_ag(X, Y, Xs, Ys, merge_in_ggg(Y1s, Y2s, Ys)) 20.62/6.28 merge_in_ggg([], Xs, Xs) -> merge_out_ggg([], Xs, Xs) 20.62/6.28 merge_in_ggg(Xs, [], Xs) -> merge_out_ggg(Xs, [], Xs) 20.62/6.28 merge_in_ggg(.(X, Xs), .(Y, Ys), .(X, Zs)) -> U6_ggg(X, Xs, Y, Ys, Zs, =_in_aa(X, Y)) 20.62/6.28 U6_ggg(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> U7_ggg(X, Xs, Y, Ys, Zs, merge_in_ggg(.(X, Xs), Ys, Zs)) 20.62/6.28 U7_ggg(X, Xs, Y, Ys, Zs, merge_out_ggg(.(X, Xs), Ys, Zs)) -> merge_out_ggg(.(X, Xs), .(Y, Ys), .(X, Zs)) 20.62/6.28 U4_ag(X, Y, Xs, Ys, merge_out_ggg(Y1s, Y2s, Ys)) -> mergesort_out_ag(.(X, .(Y, Xs)), Ys) 20.62/6.28 20.62/6.28 The argument filtering Pi contains the following mapping: 20.62/6.28 mergesort_in_ag(x1, x2) = mergesort_in_ag(x2) 20.62/6.28 20.62/6.28 [] = [] 20.62/6.28 20.62/6.28 mergesort_out_ag(x1, x2) = mergesort_out_ag(x1) 20.62/6.28 20.62/6.28 .(x1, x2) = .(x2) 20.62/6.28 20.62/6.28 U1_ag(x1, x2, x3, x4, x5) = U1_ag(x4, x5) 20.62/6.28 20.62/6.28 split_in_aaa(x1, x2, x3) = split_in_aaa 20.62/6.28 20.62/6.28 split_out_aaa(x1, x2, x3) = split_out_aaa(x1, x2, x3) 20.62/6.28 20.62/6.28 U5_aaa(x1, x2, x3, x4, x5) = U5_aaa(x5) 20.62/6.28 20.62/6.28 U2_ag(x1, x2, x3, x4, x5, x6) = U2_ag(x3, x4, x5, x6) 20.62/6.28 20.62/6.28 mergesort_in_ga(x1, x2) = mergesort_in_ga(x1) 20.62/6.28 20.62/6.28 mergesort_out_ga(x1, x2) = mergesort_out_ga(x2) 20.62/6.28 20.62/6.28 U1_ga(x1, x2, x3, x4, x5) = U1_ga(x5) 20.62/6.28 20.62/6.28 split_in_gaa(x1, x2, x3) = split_in_gaa(x1) 20.62/6.28 20.62/6.28 split_out_gaa(x1, x2, x3) = split_out_gaa(x2, x3) 20.62/6.28 20.62/6.28 U5_gaa(x1, x2, x3, x4, x5) = U5_gaa(x5) 20.62/6.28 20.62/6.28 U2_ga(x1, x2, x3, x4, x5, x6) = U2_ga(x5, x6) 20.62/6.28 20.62/6.28 U3_ga(x1, x2, x3, x4, x5, x6) = U3_ga(x5, x6) 20.62/6.28 20.62/6.28 U4_ga(x1, x2, x3, x4, x5) = U4_ga(x5) 20.62/6.28 20.62/6.28 merge_in_gga(x1, x2, x3) = merge_in_gga(x1, x2) 20.62/6.28 20.62/6.28 merge_out_gga(x1, x2, x3) = merge_out_gga(x3) 20.62/6.28 20.62/6.28 U6_gga(x1, x2, x3, x4, x5, x6) = U6_gga(x2, x4, x6) 20.62/6.28 20.62/6.28 =_in_aa(x1, x2) = =_in_aa 20.62/6.28 20.62/6.28 =_out_aa(x1, x2) = =_out_aa 20.62/6.28 20.62/6.28 U7_gga(x1, x2, x3, x4, x5, x6) = U7_gga(x6) 20.62/6.28 20.62/6.28 U3_ag(x1, x2, x3, x4, x5, x6) = U3_ag(x3, x4, x5, x6) 20.62/6.28 20.62/6.28 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x3, x5) 20.62/6.28 20.62/6.28 merge_in_ggg(x1, x2, x3) = merge_in_ggg(x1, x2, x3) 20.62/6.28 20.62/6.28 merge_out_ggg(x1, x2, x3) = merge_out_ggg 20.62/6.28 20.62/6.28 U6_ggg(x1, x2, x3, x4, x5, x6) = U6_ggg(x2, x4, x5, x6) 20.62/6.28 20.62/6.28 U7_ggg(x1, x2, x3, x4, x5, x6) = U7_ggg(x6) 20.62/6.28 20.62/6.28 MERGE_IN_GGG(x1, x2, x3) = MERGE_IN_GGG(x1, x2, x3) 20.62/6.28 20.62/6.28 U6_GGG(x1, x2, x3, x4, x5, x6) = U6_GGG(x2, x4, x5, x6) 20.62/6.28 20.62/6.28 20.62/6.28 We have to consider all (P,R,Pi)-chains 20.62/6.28 ---------------------------------------- 20.62/6.28 20.62/6.28 (65) UsableRulesProof (EQUIVALENT) 20.62/6.28 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 20.62/6.28 ---------------------------------------- 20.62/6.28 20.62/6.28 (66) 20.62/6.28 Obligation: 20.62/6.28 Pi DP problem: 20.62/6.28 The TRS P consists of the following rules: 20.62/6.28 20.62/6.28 U6_GGG(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> MERGE_IN_GGG(.(X, Xs), Ys, Zs) 20.62/6.28 MERGE_IN_GGG(.(X, Xs), .(Y, Ys), .(X, Zs)) -> U6_GGG(X, Xs, Y, Ys, Zs, =_in_aa(X, Y)) 20.62/6.28 20.62/6.28 The TRS R consists of the following rules: 20.62/6.28 20.62/6.28 =_in_aa(X, X) -> =_out_aa(X, X) 20.62/6.28 20.62/6.28 The argument filtering Pi contains the following mapping: 20.62/6.28 .(x1, x2) = .(x2) 20.62/6.28 20.62/6.28 =_in_aa(x1, x2) = =_in_aa 20.62/6.28 20.62/6.28 =_out_aa(x1, x2) = =_out_aa 20.62/6.28 20.62/6.28 MERGE_IN_GGG(x1, x2, x3) = MERGE_IN_GGG(x1, x2, x3) 20.62/6.28 20.62/6.28 U6_GGG(x1, x2, x3, x4, x5, x6) = U6_GGG(x2, x4, x5, x6) 20.62/6.28 20.62/6.28 20.62/6.28 We have to consider all (P,R,Pi)-chains 20.62/6.28 ---------------------------------------- 20.62/6.28 20.62/6.28 (67) PiDPToQDPProof (SOUND) 20.62/6.28 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 20.62/6.28 ---------------------------------------- 20.62/6.28 20.62/6.28 (68) 20.62/6.28 Obligation: 20.62/6.28 Q DP problem: 20.62/6.28 The TRS P consists of the following rules: 20.62/6.28 20.62/6.28 U6_GGG(Xs, Ys, Zs, =_out_aa) -> MERGE_IN_GGG(.(Xs), Ys, Zs) 20.62/6.28 MERGE_IN_GGG(.(Xs), .(Ys), .(Zs)) -> U6_GGG(Xs, Ys, Zs, =_in_aa) 20.62/6.28 20.62/6.28 The TRS R consists of the following rules: 20.62/6.28 20.62/6.28 =_in_aa -> =_out_aa 20.62/6.28 20.62/6.28 The set Q consists of the following terms: 20.62/6.28 20.62/6.28 =_in_aa 20.62/6.28 20.62/6.28 We have to consider all (P,Q,R)-chains. 20.62/6.28 ---------------------------------------- 20.62/6.28 20.62/6.28 (69) QDPSizeChangeProof (EQUIVALENT) 20.62/6.28 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. 20.62/6.28 20.62/6.28 From the DPs we obtained the following set of size-change graphs: 20.62/6.28 *MERGE_IN_GGG(.(Xs), .(Ys), .(Zs)) -> U6_GGG(Xs, Ys, Zs, =_in_aa) 20.62/6.28 The graph contains the following edges 1 > 1, 2 > 2, 3 > 3 20.62/6.28 20.62/6.28 20.62/6.28 *U6_GGG(Xs, Ys, Zs, =_out_aa) -> MERGE_IN_GGG(.(Xs), Ys, Zs) 20.62/6.28 The graph contains the following edges 2 >= 2, 3 >= 3 20.62/6.28 20.62/6.28 20.62/6.28 ---------------------------------------- 20.62/6.28 20.62/6.28 (70) 20.62/6.28 YES 20.62/6.28 20.62/6.28 ---------------------------------------- 20.62/6.28 20.62/6.28 (71) 20.62/6.28 Obligation: 20.62/6.28 Pi DP problem: 20.62/6.28 The TRS P consists of the following rules: 20.62/6.28 20.62/6.28 U6_GGA(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> MERGE_IN_GGA(.(X, Xs), Ys, Zs) 20.62/6.28 MERGE_IN_GGA(.(X, Xs), .(Y, Ys), .(X, Zs)) -> U6_GGA(X, Xs, Y, Ys, Zs, =_in_aa(X, Y)) 20.62/6.28 20.62/6.28 The TRS R consists of the following rules: 20.62/6.28 20.62/6.28 mergesort_in_ag([], []) -> mergesort_out_ag([], []) 20.62/6.28 mergesort_in_ag(.(X, []), .(X, [])) -> mergesort_out_ag(.(X, []), .(X, [])) 20.62/6.28 mergesort_in_ag(.(X, .(Y, Xs)), Ys) -> U1_ag(X, Y, Xs, Ys, split_in_aaa(.(X, .(Y, Xs)), X1s, X2s)) 20.62/6.28 split_in_aaa([], [], []) -> split_out_aaa([], [], []) 20.62/6.28 split_in_aaa(.(X, Xs), .(X, Ys), Zs) -> U5_aaa(X, Xs, Ys, Zs, split_in_aaa(Xs, Zs, Ys)) 20.62/6.28 U5_aaa(X, Xs, Ys, Zs, split_out_aaa(Xs, Zs, Ys)) -> split_out_aaa(.(X, Xs), .(X, Ys), Zs) 20.62/6.28 U1_ag(X, Y, Xs, Ys, split_out_aaa(.(X, .(Y, Xs)), X1s, X2s)) -> U2_ag(X, Y, Xs, Ys, X2s, mergesort_in_ga(X1s, Y1s)) 20.62/6.28 mergesort_in_ga([], []) -> mergesort_out_ga([], []) 20.62/6.28 mergesort_in_ga(.(X, []), .(X, [])) -> mergesort_out_ga(.(X, []), .(X, [])) 20.62/6.28 mergesort_in_ga(.(X, .(Y, Xs)), Ys) -> U1_ga(X, Y, Xs, Ys, split_in_gaa(.(X, .(Y, Xs)), X1s, X2s)) 20.62/6.28 split_in_gaa([], [], []) -> split_out_gaa([], [], []) 20.62/6.28 split_in_gaa(.(X, Xs), .(X, Ys), Zs) -> U5_gaa(X, Xs, Ys, Zs, split_in_gaa(Xs, Zs, Ys)) 20.62/6.28 U5_gaa(X, Xs, Ys, Zs, split_out_gaa(Xs, Zs, Ys)) -> split_out_gaa(.(X, Xs), .(X, Ys), Zs) 20.62/6.28 U1_ga(X, Y, Xs, Ys, split_out_gaa(.(X, .(Y, Xs)), X1s, X2s)) -> U2_ga(X, Y, Xs, Ys, X2s, mergesort_in_ga(X1s, Y1s)) 20.62/6.28 U2_ga(X, Y, Xs, Ys, X2s, mergesort_out_ga(X1s, Y1s)) -> U3_ga(X, Y, Xs, Ys, Y1s, mergesort_in_ga(X2s, Y2s)) 20.62/6.28 U3_ga(X, Y, Xs, Ys, Y1s, mergesort_out_ga(X2s, Y2s)) -> U4_ga(X, Y, Xs, Ys, merge_in_gga(Y1s, Y2s, Ys)) 20.62/6.28 merge_in_gga([], Xs, Xs) -> merge_out_gga([], Xs, Xs) 20.62/6.28 merge_in_gga(Xs, [], Xs) -> merge_out_gga(Xs, [], Xs) 20.62/6.28 merge_in_gga(.(X, Xs), .(Y, Ys), .(X, Zs)) -> U6_gga(X, Xs, Y, Ys, Zs, =_in_aa(X, Y)) 20.62/6.28 =_in_aa(X, X) -> =_out_aa(X, X) 20.62/6.28 U6_gga(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> U7_gga(X, Xs, Y, Ys, Zs, merge_in_gga(.(X, Xs), Ys, Zs)) 20.62/6.28 U7_gga(X, Xs, Y, Ys, Zs, merge_out_gga(.(X, Xs), Ys, Zs)) -> merge_out_gga(.(X, Xs), .(Y, Ys), .(X, Zs)) 20.62/6.28 U4_ga(X, Y, Xs, Ys, merge_out_gga(Y1s, Y2s, Ys)) -> mergesort_out_ga(.(X, .(Y, Xs)), Ys) 20.62/6.28 U2_ag(X, Y, Xs, Ys, X2s, mergesort_out_ga(X1s, Y1s)) -> U3_ag(X, Y, Xs, Ys, Y1s, mergesort_in_ga(X2s, Y2s)) 20.62/6.28 U3_ag(X, Y, Xs, Ys, Y1s, mergesort_out_ga(X2s, Y2s)) -> U4_ag(X, Y, Xs, Ys, merge_in_ggg(Y1s, Y2s, Ys)) 20.62/6.28 merge_in_ggg([], Xs, Xs) -> merge_out_ggg([], Xs, Xs) 20.62/6.28 merge_in_ggg(Xs, [], Xs) -> merge_out_ggg(Xs, [], Xs) 20.62/6.28 merge_in_ggg(.(X, Xs), .(Y, Ys), .(X, Zs)) -> U6_ggg(X, Xs, Y, Ys, Zs, =_in_aa(X, Y)) 20.62/6.28 U6_ggg(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> U7_ggg(X, Xs, Y, Ys, Zs, merge_in_ggg(.(X, Xs), Ys, Zs)) 20.62/6.28 U7_ggg(X, Xs, Y, Ys, Zs, merge_out_ggg(.(X, Xs), Ys, Zs)) -> merge_out_ggg(.(X, Xs), .(Y, Ys), .(X, Zs)) 20.62/6.28 U4_ag(X, Y, Xs, Ys, merge_out_ggg(Y1s, Y2s, Ys)) -> mergesort_out_ag(.(X, .(Y, Xs)), Ys) 20.62/6.28 20.62/6.28 The argument filtering Pi contains the following mapping: 20.62/6.28 mergesort_in_ag(x1, x2) = mergesort_in_ag(x2) 20.62/6.28 20.62/6.28 [] = [] 20.62/6.28 20.62/6.28 mergesort_out_ag(x1, x2) = mergesort_out_ag(x1) 20.62/6.28 20.62/6.28 .(x1, x2) = .(x2) 20.62/6.28 20.62/6.28 U1_ag(x1, x2, x3, x4, x5) = U1_ag(x4, x5) 20.62/6.28 20.62/6.28 split_in_aaa(x1, x2, x3) = split_in_aaa 20.62/6.28 20.62/6.28 split_out_aaa(x1, x2, x3) = split_out_aaa(x1, x2, x3) 20.62/6.28 20.62/6.28 U5_aaa(x1, x2, x3, x4, x5) = U5_aaa(x5) 20.62/6.28 20.62/6.28 U2_ag(x1, x2, x3, x4, x5, x6) = U2_ag(x3, x4, x5, x6) 20.62/6.28 20.62/6.28 mergesort_in_ga(x1, x2) = mergesort_in_ga(x1) 20.62/6.28 20.62/6.28 mergesort_out_ga(x1, x2) = mergesort_out_ga(x2) 20.62/6.28 20.62/6.28 U1_ga(x1, x2, x3, x4, x5) = U1_ga(x5) 20.62/6.28 20.62/6.28 split_in_gaa(x1, x2, x3) = split_in_gaa(x1) 20.62/6.28 20.62/6.28 split_out_gaa(x1, x2, x3) = split_out_gaa(x2, x3) 20.62/6.28 20.62/6.28 U5_gaa(x1, x2, x3, x4, x5) = U5_gaa(x5) 20.62/6.28 20.62/6.28 U2_ga(x1, x2, x3, x4, x5, x6) = U2_ga(x5, x6) 20.62/6.28 20.62/6.28 U3_ga(x1, x2, x3, x4, x5, x6) = U3_ga(x5, x6) 20.62/6.28 20.62/6.28 U4_ga(x1, x2, x3, x4, x5) = U4_ga(x5) 20.62/6.28 20.62/6.28 merge_in_gga(x1, x2, x3) = merge_in_gga(x1, x2) 20.62/6.28 20.62/6.28 merge_out_gga(x1, x2, x3) = merge_out_gga(x3) 20.62/6.28 20.62/6.28 U6_gga(x1, x2, x3, x4, x5, x6) = U6_gga(x2, x4, x6) 20.62/6.28 20.62/6.28 =_in_aa(x1, x2) = =_in_aa 20.62/6.28 20.62/6.28 =_out_aa(x1, x2) = =_out_aa 20.62/6.28 20.62/6.28 U7_gga(x1, x2, x3, x4, x5, x6) = U7_gga(x6) 20.62/6.28 20.62/6.28 U3_ag(x1, x2, x3, x4, x5, x6) = U3_ag(x3, x4, x5, x6) 20.62/6.28 20.62/6.28 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x3, x5) 20.62/6.28 20.62/6.28 merge_in_ggg(x1, x2, x3) = merge_in_ggg(x1, x2, x3) 20.62/6.28 20.62/6.28 merge_out_ggg(x1, x2, x3) = merge_out_ggg 20.62/6.28 20.62/6.28 U6_ggg(x1, x2, x3, x4, x5, x6) = U6_ggg(x2, x4, x5, x6) 20.62/6.28 20.62/6.28 U7_ggg(x1, x2, x3, x4, x5, x6) = U7_ggg(x6) 20.62/6.28 20.62/6.28 MERGE_IN_GGA(x1, x2, x3) = MERGE_IN_GGA(x1, x2) 20.62/6.28 20.62/6.28 U6_GGA(x1, x2, x3, x4, x5, x6) = U6_GGA(x2, x4, x6) 20.62/6.28 20.62/6.28 20.62/6.28 We have to consider all (P,R,Pi)-chains 20.62/6.28 ---------------------------------------- 20.62/6.28 20.62/6.28 (72) UsableRulesProof (EQUIVALENT) 20.62/6.28 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 20.62/6.28 ---------------------------------------- 20.62/6.28 20.62/6.28 (73) 20.62/6.28 Obligation: 20.62/6.28 Pi DP problem: 20.62/6.28 The TRS P consists of the following rules: 20.62/6.28 20.62/6.28 U6_GGA(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> MERGE_IN_GGA(.(X, Xs), Ys, Zs) 20.62/6.28 MERGE_IN_GGA(.(X, Xs), .(Y, Ys), .(X, Zs)) -> U6_GGA(X, Xs, Y, Ys, Zs, =_in_aa(X, Y)) 20.62/6.28 20.62/6.28 The TRS R consists of the following rules: 20.62/6.28 20.62/6.28 =_in_aa(X, X) -> =_out_aa(X, X) 20.62/6.28 20.62/6.28 The argument filtering Pi contains the following mapping: 20.62/6.28 .(x1, x2) = .(x2) 20.62/6.28 20.62/6.28 =_in_aa(x1, x2) = =_in_aa 20.62/6.28 20.62/6.28 =_out_aa(x1, x2) = =_out_aa 20.62/6.28 20.62/6.28 MERGE_IN_GGA(x1, x2, x3) = MERGE_IN_GGA(x1, x2) 20.62/6.28 20.62/6.28 U6_GGA(x1, x2, x3, x4, x5, x6) = U6_GGA(x2, x4, x6) 20.62/6.28 20.62/6.28 20.62/6.28 We have to consider all (P,R,Pi)-chains 20.62/6.28 ---------------------------------------- 20.62/6.28 20.62/6.28 (74) PiDPToQDPProof (SOUND) 20.62/6.28 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 20.62/6.28 ---------------------------------------- 20.62/6.28 20.62/6.28 (75) 20.62/6.28 Obligation: 20.62/6.28 Q DP problem: 20.62/6.28 The TRS P consists of the following rules: 20.62/6.28 20.62/6.28 U6_GGA(Xs, Ys, =_out_aa) -> MERGE_IN_GGA(.(Xs), Ys) 20.62/6.28 MERGE_IN_GGA(.(Xs), .(Ys)) -> U6_GGA(Xs, Ys, =_in_aa) 20.62/6.28 20.62/6.28 The TRS R consists of the following rules: 20.62/6.28 20.62/6.28 =_in_aa -> =_out_aa 20.62/6.28 20.62/6.28 The set Q consists of the following terms: 20.62/6.28 20.62/6.28 =_in_aa 20.62/6.28 20.62/6.28 We have to consider all (P,Q,R)-chains. 20.62/6.28 ---------------------------------------- 20.62/6.28 20.62/6.28 (76) QDPSizeChangeProof (EQUIVALENT) 20.62/6.28 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. 20.62/6.28 20.62/6.28 From the DPs we obtained the following set of size-change graphs: 20.62/6.28 *MERGE_IN_GGA(.(Xs), .(Ys)) -> U6_GGA(Xs, Ys, =_in_aa) 20.62/6.28 The graph contains the following edges 1 > 1, 2 > 2 20.62/6.28 20.62/6.28 20.62/6.28 *U6_GGA(Xs, Ys, =_out_aa) -> MERGE_IN_GGA(.(Xs), Ys) 20.62/6.28 The graph contains the following edges 2 >= 2 20.62/6.28 20.62/6.28 20.62/6.28 ---------------------------------------- 20.62/6.28 20.62/6.28 (77) 20.62/6.28 YES 20.62/6.28 20.62/6.28 ---------------------------------------- 20.62/6.28 20.62/6.28 (78) 20.62/6.28 Obligation: 20.62/6.28 Pi DP problem: 20.62/6.28 The TRS P consists of the following rules: 20.62/6.28 20.62/6.28 SPLIT_IN_GAA(.(X, Xs), .(X, Ys), Zs) -> SPLIT_IN_GAA(Xs, Zs, Ys) 20.62/6.28 20.62/6.28 The TRS R consists of the following rules: 20.62/6.28 20.62/6.28 mergesort_in_ag([], []) -> mergesort_out_ag([], []) 20.62/6.28 mergesort_in_ag(.(X, []), .(X, [])) -> mergesort_out_ag(.(X, []), .(X, [])) 20.62/6.28 mergesort_in_ag(.(X, .(Y, Xs)), Ys) -> U1_ag(X, Y, Xs, Ys, split_in_aaa(.(X, .(Y, Xs)), X1s, X2s)) 20.62/6.28 split_in_aaa([], [], []) -> split_out_aaa([], [], []) 20.62/6.28 split_in_aaa(.(X, Xs), .(X, Ys), Zs) -> U5_aaa(X, Xs, Ys, Zs, split_in_aaa(Xs, Zs, Ys)) 20.62/6.28 U5_aaa(X, Xs, Ys, Zs, split_out_aaa(Xs, Zs, Ys)) -> split_out_aaa(.(X, Xs), .(X, Ys), Zs) 20.62/6.28 U1_ag(X, Y, Xs, Ys, split_out_aaa(.(X, .(Y, Xs)), X1s, X2s)) -> U2_ag(X, Y, Xs, Ys, X2s, mergesort_in_ga(X1s, Y1s)) 20.62/6.28 mergesort_in_ga([], []) -> mergesort_out_ga([], []) 20.62/6.28 mergesort_in_ga(.(X, []), .(X, [])) -> mergesort_out_ga(.(X, []), .(X, [])) 20.62/6.28 mergesort_in_ga(.(X, .(Y, Xs)), Ys) -> U1_ga(X, Y, Xs, Ys, split_in_gaa(.(X, .(Y, Xs)), X1s, X2s)) 20.62/6.28 split_in_gaa([], [], []) -> split_out_gaa([], [], []) 20.62/6.28 split_in_gaa(.(X, Xs), .(X, Ys), Zs) -> U5_gaa(X, Xs, Ys, Zs, split_in_gaa(Xs, Zs, Ys)) 20.62/6.28 U5_gaa(X, Xs, Ys, Zs, split_out_gaa(Xs, Zs, Ys)) -> split_out_gaa(.(X, Xs), .(X, Ys), Zs) 20.62/6.28 U1_ga(X, Y, Xs, Ys, split_out_gaa(.(X, .(Y, Xs)), X1s, X2s)) -> U2_ga(X, Y, Xs, Ys, X2s, mergesort_in_ga(X1s, Y1s)) 20.62/6.28 U2_ga(X, Y, Xs, Ys, X2s, mergesort_out_ga(X1s, Y1s)) -> U3_ga(X, Y, Xs, Ys, Y1s, mergesort_in_ga(X2s, Y2s)) 20.62/6.28 U3_ga(X, Y, Xs, Ys, Y1s, mergesort_out_ga(X2s, Y2s)) -> U4_ga(X, Y, Xs, Ys, merge_in_gga(Y1s, Y2s, Ys)) 20.62/6.28 merge_in_gga([], Xs, Xs) -> merge_out_gga([], Xs, Xs) 20.62/6.28 merge_in_gga(Xs, [], Xs) -> merge_out_gga(Xs, [], Xs) 20.62/6.28 merge_in_gga(.(X, Xs), .(Y, Ys), .(X, Zs)) -> U6_gga(X, Xs, Y, Ys, Zs, =_in_aa(X, Y)) 20.62/6.28 =_in_aa(X, X) -> =_out_aa(X, X) 20.62/6.28 U6_gga(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> U7_gga(X, Xs, Y, Ys, Zs, merge_in_gga(.(X, Xs), Ys, Zs)) 20.62/6.28 U7_gga(X, Xs, Y, Ys, Zs, merge_out_gga(.(X, Xs), Ys, Zs)) -> merge_out_gga(.(X, Xs), .(Y, Ys), .(X, Zs)) 20.62/6.28 U4_ga(X, Y, Xs, Ys, merge_out_gga(Y1s, Y2s, Ys)) -> mergesort_out_ga(.(X, .(Y, Xs)), Ys) 20.62/6.28 U2_ag(X, Y, Xs, Ys, X2s, mergesort_out_ga(X1s, Y1s)) -> U3_ag(X, Y, Xs, Ys, Y1s, mergesort_in_ga(X2s, Y2s)) 20.62/6.28 U3_ag(X, Y, Xs, Ys, Y1s, mergesort_out_ga(X2s, Y2s)) -> U4_ag(X, Y, Xs, Ys, merge_in_ggg(Y1s, Y2s, Ys)) 20.62/6.28 merge_in_ggg([], Xs, Xs) -> merge_out_ggg([], Xs, Xs) 20.62/6.28 merge_in_ggg(Xs, [], Xs) -> merge_out_ggg(Xs, [], Xs) 20.62/6.28 merge_in_ggg(.(X, Xs), .(Y, Ys), .(X, Zs)) -> U6_ggg(X, Xs, Y, Ys, Zs, =_in_aa(X, Y)) 20.62/6.28 U6_ggg(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> U7_ggg(X, Xs, Y, Ys, Zs, merge_in_ggg(.(X, Xs), Ys, Zs)) 20.62/6.28 U7_ggg(X, Xs, Y, Ys, Zs, merge_out_ggg(.(X, Xs), Ys, Zs)) -> merge_out_ggg(.(X, Xs), .(Y, Ys), .(X, Zs)) 20.62/6.28 U4_ag(X, Y, Xs, Ys, merge_out_ggg(Y1s, Y2s, Ys)) -> mergesort_out_ag(.(X, .(Y, Xs)), Ys) 20.62/6.28 20.62/6.28 The argument filtering Pi contains the following mapping: 20.62/6.28 mergesort_in_ag(x1, x2) = mergesort_in_ag(x2) 20.62/6.28 20.62/6.28 [] = [] 20.62/6.28 20.62/6.28 mergesort_out_ag(x1, x2) = mergesort_out_ag(x1) 20.62/6.28 20.62/6.28 .(x1, x2) = .(x2) 20.62/6.28 20.62/6.28 U1_ag(x1, x2, x3, x4, x5) = U1_ag(x4, x5) 20.62/6.28 20.62/6.28 split_in_aaa(x1, x2, x3) = split_in_aaa 20.62/6.28 20.62/6.28 split_out_aaa(x1, x2, x3) = split_out_aaa(x1, x2, x3) 20.62/6.28 20.62/6.28 U5_aaa(x1, x2, x3, x4, x5) = U5_aaa(x5) 20.62/6.28 20.62/6.28 U2_ag(x1, x2, x3, x4, x5, x6) = U2_ag(x3, x4, x5, x6) 20.62/6.28 20.62/6.28 mergesort_in_ga(x1, x2) = mergesort_in_ga(x1) 20.62/6.28 20.62/6.28 mergesort_out_ga(x1, x2) = mergesort_out_ga(x2) 20.62/6.28 20.62/6.28 U1_ga(x1, x2, x3, x4, x5) = U1_ga(x5) 20.62/6.28 20.62/6.28 split_in_gaa(x1, x2, x3) = split_in_gaa(x1) 20.62/6.28 20.62/6.28 split_out_gaa(x1, x2, x3) = split_out_gaa(x2, x3) 20.62/6.28 20.62/6.28 U5_gaa(x1, x2, x3, x4, x5) = U5_gaa(x5) 20.62/6.28 20.62/6.28 U2_ga(x1, x2, x3, x4, x5, x6) = U2_ga(x5, x6) 20.62/6.28 20.62/6.28 U3_ga(x1, x2, x3, x4, x5, x6) = U3_ga(x5, x6) 20.62/6.28 20.62/6.28 U4_ga(x1, x2, x3, x4, x5) = U4_ga(x5) 20.62/6.28 20.62/6.28 merge_in_gga(x1, x2, x3) = merge_in_gga(x1, x2) 20.62/6.28 20.62/6.28 merge_out_gga(x1, x2, x3) = merge_out_gga(x3) 20.62/6.28 20.62/6.28 U6_gga(x1, x2, x3, x4, x5, x6) = U6_gga(x2, x4, x6) 20.62/6.28 20.62/6.28 =_in_aa(x1, x2) = =_in_aa 20.62/6.28 20.62/6.28 =_out_aa(x1, x2) = =_out_aa 20.62/6.28 20.62/6.28 U7_gga(x1, x2, x3, x4, x5, x6) = U7_gga(x6) 20.62/6.28 20.62/6.28 U3_ag(x1, x2, x3, x4, x5, x6) = U3_ag(x3, x4, x5, x6) 20.62/6.28 20.62/6.28 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x3, x5) 20.62/6.28 20.62/6.28 merge_in_ggg(x1, x2, x3) = merge_in_ggg(x1, x2, x3) 20.62/6.28 20.62/6.28 merge_out_ggg(x1, x2, x3) = merge_out_ggg 20.62/6.28 20.62/6.28 U6_ggg(x1, x2, x3, x4, x5, x6) = U6_ggg(x2, x4, x5, x6) 20.62/6.28 20.62/6.28 U7_ggg(x1, x2, x3, x4, x5, x6) = U7_ggg(x6) 20.62/6.28 20.62/6.28 SPLIT_IN_GAA(x1, x2, x3) = SPLIT_IN_GAA(x1) 20.62/6.28 20.62/6.28 20.62/6.28 We have to consider all (P,R,Pi)-chains 20.62/6.28 ---------------------------------------- 20.62/6.28 20.62/6.28 (79) UsableRulesProof (EQUIVALENT) 20.62/6.28 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 20.62/6.28 ---------------------------------------- 20.62/6.28 20.62/6.28 (80) 20.62/6.28 Obligation: 20.62/6.28 Pi DP problem: 20.62/6.28 The TRS P consists of the following rules: 20.62/6.28 20.62/6.28 SPLIT_IN_GAA(.(X, Xs), .(X, Ys), Zs) -> SPLIT_IN_GAA(Xs, Zs, Ys) 20.62/6.28 20.62/6.28 R is empty. 20.62/6.28 The argument filtering Pi contains the following mapping: 20.62/6.28 .(x1, x2) = .(x2) 20.62/6.28 20.62/6.28 SPLIT_IN_GAA(x1, x2, x3) = SPLIT_IN_GAA(x1) 20.62/6.28 20.62/6.28 20.62/6.28 We have to consider all (P,R,Pi)-chains 20.62/6.28 ---------------------------------------- 20.62/6.28 20.62/6.28 (81) PiDPToQDPProof (SOUND) 20.62/6.28 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 20.62/6.28 ---------------------------------------- 20.62/6.28 20.62/6.28 (82) 20.62/6.28 Obligation: 20.62/6.28 Q DP problem: 20.62/6.28 The TRS P consists of the following rules: 20.62/6.28 20.62/6.28 SPLIT_IN_GAA(.(Xs)) -> SPLIT_IN_GAA(Xs) 20.62/6.28 20.62/6.28 R is empty. 20.62/6.28 Q is empty. 20.62/6.28 We have to consider all (P,Q,R)-chains. 20.62/6.28 ---------------------------------------- 20.62/6.28 20.62/6.28 (83) QDPSizeChangeProof (EQUIVALENT) 20.62/6.28 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. 20.62/6.28 20.62/6.28 From the DPs we obtained the following set of size-change graphs: 20.62/6.28 *SPLIT_IN_GAA(.(Xs)) -> SPLIT_IN_GAA(Xs) 20.62/6.28 The graph contains the following edges 1 > 1 20.62/6.28 20.62/6.28 20.62/6.28 ---------------------------------------- 20.62/6.28 20.62/6.28 (84) 20.62/6.28 YES 20.62/6.28 20.62/6.28 ---------------------------------------- 20.62/6.28 20.62/6.28 (85) 20.62/6.28 Obligation: 20.62/6.28 Pi DP problem: 20.62/6.28 The TRS P consists of the following rules: 20.62/6.28 20.62/6.28 U1_GA(X, Y, Xs, Ys, split_out_gaa(.(X, .(Y, Xs)), X1s, X2s)) -> U2_GA(X, Y, Xs, Ys, X2s, mergesort_in_ga(X1s, Y1s)) 20.62/6.28 U2_GA(X, Y, Xs, Ys, X2s, mergesort_out_ga(X1s, Y1s)) -> MERGESORT_IN_GA(X2s, Y2s) 20.62/6.28 MERGESORT_IN_GA(.(X, .(Y, Xs)), Ys) -> U1_GA(X, Y, Xs, Ys, split_in_gaa(.(X, .(Y, Xs)), X1s, X2s)) 20.62/6.28 U1_GA(X, Y, Xs, Ys, split_out_gaa(.(X, .(Y, Xs)), X1s, X2s)) -> MERGESORT_IN_GA(X1s, Y1s) 20.62/6.28 20.62/6.28 The TRS R consists of the following rules: 20.62/6.28 20.62/6.28 mergesort_in_ag([], []) -> mergesort_out_ag([], []) 20.62/6.28 mergesort_in_ag(.(X, []), .(X, [])) -> mergesort_out_ag(.(X, []), .(X, [])) 20.62/6.28 mergesort_in_ag(.(X, .(Y, Xs)), Ys) -> U1_ag(X, Y, Xs, Ys, split_in_aaa(.(X, .(Y, Xs)), X1s, X2s)) 20.62/6.28 split_in_aaa([], [], []) -> split_out_aaa([], [], []) 20.62/6.28 split_in_aaa(.(X, Xs), .(X, Ys), Zs) -> U5_aaa(X, Xs, Ys, Zs, split_in_aaa(Xs, Zs, Ys)) 20.62/6.28 U5_aaa(X, Xs, Ys, Zs, split_out_aaa(Xs, Zs, Ys)) -> split_out_aaa(.(X, Xs), .(X, Ys), Zs) 20.62/6.29 U1_ag(X, Y, Xs, Ys, split_out_aaa(.(X, .(Y, Xs)), X1s, X2s)) -> U2_ag(X, Y, Xs, Ys, X2s, mergesort_in_ga(X1s, Y1s)) 20.62/6.29 mergesort_in_ga([], []) -> mergesort_out_ga([], []) 20.62/6.29 mergesort_in_ga(.(X, []), .(X, [])) -> mergesort_out_ga(.(X, []), .(X, [])) 20.62/6.29 mergesort_in_ga(.(X, .(Y, Xs)), Ys) -> U1_ga(X, Y, Xs, Ys, split_in_gaa(.(X, .(Y, Xs)), X1s, X2s)) 20.62/6.29 split_in_gaa([], [], []) -> split_out_gaa([], [], []) 20.62/6.29 split_in_gaa(.(X, Xs), .(X, Ys), Zs) -> U5_gaa(X, Xs, Ys, Zs, split_in_gaa(Xs, Zs, Ys)) 20.62/6.29 U5_gaa(X, Xs, Ys, Zs, split_out_gaa(Xs, Zs, Ys)) -> split_out_gaa(.(X, Xs), .(X, Ys), Zs) 20.62/6.29 U1_ga(X, Y, Xs, Ys, split_out_gaa(.(X, .(Y, Xs)), X1s, X2s)) -> U2_ga(X, Y, Xs, Ys, X2s, mergesort_in_ga(X1s, Y1s)) 20.62/6.29 U2_ga(X, Y, Xs, Ys, X2s, mergesort_out_ga(X1s, Y1s)) -> U3_ga(X, Y, Xs, Ys, Y1s, mergesort_in_ga(X2s, Y2s)) 20.62/6.29 U3_ga(X, Y, Xs, Ys, Y1s, mergesort_out_ga(X2s, Y2s)) -> U4_ga(X, Y, Xs, Ys, merge_in_gga(Y1s, Y2s, Ys)) 20.62/6.29 merge_in_gga([], Xs, Xs) -> merge_out_gga([], Xs, Xs) 20.62/6.29 merge_in_gga(Xs, [], Xs) -> merge_out_gga(Xs, [], Xs) 20.62/6.29 merge_in_gga(.(X, Xs), .(Y, Ys), .(X, Zs)) -> U6_gga(X, Xs, Y, Ys, Zs, =_in_aa(X, Y)) 20.62/6.29 =_in_aa(X, X) -> =_out_aa(X, X) 20.62/6.29 U6_gga(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> U7_gga(X, Xs, Y, Ys, Zs, merge_in_gga(.(X, Xs), Ys, Zs)) 20.62/6.29 U7_gga(X, Xs, Y, Ys, Zs, merge_out_gga(.(X, Xs), Ys, Zs)) -> merge_out_gga(.(X, Xs), .(Y, Ys), .(X, Zs)) 20.62/6.29 U4_ga(X, Y, Xs, Ys, merge_out_gga(Y1s, Y2s, Ys)) -> mergesort_out_ga(.(X, .(Y, Xs)), Ys) 20.62/6.29 U2_ag(X, Y, Xs, Ys, X2s, mergesort_out_ga(X1s, Y1s)) -> U3_ag(X, Y, Xs, Ys, Y1s, mergesort_in_ga(X2s, Y2s)) 20.62/6.29 U3_ag(X, Y, Xs, Ys, Y1s, mergesort_out_ga(X2s, Y2s)) -> U4_ag(X, Y, Xs, Ys, merge_in_ggg(Y1s, Y2s, Ys)) 20.62/6.29 merge_in_ggg([], Xs, Xs) -> merge_out_ggg([], Xs, Xs) 20.62/6.29 merge_in_ggg(Xs, [], Xs) -> merge_out_ggg(Xs, [], Xs) 20.62/6.29 merge_in_ggg(.(X, Xs), .(Y, Ys), .(X, Zs)) -> U6_ggg(X, Xs, Y, Ys, Zs, =_in_aa(X, Y)) 20.62/6.29 U6_ggg(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> U7_ggg(X, Xs, Y, Ys, Zs, merge_in_ggg(.(X, Xs), Ys, Zs)) 20.62/6.29 U7_ggg(X, Xs, Y, Ys, Zs, merge_out_ggg(.(X, Xs), Ys, Zs)) -> merge_out_ggg(.(X, Xs), .(Y, Ys), .(X, Zs)) 20.62/6.29 U4_ag(X, Y, Xs, Ys, merge_out_ggg(Y1s, Y2s, Ys)) -> mergesort_out_ag(.(X, .(Y, Xs)), Ys) 20.62/6.29 20.62/6.29 The argument filtering Pi contains the following mapping: 20.62/6.29 mergesort_in_ag(x1, x2) = mergesort_in_ag(x2) 20.62/6.29 20.62/6.29 [] = [] 20.62/6.29 20.62/6.29 mergesort_out_ag(x1, x2) = mergesort_out_ag(x1) 20.62/6.29 20.62/6.29 .(x1, x2) = .(x2) 20.62/6.29 20.62/6.29 U1_ag(x1, x2, x3, x4, x5) = U1_ag(x4, x5) 20.62/6.29 20.62/6.29 split_in_aaa(x1, x2, x3) = split_in_aaa 20.62/6.29 20.62/6.29 split_out_aaa(x1, x2, x3) = split_out_aaa(x1, x2, x3) 20.62/6.29 20.62/6.29 U5_aaa(x1, x2, x3, x4, x5) = U5_aaa(x5) 20.62/6.29 20.62/6.29 U2_ag(x1, x2, x3, x4, x5, x6) = U2_ag(x3, x4, x5, x6) 20.62/6.29 20.62/6.29 mergesort_in_ga(x1, x2) = mergesort_in_ga(x1) 20.62/6.29 20.62/6.29 mergesort_out_ga(x1, x2) = mergesort_out_ga(x2) 20.62/6.29 20.62/6.29 U1_ga(x1, x2, x3, x4, x5) = U1_ga(x5) 20.62/6.29 20.62/6.29 split_in_gaa(x1, x2, x3) = split_in_gaa(x1) 20.62/6.29 20.62/6.29 split_out_gaa(x1, x2, x3) = split_out_gaa(x2, x3) 20.62/6.29 20.62/6.29 U5_gaa(x1, x2, x3, x4, x5) = U5_gaa(x5) 20.62/6.29 20.62/6.29 U2_ga(x1, x2, x3, x4, x5, x6) = U2_ga(x5, x6) 20.62/6.29 20.62/6.29 U3_ga(x1, x2, x3, x4, x5, x6) = U3_ga(x5, x6) 20.62/6.29 20.62/6.29 U4_ga(x1, x2, x3, x4, x5) = U4_ga(x5) 20.62/6.29 20.62/6.29 merge_in_gga(x1, x2, x3) = merge_in_gga(x1, x2) 20.62/6.29 20.62/6.29 merge_out_gga(x1, x2, x3) = merge_out_gga(x3) 20.62/6.29 20.62/6.29 U6_gga(x1, x2, x3, x4, x5, x6) = U6_gga(x2, x4, x6) 20.62/6.29 20.62/6.29 =_in_aa(x1, x2) = =_in_aa 20.62/6.29 20.62/6.29 =_out_aa(x1, x2) = =_out_aa 20.62/6.29 20.62/6.29 U7_gga(x1, x2, x3, x4, x5, x6) = U7_gga(x6) 20.62/6.29 20.62/6.29 U3_ag(x1, x2, x3, x4, x5, x6) = U3_ag(x3, x4, x5, x6) 20.62/6.29 20.62/6.29 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x3, x5) 20.62/6.29 20.62/6.29 merge_in_ggg(x1, x2, x3) = merge_in_ggg(x1, x2, x3) 20.62/6.29 20.62/6.29 merge_out_ggg(x1, x2, x3) = merge_out_ggg 20.62/6.29 20.62/6.29 U6_ggg(x1, x2, x3, x4, x5, x6) = U6_ggg(x2, x4, x5, x6) 20.62/6.29 20.62/6.29 U7_ggg(x1, x2, x3, x4, x5, x6) = U7_ggg(x6) 20.62/6.29 20.62/6.29 MERGESORT_IN_GA(x1, x2) = MERGESORT_IN_GA(x1) 20.62/6.29 20.62/6.29 U1_GA(x1, x2, x3, x4, x5) = U1_GA(x5) 20.62/6.29 20.62/6.29 U2_GA(x1, x2, x3, x4, x5, x6) = U2_GA(x5, x6) 20.62/6.29 20.62/6.29 20.62/6.29 We have to consider all (P,R,Pi)-chains 20.62/6.29 ---------------------------------------- 20.62/6.29 20.62/6.29 (86) UsableRulesProof (EQUIVALENT) 20.62/6.29 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 20.62/6.29 ---------------------------------------- 20.62/6.29 20.62/6.29 (87) 20.62/6.29 Obligation: 20.62/6.29 Pi DP problem: 20.62/6.29 The TRS P consists of the following rules: 20.62/6.29 20.62/6.29 U1_GA(X, Y, Xs, Ys, split_out_gaa(.(X, .(Y, Xs)), X1s, X2s)) -> U2_GA(X, Y, Xs, Ys, X2s, mergesort_in_ga(X1s, Y1s)) 20.62/6.29 U2_GA(X, Y, Xs, Ys, X2s, mergesort_out_ga(X1s, Y1s)) -> MERGESORT_IN_GA(X2s, Y2s) 20.62/6.29 MERGESORT_IN_GA(.(X, .(Y, Xs)), Ys) -> U1_GA(X, Y, Xs, Ys, split_in_gaa(.(X, .(Y, Xs)), X1s, X2s)) 20.62/6.29 U1_GA(X, Y, Xs, Ys, split_out_gaa(.(X, .(Y, Xs)), X1s, X2s)) -> MERGESORT_IN_GA(X1s, Y1s) 20.62/6.29 20.62/6.29 The TRS R consists of the following rules: 20.62/6.29 20.62/6.29 mergesort_in_ga([], []) -> mergesort_out_ga([], []) 20.62/6.29 mergesort_in_ga(.(X, []), .(X, [])) -> mergesort_out_ga(.(X, []), .(X, [])) 20.62/6.29 mergesort_in_ga(.(X, .(Y, Xs)), Ys) -> U1_ga(X, Y, Xs, Ys, split_in_gaa(.(X, .(Y, Xs)), X1s, X2s)) 20.62/6.29 split_in_gaa(.(X, Xs), .(X, Ys), Zs) -> U5_gaa(X, Xs, Ys, Zs, split_in_gaa(Xs, Zs, Ys)) 20.62/6.29 U1_ga(X, Y, Xs, Ys, split_out_gaa(.(X, .(Y, Xs)), X1s, X2s)) -> U2_ga(X, Y, Xs, Ys, X2s, mergesort_in_ga(X1s, Y1s)) 20.62/6.29 U5_gaa(X, Xs, Ys, Zs, split_out_gaa(Xs, Zs, Ys)) -> split_out_gaa(.(X, Xs), .(X, Ys), Zs) 20.62/6.29 U2_ga(X, Y, Xs, Ys, X2s, mergesort_out_ga(X1s, Y1s)) -> U3_ga(X, Y, Xs, Ys, Y1s, mergesort_in_ga(X2s, Y2s)) 20.62/6.29 split_in_gaa([], [], []) -> split_out_gaa([], [], []) 20.62/6.29 U3_ga(X, Y, Xs, Ys, Y1s, mergesort_out_ga(X2s, Y2s)) -> U4_ga(X, Y, Xs, Ys, merge_in_gga(Y1s, Y2s, Ys)) 20.62/6.29 U4_ga(X, Y, Xs, Ys, merge_out_gga(Y1s, Y2s, Ys)) -> mergesort_out_ga(.(X, .(Y, Xs)), Ys) 20.62/6.29 merge_in_gga([], Xs, Xs) -> merge_out_gga([], Xs, Xs) 20.62/6.29 merge_in_gga(Xs, [], Xs) -> merge_out_gga(Xs, [], Xs) 20.62/6.29 merge_in_gga(.(X, Xs), .(Y, Ys), .(X, Zs)) -> U6_gga(X, Xs, Y, Ys, Zs, =_in_aa(X, Y)) 20.62/6.29 U6_gga(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> U7_gga(X, Xs, Y, Ys, Zs, merge_in_gga(.(X, Xs), Ys, Zs)) 20.62/6.29 =_in_aa(X, X) -> =_out_aa(X, X) 20.62/6.29 U7_gga(X, Xs, Y, Ys, Zs, merge_out_gga(.(X, Xs), Ys, Zs)) -> merge_out_gga(.(X, Xs), .(Y, Ys), .(X, Zs)) 20.62/6.29 20.62/6.29 The argument filtering Pi contains the following mapping: 20.62/6.29 [] = [] 20.62/6.29 20.62/6.29 .(x1, x2) = .(x2) 20.62/6.29 20.62/6.29 mergesort_in_ga(x1, x2) = mergesort_in_ga(x1) 20.62/6.29 20.62/6.29 mergesort_out_ga(x1, x2) = mergesort_out_ga(x2) 20.62/6.29 20.62/6.29 U1_ga(x1, x2, x3, x4, x5) = U1_ga(x5) 20.62/6.29 20.62/6.29 split_in_gaa(x1, x2, x3) = split_in_gaa(x1) 20.62/6.29 20.62/6.29 split_out_gaa(x1, x2, x3) = split_out_gaa(x2, x3) 20.62/6.29 20.62/6.29 U5_gaa(x1, x2, x3, x4, x5) = U5_gaa(x5) 20.62/6.29 20.62/6.29 U2_ga(x1, x2, x3, x4, x5, x6) = U2_ga(x5, x6) 20.62/6.29 20.62/6.29 U3_ga(x1, x2, x3, x4, x5, x6) = U3_ga(x5, x6) 20.62/6.29 20.62/6.29 U4_ga(x1, x2, x3, x4, x5) = U4_ga(x5) 20.62/6.29 20.62/6.29 merge_in_gga(x1, x2, x3) = merge_in_gga(x1, x2) 20.62/6.29 20.62/6.29 merge_out_gga(x1, x2, x3) = merge_out_gga(x3) 20.62/6.29 20.62/6.29 U6_gga(x1, x2, x3, x4, x5, x6) = U6_gga(x2, x4, x6) 20.62/6.29 20.62/6.29 =_in_aa(x1, x2) = =_in_aa 20.62/6.29 20.62/6.29 =_out_aa(x1, x2) = =_out_aa 20.62/6.29 20.62/6.29 U7_gga(x1, x2, x3, x4, x5, x6) = U7_gga(x6) 20.62/6.29 20.62/6.29 MERGESORT_IN_GA(x1, x2) = MERGESORT_IN_GA(x1) 20.62/6.29 20.62/6.29 U1_GA(x1, x2, x3, x4, x5) = U1_GA(x5) 20.62/6.29 20.62/6.29 U2_GA(x1, x2, x3, x4, x5, x6) = U2_GA(x5, x6) 20.62/6.29 20.62/6.29 20.62/6.29 We have to consider all (P,R,Pi)-chains 20.62/6.29 ---------------------------------------- 20.62/6.29 20.62/6.29 (88) PiDPToQDPProof (SOUND) 20.62/6.29 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 20.62/6.29 ---------------------------------------- 20.62/6.29 20.62/6.29 (89) 20.62/6.29 Obligation: 20.62/6.29 Q DP problem: 20.62/6.29 The TRS P consists of the following rules: 20.62/6.29 20.62/6.29 U1_GA(split_out_gaa(X1s, X2s)) -> U2_GA(X2s, mergesort_in_ga(X1s)) 20.62/6.29 U2_GA(X2s, mergesort_out_ga(Y1s)) -> MERGESORT_IN_GA(X2s) 20.62/6.29 MERGESORT_IN_GA(.(.(Xs))) -> U1_GA(split_in_gaa(.(.(Xs)))) 20.62/6.29 U1_GA(split_out_gaa(X1s, X2s)) -> MERGESORT_IN_GA(X1s) 20.62/6.29 20.62/6.29 The TRS R consists of the following rules: 20.62/6.29 20.62/6.29 mergesort_in_ga([]) -> mergesort_out_ga([]) 20.62/6.29 mergesort_in_ga(.([])) -> mergesort_out_ga(.([])) 20.62/6.29 mergesort_in_ga(.(.(Xs))) -> U1_ga(split_in_gaa(.(.(Xs)))) 20.62/6.29 split_in_gaa(.(Xs)) -> U5_gaa(split_in_gaa(Xs)) 20.62/6.29 U1_ga(split_out_gaa(X1s, X2s)) -> U2_ga(X2s, mergesort_in_ga(X1s)) 20.62/6.29 U5_gaa(split_out_gaa(Zs, Ys)) -> split_out_gaa(.(Ys), Zs) 20.62/6.29 U2_ga(X2s, mergesort_out_ga(Y1s)) -> U3_ga(Y1s, mergesort_in_ga(X2s)) 20.62/6.29 split_in_gaa([]) -> split_out_gaa([], []) 20.62/6.29 U3_ga(Y1s, mergesort_out_ga(Y2s)) -> U4_ga(merge_in_gga(Y1s, Y2s)) 20.62/6.29 U4_ga(merge_out_gga(Ys)) -> mergesort_out_ga(Ys) 20.62/6.29 merge_in_gga([], Xs) -> merge_out_gga(Xs) 20.62/6.29 merge_in_gga(Xs, []) -> merge_out_gga(Xs) 20.62/6.29 merge_in_gga(.(Xs), .(Ys)) -> U6_gga(Xs, Ys, =_in_aa) 20.62/6.29 U6_gga(Xs, Ys, =_out_aa) -> U7_gga(merge_in_gga(.(Xs), Ys)) 20.62/6.29 =_in_aa -> =_out_aa 20.62/6.29 U7_gga(merge_out_gga(Zs)) -> merge_out_gga(.(Zs)) 20.62/6.29 20.62/6.29 The set Q consists of the following terms: 20.62/6.29 20.62/6.29 mergesort_in_ga(x0) 20.62/6.29 split_in_gaa(x0) 20.62/6.29 U1_ga(x0) 20.62/6.29 U5_gaa(x0) 20.62/6.29 U2_ga(x0, x1) 20.62/6.29 U3_ga(x0, x1) 20.62/6.29 U4_ga(x0) 20.62/6.29 merge_in_gga(x0, x1) 20.62/6.29 U6_gga(x0, x1, x2) 20.62/6.29 =_in_aa 20.62/6.29 U7_gga(x0) 20.62/6.29 20.62/6.29 We have to consider all (P,Q,R)-chains. 20.62/6.29 ---------------------------------------- 20.62/6.29 20.62/6.29 (90) MRRProof (EQUIVALENT) 20.62/6.29 By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented. 20.62/6.29 20.62/6.29 20.62/6.29 Strictly oriented rules of the TRS R: 20.62/6.29 20.62/6.29 mergesort_in_ga(.([])) -> mergesort_out_ga(.([])) 20.62/6.29 20.62/6.29 Used ordering: Polynomial interpretation [POLO]: 20.62/6.29 20.62/6.29 POL(.(x_1)) = 2 + x_1 20.62/6.29 POL(=_in_aa) = 1 20.62/6.29 POL(=_out_aa) = 1 20.62/6.29 POL(MERGESORT_IN_GA(x_1)) = 2*x_1 20.62/6.29 POL(U1_GA(x_1)) = 2*x_1 20.62/6.29 POL(U1_ga(x_1)) = 2*x_1 20.62/6.29 POL(U2_GA(x_1, x_2)) = 2*x_1 + x_2 20.62/6.29 POL(U2_ga(x_1, x_2)) = 2*x_1 + x_2 20.62/6.29 POL(U3_ga(x_1, x_2)) = x_1 + x_2 20.62/6.29 POL(U4_ga(x_1)) = x_1 20.62/6.29 POL(U5_gaa(x_1)) = 2 + x_1 20.62/6.29 POL(U6_gga(x_1, x_2, x_3)) = 2 + x_1 + x_2 + 2*x_3 20.62/6.29 POL(U7_gga(x_1)) = 2 + x_1 20.62/6.29 POL([]) = 0 20.62/6.29 POL(merge_in_gga(x_1, x_2)) = x_1 + x_2 20.62/6.29 POL(merge_out_gga(x_1)) = x_1 20.62/6.29 POL(mergesort_in_ga(x_1)) = 2*x_1 20.62/6.29 POL(mergesort_out_ga(x_1)) = x_1 20.62/6.29 POL(split_in_gaa(x_1)) = x_1 20.62/6.29 POL(split_out_gaa(x_1, x_2)) = x_1 + x_2 20.62/6.29 20.62/6.29 20.62/6.29 ---------------------------------------- 20.62/6.29 20.62/6.29 (91) 20.62/6.29 Obligation: 20.62/6.29 Q DP problem: 20.62/6.29 The TRS P consists of the following rules: 20.62/6.29 20.62/6.29 U1_GA(split_out_gaa(X1s, X2s)) -> U2_GA(X2s, mergesort_in_ga(X1s)) 20.62/6.29 U2_GA(X2s, mergesort_out_ga(Y1s)) -> MERGESORT_IN_GA(X2s) 20.62/6.29 MERGESORT_IN_GA(.(.(Xs))) -> U1_GA(split_in_gaa(.(.(Xs)))) 20.62/6.29 U1_GA(split_out_gaa(X1s, X2s)) -> MERGESORT_IN_GA(X1s) 20.62/6.29 20.62/6.29 The TRS R consists of the following rules: 20.62/6.29 20.62/6.29 mergesort_in_ga([]) -> mergesort_out_ga([]) 20.62/6.29 mergesort_in_ga(.(.(Xs))) -> U1_ga(split_in_gaa(.(.(Xs)))) 20.62/6.29 split_in_gaa(.(Xs)) -> U5_gaa(split_in_gaa(Xs)) 20.62/6.29 U1_ga(split_out_gaa(X1s, X2s)) -> U2_ga(X2s, mergesort_in_ga(X1s)) 20.62/6.29 U5_gaa(split_out_gaa(Zs, Ys)) -> split_out_gaa(.(Ys), Zs) 20.62/6.29 U2_ga(X2s, mergesort_out_ga(Y1s)) -> U3_ga(Y1s, mergesort_in_ga(X2s)) 20.62/6.29 split_in_gaa([]) -> split_out_gaa([], []) 20.62/6.29 U3_ga(Y1s, mergesort_out_ga(Y2s)) -> U4_ga(merge_in_gga(Y1s, Y2s)) 20.62/6.29 U4_ga(merge_out_gga(Ys)) -> mergesort_out_ga(Ys) 20.62/6.29 merge_in_gga([], Xs) -> merge_out_gga(Xs) 20.62/6.29 merge_in_gga(Xs, []) -> merge_out_gga(Xs) 20.62/6.29 merge_in_gga(.(Xs), .(Ys)) -> U6_gga(Xs, Ys, =_in_aa) 20.62/6.29 U6_gga(Xs, Ys, =_out_aa) -> U7_gga(merge_in_gga(.(Xs), Ys)) 20.62/6.29 =_in_aa -> =_out_aa 20.62/6.29 U7_gga(merge_out_gga(Zs)) -> merge_out_gga(.(Zs)) 20.62/6.29 20.62/6.29 The set Q consists of the following terms: 20.62/6.29 20.62/6.29 mergesort_in_ga(x0) 20.62/6.29 split_in_gaa(x0) 20.62/6.29 U1_ga(x0) 20.62/6.29 U5_gaa(x0) 20.62/6.29 U2_ga(x0, x1) 20.62/6.29 U3_ga(x0, x1) 20.62/6.29 U4_ga(x0) 20.62/6.29 merge_in_gga(x0, x1) 20.62/6.29 U6_gga(x0, x1, x2) 20.62/6.29 =_in_aa 20.62/6.29 U7_gga(x0) 20.62/6.29 20.62/6.29 We have to consider all (P,Q,R)-chains. 20.62/6.29 ---------------------------------------- 20.62/6.29 20.62/6.29 (92) TransformationProof (EQUIVALENT) 20.62/6.29 By rewriting [LPAR04] the rule MERGESORT_IN_GA(.(.(Xs))) -> U1_GA(split_in_gaa(.(.(Xs)))) at position [0] we obtained the following new rules [LPAR04]: 20.62/6.29 20.62/6.29 (MERGESORT_IN_GA(.(.(Xs))) -> U1_GA(U5_gaa(split_in_gaa(.(Xs)))),MERGESORT_IN_GA(.(.(Xs))) -> U1_GA(U5_gaa(split_in_gaa(.(Xs))))) 20.62/6.29 20.62/6.29 20.62/6.29 ---------------------------------------- 20.62/6.29 20.62/6.29 (93) 20.62/6.29 Obligation: 20.62/6.29 Q DP problem: 20.62/6.29 The TRS P consists of the following rules: 20.62/6.29 20.62/6.29 U1_GA(split_out_gaa(X1s, X2s)) -> U2_GA(X2s, mergesort_in_ga(X1s)) 20.62/6.29 U2_GA(X2s, mergesort_out_ga(Y1s)) -> MERGESORT_IN_GA(X2s) 20.62/6.29 U1_GA(split_out_gaa(X1s, X2s)) -> MERGESORT_IN_GA(X1s) 20.62/6.29 MERGESORT_IN_GA(.(.(Xs))) -> U1_GA(U5_gaa(split_in_gaa(.(Xs)))) 20.62/6.29 20.62/6.29 The TRS R consists of the following rules: 20.62/6.29 20.62/6.29 mergesort_in_ga([]) -> mergesort_out_ga([]) 20.62/6.29 mergesort_in_ga(.(.(Xs))) -> U1_ga(split_in_gaa(.(.(Xs)))) 20.62/6.29 split_in_gaa(.(Xs)) -> U5_gaa(split_in_gaa(Xs)) 20.62/6.29 U1_ga(split_out_gaa(X1s, X2s)) -> U2_ga(X2s, mergesort_in_ga(X1s)) 20.62/6.29 U5_gaa(split_out_gaa(Zs, Ys)) -> split_out_gaa(.(Ys), Zs) 20.62/6.29 U2_ga(X2s, mergesort_out_ga(Y1s)) -> U3_ga(Y1s, mergesort_in_ga(X2s)) 20.62/6.29 split_in_gaa([]) -> split_out_gaa([], []) 20.62/6.29 U3_ga(Y1s, mergesort_out_ga(Y2s)) -> U4_ga(merge_in_gga(Y1s, Y2s)) 20.62/6.29 U4_ga(merge_out_gga(Ys)) -> mergesort_out_ga(Ys) 20.62/6.29 merge_in_gga([], Xs) -> merge_out_gga(Xs) 20.62/6.29 merge_in_gga(Xs, []) -> merge_out_gga(Xs) 20.62/6.29 merge_in_gga(.(Xs), .(Ys)) -> U6_gga(Xs, Ys, =_in_aa) 20.62/6.29 U6_gga(Xs, Ys, =_out_aa) -> U7_gga(merge_in_gga(.(Xs), Ys)) 20.62/6.29 =_in_aa -> =_out_aa 20.62/6.29 U7_gga(merge_out_gga(Zs)) -> merge_out_gga(.(Zs)) 20.62/6.29 20.62/6.29 The set Q consists of the following terms: 20.62/6.29 20.62/6.29 mergesort_in_ga(x0) 20.62/6.29 split_in_gaa(x0) 20.62/6.29 U1_ga(x0) 20.62/6.29 U5_gaa(x0) 20.62/6.29 U2_ga(x0, x1) 20.62/6.29 U3_ga(x0, x1) 20.62/6.29 U4_ga(x0) 20.62/6.29 merge_in_gga(x0, x1) 20.62/6.29 U6_gga(x0, x1, x2) 20.62/6.29 =_in_aa 20.62/6.29 U7_gga(x0) 20.62/6.29 20.62/6.29 We have to consider all (P,Q,R)-chains. 20.62/6.29 ---------------------------------------- 20.62/6.29 20.62/6.29 (94) TransformationProof (EQUIVALENT) 20.62/6.29 By rewriting [LPAR04] the rule MERGESORT_IN_GA(.(.(Xs))) -> U1_GA(U5_gaa(split_in_gaa(.(Xs)))) at position [0,0] we obtained the following new rules [LPAR04]: 20.62/6.29 20.62/6.29 (MERGESORT_IN_GA(.(.(Xs))) -> U1_GA(U5_gaa(U5_gaa(split_in_gaa(Xs)))),MERGESORT_IN_GA(.(.(Xs))) -> U1_GA(U5_gaa(U5_gaa(split_in_gaa(Xs))))) 20.62/6.29 20.62/6.29 20.62/6.29 ---------------------------------------- 20.62/6.29 20.62/6.29 (95) 20.62/6.29 Obligation: 20.62/6.29 Q DP problem: 20.62/6.29 The TRS P consists of the following rules: 20.62/6.29 20.62/6.29 U1_GA(split_out_gaa(X1s, X2s)) -> U2_GA(X2s, mergesort_in_ga(X1s)) 20.62/6.29 U2_GA(X2s, mergesort_out_ga(Y1s)) -> MERGESORT_IN_GA(X2s) 20.62/6.29 U1_GA(split_out_gaa(X1s, X2s)) -> MERGESORT_IN_GA(X1s) 20.62/6.29 MERGESORT_IN_GA(.(.(Xs))) -> U1_GA(U5_gaa(U5_gaa(split_in_gaa(Xs)))) 20.62/6.29 20.62/6.29 The TRS R consists of the following rules: 20.62/6.29 20.62/6.29 mergesort_in_ga([]) -> mergesort_out_ga([]) 20.62/6.29 mergesort_in_ga(.(.(Xs))) -> U1_ga(split_in_gaa(.(.(Xs)))) 20.62/6.29 split_in_gaa(.(Xs)) -> U5_gaa(split_in_gaa(Xs)) 20.62/6.29 U1_ga(split_out_gaa(X1s, X2s)) -> U2_ga(X2s, mergesort_in_ga(X1s)) 20.62/6.29 U5_gaa(split_out_gaa(Zs, Ys)) -> split_out_gaa(.(Ys), Zs) 20.62/6.29 U2_ga(X2s, mergesort_out_ga(Y1s)) -> U3_ga(Y1s, mergesort_in_ga(X2s)) 20.62/6.29 split_in_gaa([]) -> split_out_gaa([], []) 20.62/6.29 U3_ga(Y1s, mergesort_out_ga(Y2s)) -> U4_ga(merge_in_gga(Y1s, Y2s)) 20.62/6.29 U4_ga(merge_out_gga(Ys)) -> mergesort_out_ga(Ys) 20.62/6.29 merge_in_gga([], Xs) -> merge_out_gga(Xs) 20.62/6.29 merge_in_gga(Xs, []) -> merge_out_gga(Xs) 20.62/6.29 merge_in_gga(.(Xs), .(Ys)) -> U6_gga(Xs, Ys, =_in_aa) 20.62/6.29 U6_gga(Xs, Ys, =_out_aa) -> U7_gga(merge_in_gga(.(Xs), Ys)) 20.62/6.29 =_in_aa -> =_out_aa 20.62/6.29 U7_gga(merge_out_gga(Zs)) -> merge_out_gga(.(Zs)) 20.62/6.29 20.62/6.29 The set Q consists of the following terms: 20.62/6.29 20.62/6.29 mergesort_in_ga(x0) 20.62/6.29 split_in_gaa(x0) 20.62/6.29 U1_ga(x0) 20.62/6.29 U5_gaa(x0) 20.62/6.29 U2_ga(x0, x1) 20.62/6.29 U3_ga(x0, x1) 20.62/6.29 U4_ga(x0) 20.62/6.29 merge_in_gga(x0, x1) 20.62/6.29 U6_gga(x0, x1, x2) 20.62/6.29 =_in_aa 20.62/6.29 U7_gga(x0) 20.62/6.29 20.62/6.29 We have to consider all (P,Q,R)-chains. 20.62/6.29 ---------------------------------------- 20.62/6.29 20.62/6.29 (96) QDPQMonotonicMRRProof (EQUIVALENT) 20.62/6.29 By using the Q-monotonic rule removal processor with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented such that it always occurs at a strongly monotonic position in a (P,Q,R)-chain. 20.62/6.29 20.62/6.29 20.62/6.29 Strictly oriented rules of the TRS R: 20.62/6.29 20.62/6.29 merge_in_gga(.(Xs), .(Ys)) -> U6_gga(Xs, Ys, =_in_aa) 20.62/6.29 20.62/6.29 Used ordering: Polynomial interpretation [POLO]: 20.62/6.29 20.62/6.29 POL(.(x_1)) = 1 + x_1 20.62/6.29 POL(=_in_aa) = 1 20.62/6.29 POL(=_out_aa) = 1 20.62/6.29 POL(MERGESORT_IN_GA(x_1)) = 0 20.62/6.29 POL(U1_GA(x_1)) = 0 20.62/6.29 POL(U1_ga(x_1)) = 0 20.62/6.29 POL(U2_GA(x_1, x_2)) = 2*x_2 20.62/6.29 POL(U2_ga(x_1, x_2)) = 2*x_2 20.62/6.29 POL(U3_ga(x_1, x_2)) = 2*x_1 + 2*x_2 20.62/6.29 POL(U4_ga(x_1)) = 2*x_1 20.62/6.29 POL(U5_gaa(x_1)) = 0 20.62/6.29 POL(U6_gga(x_1, x_2, x_3)) = x_1 + 2*x_2 + 2*x_3 20.62/6.29 POL(U7_gga(x_1)) = 1 + x_1 20.62/6.29 POL([]) = 0 20.62/6.29 POL(merge_in_gga(x_1, x_2)) = x_1 + 2*x_2 20.62/6.29 POL(merge_out_gga(x_1)) = x_1 20.62/6.29 POL(mergesort_in_ga(x_1)) = 0 20.62/6.29 POL(mergesort_out_ga(x_1)) = 2*x_1 20.62/6.29 POL(split_in_gaa(x_1)) = 0 20.62/6.29 POL(split_out_gaa(x_1, x_2)) = 0 20.62/6.29 20.62/6.29 20.62/6.29 ---------------------------------------- 20.62/6.29 20.62/6.29 (97) 20.62/6.29 Obligation: 20.62/6.29 Q DP problem: 20.62/6.29 The TRS P consists of the following rules: 20.62/6.29 20.62/6.29 U1_GA(split_out_gaa(X1s, X2s)) -> U2_GA(X2s, mergesort_in_ga(X1s)) 20.62/6.29 U2_GA(X2s, mergesort_out_ga(Y1s)) -> MERGESORT_IN_GA(X2s) 20.62/6.29 U1_GA(split_out_gaa(X1s, X2s)) -> MERGESORT_IN_GA(X1s) 20.62/6.30 MERGESORT_IN_GA(.(.(Xs))) -> U1_GA(U5_gaa(U5_gaa(split_in_gaa(Xs)))) 20.62/6.30 20.62/6.30 The TRS R consists of the following rules: 20.62/6.30 20.62/6.30 mergesort_in_ga([]) -> mergesort_out_ga([]) 20.62/6.30 mergesort_in_ga(.(.(Xs))) -> U1_ga(split_in_gaa(.(.(Xs)))) 20.62/6.30 split_in_gaa(.(Xs)) -> U5_gaa(split_in_gaa(Xs)) 20.62/6.30 U1_ga(split_out_gaa(X1s, X2s)) -> U2_ga(X2s, mergesort_in_ga(X1s)) 20.62/6.30 U5_gaa(split_out_gaa(Zs, Ys)) -> split_out_gaa(.(Ys), Zs) 20.62/6.30 U2_ga(X2s, mergesort_out_ga(Y1s)) -> U3_ga(Y1s, mergesort_in_ga(X2s)) 20.62/6.30 split_in_gaa([]) -> split_out_gaa([], []) 20.62/6.30 U3_ga(Y1s, mergesort_out_ga(Y2s)) -> U4_ga(merge_in_gga(Y1s, Y2s)) 20.62/6.30 U4_ga(merge_out_gga(Ys)) -> mergesort_out_ga(Ys) 20.62/6.30 merge_in_gga([], Xs) -> merge_out_gga(Xs) 20.62/6.30 merge_in_gga(Xs, []) -> merge_out_gga(Xs) 20.62/6.30 U6_gga(Xs, Ys, =_out_aa) -> U7_gga(merge_in_gga(.(Xs), Ys)) 20.62/6.30 =_in_aa -> =_out_aa 20.62/6.30 U7_gga(merge_out_gga(Zs)) -> merge_out_gga(.(Zs)) 20.62/6.30 20.62/6.30 The set Q consists of the following terms: 20.62/6.30 20.62/6.30 mergesort_in_ga(x0) 20.62/6.30 split_in_gaa(x0) 20.62/6.30 U1_ga(x0) 20.62/6.30 U5_gaa(x0) 20.62/6.30 U2_ga(x0, x1) 20.62/6.30 U3_ga(x0, x1) 20.62/6.30 U4_ga(x0) 20.62/6.30 merge_in_gga(x0, x1) 20.62/6.30 U6_gga(x0, x1, x2) 20.62/6.30 =_in_aa 20.62/6.30 U7_gga(x0) 20.62/6.30 20.62/6.30 We have to consider all (P,Q,R)-chains. 20.62/6.30 ---------------------------------------- 20.62/6.30 20.62/6.30 (98) UsableRulesProof (EQUIVALENT) 20.62/6.30 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. 20.62/6.30 ---------------------------------------- 20.62/6.30 20.62/6.30 (99) 20.62/6.30 Obligation: 20.62/6.30 Q DP problem: 20.62/6.30 The TRS P consists of the following rules: 20.62/6.30 20.62/6.30 U1_GA(split_out_gaa(X1s, X2s)) -> U2_GA(X2s, mergesort_in_ga(X1s)) 20.62/6.30 U2_GA(X2s, mergesort_out_ga(Y1s)) -> MERGESORT_IN_GA(X2s) 20.62/6.30 U1_GA(split_out_gaa(X1s, X2s)) -> MERGESORT_IN_GA(X1s) 20.62/6.30 MERGESORT_IN_GA(.(.(Xs))) -> U1_GA(U5_gaa(U5_gaa(split_in_gaa(Xs)))) 20.62/6.30 20.62/6.30 The TRS R consists of the following rules: 20.62/6.30 20.62/6.30 split_in_gaa(.(Xs)) -> U5_gaa(split_in_gaa(Xs)) 20.62/6.30 split_in_gaa([]) -> split_out_gaa([], []) 20.62/6.30 U5_gaa(split_out_gaa(Zs, Ys)) -> split_out_gaa(.(Ys), Zs) 20.62/6.30 mergesort_in_ga([]) -> mergesort_out_ga([]) 20.62/6.30 mergesort_in_ga(.(.(Xs))) -> U1_ga(split_in_gaa(.(.(Xs)))) 20.62/6.30 U1_ga(split_out_gaa(X1s, X2s)) -> U2_ga(X2s, mergesort_in_ga(X1s)) 20.62/6.30 U2_ga(X2s, mergesort_out_ga(Y1s)) -> U3_ga(Y1s, mergesort_in_ga(X2s)) 20.62/6.30 U3_ga(Y1s, mergesort_out_ga(Y2s)) -> U4_ga(merge_in_gga(Y1s, Y2s)) 20.62/6.30 merge_in_gga([], Xs) -> merge_out_gga(Xs) 20.62/6.30 merge_in_gga(Xs, []) -> merge_out_gga(Xs) 20.62/6.30 U4_ga(merge_out_gga(Ys)) -> mergesort_out_ga(Ys) 20.62/6.30 20.62/6.30 The set Q consists of the following terms: 20.62/6.30 20.62/6.30 mergesort_in_ga(x0) 20.62/6.30 split_in_gaa(x0) 20.62/6.30 U1_ga(x0) 20.62/6.30 U5_gaa(x0) 20.62/6.30 U2_ga(x0, x1) 20.62/6.30 U3_ga(x0, x1) 20.62/6.30 U4_ga(x0) 20.62/6.30 merge_in_gga(x0, x1) 20.62/6.30 U6_gga(x0, x1, x2) 20.62/6.30 =_in_aa 20.62/6.30 U7_gga(x0) 20.62/6.30 20.62/6.30 We have to consider all (P,Q,R)-chains. 20.62/6.30 ---------------------------------------- 20.62/6.30 20.62/6.30 (100) QReductionProof (EQUIVALENT) 20.62/6.30 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 20.62/6.30 20.62/6.30 U6_gga(x0, x1, x2) 20.62/6.30 =_in_aa 20.62/6.30 U7_gga(x0) 20.62/6.30 20.62/6.30 20.62/6.30 ---------------------------------------- 20.62/6.30 20.62/6.30 (101) 20.62/6.30 Obligation: 20.62/6.30 Q DP problem: 20.62/6.30 The TRS P consists of the following rules: 20.62/6.30 20.62/6.30 U1_GA(split_out_gaa(X1s, X2s)) -> U2_GA(X2s, mergesort_in_ga(X1s)) 20.62/6.30 U2_GA(X2s, mergesort_out_ga(Y1s)) -> MERGESORT_IN_GA(X2s) 20.62/6.30 U1_GA(split_out_gaa(X1s, X2s)) -> MERGESORT_IN_GA(X1s) 20.62/6.30 MERGESORT_IN_GA(.(.(Xs))) -> U1_GA(U5_gaa(U5_gaa(split_in_gaa(Xs)))) 20.62/6.30 20.62/6.30 The TRS R consists of the following rules: 20.62/6.30 20.62/6.30 split_in_gaa(.(Xs)) -> U5_gaa(split_in_gaa(Xs)) 20.62/6.30 split_in_gaa([]) -> split_out_gaa([], []) 20.62/6.30 U5_gaa(split_out_gaa(Zs, Ys)) -> split_out_gaa(.(Ys), Zs) 20.62/6.30 mergesort_in_ga([]) -> mergesort_out_ga([]) 20.62/6.30 mergesort_in_ga(.(.(Xs))) -> U1_ga(split_in_gaa(.(.(Xs)))) 20.62/6.30 U1_ga(split_out_gaa(X1s, X2s)) -> U2_ga(X2s, mergesort_in_ga(X1s)) 20.62/6.30 U2_ga(X2s, mergesort_out_ga(Y1s)) -> U3_ga(Y1s, mergesort_in_ga(X2s)) 20.62/6.30 U3_ga(Y1s, mergesort_out_ga(Y2s)) -> U4_ga(merge_in_gga(Y1s, Y2s)) 20.62/6.30 merge_in_gga([], Xs) -> merge_out_gga(Xs) 20.62/6.30 merge_in_gga(Xs, []) -> merge_out_gga(Xs) 20.62/6.30 U4_ga(merge_out_gga(Ys)) -> mergesort_out_ga(Ys) 20.62/6.30 20.62/6.30 The set Q consists of the following terms: 20.62/6.30 20.62/6.30 mergesort_in_ga(x0) 20.62/6.30 split_in_gaa(x0) 20.62/6.30 U1_ga(x0) 20.62/6.30 U5_gaa(x0) 20.62/6.30 U2_ga(x0, x1) 20.62/6.30 U3_ga(x0, x1) 20.62/6.30 U4_ga(x0) 20.62/6.30 merge_in_gga(x0, x1) 20.62/6.30 20.62/6.30 We have to consider all (P,Q,R)-chains. 20.62/6.30 ---------------------------------------- 20.62/6.30 20.62/6.30 (102) QDPQMonotonicMRRProof (EQUIVALENT) 20.62/6.30 By using the Q-monotonic rule removal processor with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented such that it always occurs at a strongly monotonic position in a (P,Q,R)-chain. 20.62/6.30 20.62/6.30 Strictly oriented dependency pairs: 20.62/6.30 20.62/6.30 U1_GA(split_out_gaa(X1s, X2s)) -> U2_GA(X2s, mergesort_in_ga(X1s)) 20.62/6.30 U2_GA(X2s, mergesort_out_ga(Y1s)) -> MERGESORT_IN_GA(X2s) 20.62/6.30 20.62/6.30 20.62/6.30 Used ordering: Polynomial interpretation [POLO]: 20.62/6.30 20.62/6.30 POL(.(x_1)) = 0 20.62/6.30 POL(MERGESORT_IN_GA(x_1)) = 1 20.62/6.30 POL(U1_GA(x_1)) = 1 + x_1 20.62/6.30 POL(U1_ga(x_1)) = 2*x_1 20.62/6.30 POL(U2_GA(x_1, x_2)) = x_2 20.62/6.30 POL(U2_ga(x_1, x_2)) = 2*x_2 20.62/6.30 POL(U3_ga(x_1, x_2)) = 2 20.62/6.30 POL(U4_ga(x_1)) = 2 20.62/6.30 POL(U5_gaa(x_1)) = 0 20.62/6.30 POL([]) = 2 20.62/6.30 POL(merge_in_gga(x_1, x_2)) = 1 20.62/6.30 POL(merge_out_gga(x_1)) = 0 20.62/6.30 POL(mergesort_in_ga(x_1)) = x_1 20.62/6.30 POL(mergesort_out_ga(x_1)) = 2 20.62/6.30 POL(split_in_gaa(x_1)) = x_1 20.62/6.30 POL(split_out_gaa(x_1, x_2)) = x_1 20.62/6.30 20.62/6.30 20.62/6.30 ---------------------------------------- 20.62/6.30 20.62/6.30 (103) 20.62/6.30 Obligation: 20.62/6.30 Q DP problem: 20.62/6.30 The TRS P consists of the following rules: 20.62/6.30 20.62/6.30 U1_GA(split_out_gaa(X1s, X2s)) -> MERGESORT_IN_GA(X1s) 20.62/6.30 MERGESORT_IN_GA(.(.(Xs))) -> U1_GA(U5_gaa(U5_gaa(split_in_gaa(Xs)))) 20.62/6.30 20.62/6.30 The TRS R consists of the following rules: 20.62/6.30 20.62/6.30 split_in_gaa(.(Xs)) -> U5_gaa(split_in_gaa(Xs)) 20.62/6.30 split_in_gaa([]) -> split_out_gaa([], []) 20.62/6.30 U5_gaa(split_out_gaa(Zs, Ys)) -> split_out_gaa(.(Ys), Zs) 20.62/6.30 mergesort_in_ga([]) -> mergesort_out_ga([]) 20.62/6.30 mergesort_in_ga(.(.(Xs))) -> U1_ga(split_in_gaa(.(.(Xs)))) 20.62/6.30 U1_ga(split_out_gaa(X1s, X2s)) -> U2_ga(X2s, mergesort_in_ga(X1s)) 20.62/6.30 U2_ga(X2s, mergesort_out_ga(Y1s)) -> U3_ga(Y1s, mergesort_in_ga(X2s)) 20.62/6.30 U3_ga(Y1s, mergesort_out_ga(Y2s)) -> U4_ga(merge_in_gga(Y1s, Y2s)) 20.62/6.30 merge_in_gga([], Xs) -> merge_out_gga(Xs) 20.62/6.30 merge_in_gga(Xs, []) -> merge_out_gga(Xs) 20.62/6.30 U4_ga(merge_out_gga(Ys)) -> mergesort_out_ga(Ys) 20.62/6.30 20.62/6.30 The set Q consists of the following terms: 20.62/6.30 20.62/6.30 mergesort_in_ga(x0) 20.62/6.30 split_in_gaa(x0) 20.62/6.30 U1_ga(x0) 20.62/6.30 U5_gaa(x0) 20.62/6.30 U2_ga(x0, x1) 20.62/6.30 U3_ga(x0, x1) 20.62/6.30 U4_ga(x0) 20.62/6.30 merge_in_gga(x0, x1) 20.62/6.30 20.62/6.30 We have to consider all (P,Q,R)-chains. 20.62/6.30 ---------------------------------------- 20.62/6.30 20.62/6.30 (104) UsableRulesProof (EQUIVALENT) 20.62/6.30 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. 20.62/6.30 ---------------------------------------- 20.62/6.30 20.62/6.30 (105) 20.62/6.30 Obligation: 20.62/6.30 Q DP problem: 20.62/6.30 The TRS P consists of the following rules: 20.62/6.30 20.62/6.30 U1_GA(split_out_gaa(X1s, X2s)) -> MERGESORT_IN_GA(X1s) 20.62/6.30 MERGESORT_IN_GA(.(.(Xs))) -> U1_GA(U5_gaa(U5_gaa(split_in_gaa(Xs)))) 20.62/6.30 20.62/6.30 The TRS R consists of the following rules: 20.62/6.30 20.62/6.30 split_in_gaa(.(Xs)) -> U5_gaa(split_in_gaa(Xs)) 20.62/6.30 split_in_gaa([]) -> split_out_gaa([], []) 20.62/6.30 U5_gaa(split_out_gaa(Zs, Ys)) -> split_out_gaa(.(Ys), Zs) 20.62/6.30 20.62/6.30 The set Q consists of the following terms: 20.62/6.30 20.62/6.30 mergesort_in_ga(x0) 20.62/6.30 split_in_gaa(x0) 20.62/6.30 U1_ga(x0) 20.62/6.30 U5_gaa(x0) 20.62/6.30 U2_ga(x0, x1) 20.62/6.30 U3_ga(x0, x1) 20.62/6.30 U4_ga(x0) 20.62/6.30 merge_in_gga(x0, x1) 20.62/6.30 20.62/6.30 We have to consider all (P,Q,R)-chains. 20.62/6.30 ---------------------------------------- 20.62/6.30 20.62/6.30 (106) QReductionProof (EQUIVALENT) 20.62/6.30 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 20.62/6.30 20.62/6.30 mergesort_in_ga(x0) 20.62/6.30 U1_ga(x0) 20.62/6.30 U2_ga(x0, x1) 20.62/6.30 U3_ga(x0, x1) 20.62/6.30 U4_ga(x0) 20.62/6.30 merge_in_gga(x0, x1) 20.62/6.30 20.62/6.30 20.62/6.30 ---------------------------------------- 20.62/6.30 20.62/6.30 (107) 20.62/6.30 Obligation: 20.62/6.30 Q DP problem: 20.62/6.30 The TRS P consists of the following rules: 20.62/6.30 20.62/6.30 U1_GA(split_out_gaa(X1s, X2s)) -> MERGESORT_IN_GA(X1s) 20.62/6.30 MERGESORT_IN_GA(.(.(Xs))) -> U1_GA(U5_gaa(U5_gaa(split_in_gaa(Xs)))) 20.62/6.30 20.62/6.30 The TRS R consists of the following rules: 20.62/6.30 20.62/6.30 split_in_gaa(.(Xs)) -> U5_gaa(split_in_gaa(Xs)) 20.62/6.30 split_in_gaa([]) -> split_out_gaa([], []) 20.62/6.30 U5_gaa(split_out_gaa(Zs, Ys)) -> split_out_gaa(.(Ys), Zs) 20.62/6.30 20.62/6.30 The set Q consists of the following terms: 20.62/6.30 20.62/6.30 split_in_gaa(x0) 20.62/6.30 U5_gaa(x0) 20.62/6.30 20.62/6.30 We have to consider all (P,Q,R)-chains. 20.62/6.30 ---------------------------------------- 20.62/6.30 20.62/6.30 (108) QDPOrderProof (EQUIVALENT) 20.62/6.30 We use the reduction pair processor [LPAR04,JAR06]. 20.62/6.30 20.62/6.30 20.62/6.30 The following pairs can be oriented strictly and are deleted. 20.62/6.30 20.62/6.30 MERGESORT_IN_GA(.(.(Xs))) -> U1_GA(U5_gaa(U5_gaa(split_in_gaa(Xs)))) 20.62/6.30 The remaining pairs can at least be oriented weakly. 20.62/6.30 Used ordering: Matrix interpretation [MATRO] with arctic natural numbers [ARCTIC]: 20.62/6.30 20.62/6.30 <<< 20.62/6.30 POL(U1_GA(x_1)) = [[0A]] + [[0A]] * x_1 20.62/6.30 >>> 20.62/6.30 20.62/6.30 <<< 20.62/6.30 POL(split_out_gaa(x_1, x_2)) = [[1A]] + [[0A]] * x_1 + [[1A]] * x_2 20.62/6.30 >>> 20.62/6.30 20.62/6.30 <<< 20.62/6.30 POL(MERGESORT_IN_GA(x_1)) = [[1A]] + [[0A]] * x_1 20.62/6.30 >>> 20.62/6.30 20.62/6.30 <<< 20.62/6.30 POL(.(x_1)) = [[-I]] + [[2A]] * x_1 20.62/6.30 >>> 20.62/6.30 20.62/6.30 <<< 20.62/6.30 POL(U5_gaa(x_1)) = [[-I]] + [[1A]] * x_1 20.62/6.30 >>> 20.62/6.30 20.62/6.30 <<< 20.62/6.30 POL(split_in_gaa(x_1)) = [[-I]] + [[1A]] * x_1 20.62/6.30 >>> 20.62/6.30 20.62/6.30 <<< 20.62/6.30 POL([]) = [[0A]] 20.62/6.30 >>> 20.62/6.30 20.62/6.30 20.62/6.30 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 20.62/6.30 20.62/6.30 split_in_gaa(.(Xs)) -> U5_gaa(split_in_gaa(Xs)) 20.62/6.30 split_in_gaa([]) -> split_out_gaa([], []) 20.62/6.30 U5_gaa(split_out_gaa(Zs, Ys)) -> split_out_gaa(.(Ys), Zs) 20.62/6.30 20.62/6.30 20.62/6.30 ---------------------------------------- 20.62/6.30 20.62/6.30 (109) 20.62/6.30 Obligation: 20.62/6.30 Q DP problem: 20.62/6.30 The TRS P consists of the following rules: 20.62/6.30 20.62/6.30 U1_GA(split_out_gaa(X1s, X2s)) -> MERGESORT_IN_GA(X1s) 20.62/6.30 20.62/6.30 The TRS R consists of the following rules: 20.62/6.30 20.62/6.30 split_in_gaa(.(Xs)) -> U5_gaa(split_in_gaa(Xs)) 20.62/6.30 split_in_gaa([]) -> split_out_gaa([], []) 20.62/6.30 U5_gaa(split_out_gaa(Zs, Ys)) -> split_out_gaa(.(Ys), Zs) 20.62/6.30 20.62/6.30 The set Q consists of the following terms: 20.62/6.30 20.62/6.30 split_in_gaa(x0) 20.62/6.30 U5_gaa(x0) 20.62/6.30 20.62/6.30 We have to consider all (P,Q,R)-chains. 20.62/6.30 ---------------------------------------- 20.62/6.30 20.62/6.30 (110) DependencyGraphProof (EQUIVALENT) 20.62/6.30 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node. 20.62/6.30 ---------------------------------------- 20.62/6.30 20.62/6.30 (111) 20.62/6.30 TRUE 20.62/6.30 20.62/6.30 ---------------------------------------- 20.62/6.30 20.62/6.30 (112) 20.62/6.30 Obligation: 20.62/6.30 Pi DP problem: 20.62/6.30 The TRS P consists of the following rules: 20.62/6.30 20.62/6.30 SPLIT_IN_AAA(.(X, Xs), .(X, Ys), Zs) -> SPLIT_IN_AAA(Xs, Zs, Ys) 20.62/6.30 20.62/6.30 The TRS R consists of the following rules: 20.62/6.30 20.62/6.30 mergesort_in_ag([], []) -> mergesort_out_ag([], []) 20.62/6.30 mergesort_in_ag(.(X, []), .(X, [])) -> mergesort_out_ag(.(X, []), .(X, [])) 20.62/6.30 mergesort_in_ag(.(X, .(Y, Xs)), Ys) -> U1_ag(X, Y, Xs, Ys, split_in_aaa(.(X, .(Y, Xs)), X1s, X2s)) 20.62/6.30 split_in_aaa([], [], []) -> split_out_aaa([], [], []) 20.62/6.30 split_in_aaa(.(X, Xs), .(X, Ys), Zs) -> U5_aaa(X, Xs, Ys, Zs, split_in_aaa(Xs, Zs, Ys)) 20.62/6.30 U5_aaa(X, Xs, Ys, Zs, split_out_aaa(Xs, Zs, Ys)) -> split_out_aaa(.(X, Xs), .(X, Ys), Zs) 20.62/6.30 U1_ag(X, Y, Xs, Ys, split_out_aaa(.(X, .(Y, Xs)), X1s, X2s)) -> U2_ag(X, Y, Xs, Ys, X2s, mergesort_in_ga(X1s, Y1s)) 20.62/6.30 mergesort_in_ga([], []) -> mergesort_out_ga([], []) 20.62/6.30 mergesort_in_ga(.(X, []), .(X, [])) -> mergesort_out_ga(.(X, []), .(X, [])) 20.62/6.30 mergesort_in_ga(.(X, .(Y, Xs)), Ys) -> U1_ga(X, Y, Xs, Ys, split_in_gaa(.(X, .(Y, Xs)), X1s, X2s)) 20.62/6.30 split_in_gaa([], [], []) -> split_out_gaa([], [], []) 20.62/6.30 split_in_gaa(.(X, Xs), .(X, Ys), Zs) -> U5_gaa(X, Xs, Ys, Zs, split_in_gaa(Xs, Zs, Ys)) 20.62/6.30 U5_gaa(X, Xs, Ys, Zs, split_out_gaa(Xs, Zs, Ys)) -> split_out_gaa(.(X, Xs), .(X, Ys), Zs) 20.62/6.30 U1_ga(X, Y, Xs, Ys, split_out_gaa(.(X, .(Y, Xs)), X1s, X2s)) -> U2_ga(X, Y, Xs, Ys, X2s, mergesort_in_ga(X1s, Y1s)) 20.62/6.30 U2_ga(X, Y, Xs, Ys, X2s, mergesort_out_ga(X1s, Y1s)) -> U3_ga(X, Y, Xs, Ys, Y1s, mergesort_in_ga(X2s, Y2s)) 20.62/6.30 U3_ga(X, Y, Xs, Ys, Y1s, mergesort_out_ga(X2s, Y2s)) -> U4_ga(X, Y, Xs, Ys, merge_in_gga(Y1s, Y2s, Ys)) 20.62/6.30 merge_in_gga([], Xs, Xs) -> merge_out_gga([], Xs, Xs) 20.62/6.30 merge_in_gga(Xs, [], Xs) -> merge_out_gga(Xs, [], Xs) 20.62/6.30 merge_in_gga(.(X, Xs), .(Y, Ys), .(X, Zs)) -> U6_gga(X, Xs, Y, Ys, Zs, =_in_aa(X, Y)) 20.62/6.30 =_in_aa(X, X) -> =_out_aa(X, X) 20.62/6.30 U6_gga(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> U7_gga(X, Xs, Y, Ys, Zs, merge_in_gga(.(X, Xs), Ys, Zs)) 20.62/6.30 U7_gga(X, Xs, Y, Ys, Zs, merge_out_gga(.(X, Xs), Ys, Zs)) -> merge_out_gga(.(X, Xs), .(Y, Ys), .(X, Zs)) 20.62/6.30 U4_ga(X, Y, Xs, Ys, merge_out_gga(Y1s, Y2s, Ys)) -> mergesort_out_ga(.(X, .(Y, Xs)), Ys) 20.62/6.30 U2_ag(X, Y, Xs, Ys, X2s, mergesort_out_ga(X1s, Y1s)) -> U3_ag(X, Y, Xs, Ys, Y1s, mergesort_in_ga(X2s, Y2s)) 20.62/6.30 U3_ag(X, Y, Xs, Ys, Y1s, mergesort_out_ga(X2s, Y2s)) -> U4_ag(X, Y, Xs, Ys, merge_in_ggg(Y1s, Y2s, Ys)) 20.62/6.30 merge_in_ggg([], Xs, Xs) -> merge_out_ggg([], Xs, Xs) 20.62/6.30 merge_in_ggg(Xs, [], Xs) -> merge_out_ggg(Xs, [], Xs) 20.62/6.30 merge_in_ggg(.(X, Xs), .(Y, Ys), .(X, Zs)) -> U6_ggg(X, Xs, Y, Ys, Zs, =_in_aa(X, Y)) 20.62/6.30 U6_ggg(X, Xs, Y, Ys, Zs, =_out_aa(X, Y)) -> U7_ggg(X, Xs, Y, Ys, Zs, merge_in_ggg(.(X, Xs), Ys, Zs)) 20.62/6.30 U7_ggg(X, Xs, Y, Ys, Zs, merge_out_ggg(.(X, Xs), Ys, Zs)) -> merge_out_ggg(.(X, Xs), .(Y, Ys), .(X, Zs)) 20.62/6.30 U4_ag(X, Y, Xs, Ys, merge_out_ggg(Y1s, Y2s, Ys)) -> mergesort_out_ag(.(X, .(Y, Xs)), Ys) 20.62/6.30 20.62/6.30 The argument filtering Pi contains the following mapping: 20.62/6.30 mergesort_in_ag(x1, x2) = mergesort_in_ag(x2) 20.62/6.30 20.62/6.30 [] = [] 20.62/6.30 20.62/6.30 mergesort_out_ag(x1, x2) = mergesort_out_ag(x1) 20.62/6.30 20.62/6.30 .(x1, x2) = .(x2) 20.62/6.30 20.62/6.30 U1_ag(x1, x2, x3, x4, x5) = U1_ag(x4, x5) 20.62/6.30 20.62/6.30 split_in_aaa(x1, x2, x3) = split_in_aaa 20.62/6.30 20.62/6.30 split_out_aaa(x1, x2, x3) = split_out_aaa(x1, x2, x3) 20.62/6.30 20.62/6.30 U5_aaa(x1, x2, x3, x4, x5) = U5_aaa(x5) 20.62/6.30 20.62/6.30 U2_ag(x1, x2, x3, x4, x5, x6) = U2_ag(x3, x4, x5, x6) 20.62/6.30 20.62/6.30 mergesort_in_ga(x1, x2) = mergesort_in_ga(x1) 20.62/6.30 20.62/6.30 mergesort_out_ga(x1, x2) = mergesort_out_ga(x2) 20.62/6.30 20.62/6.30 U1_ga(x1, x2, x3, x4, x5) = U1_ga(x5) 20.62/6.30 20.62/6.30 split_in_gaa(x1, x2, x3) = split_in_gaa(x1) 20.62/6.30 20.62/6.30 split_out_gaa(x1, x2, x3) = split_out_gaa(x2, x3) 20.62/6.30 20.62/6.30 U5_gaa(x1, x2, x3, x4, x5) = U5_gaa(x5) 20.62/6.30 20.62/6.30 U2_ga(x1, x2, x3, x4, x5, x6) = U2_ga(x5, x6) 20.62/6.30 20.62/6.30 U3_ga(x1, x2, x3, x4, x5, x6) = U3_ga(x5, x6) 20.62/6.30 20.62/6.30 U4_ga(x1, x2, x3, x4, x5) = U4_ga(x5) 20.62/6.30 20.62/6.30 merge_in_gga(x1, x2, x3) = merge_in_gga(x1, x2) 20.62/6.30 20.62/6.30 merge_out_gga(x1, x2, x3) = merge_out_gga(x3) 20.62/6.30 20.62/6.30 U6_gga(x1, x2, x3, x4, x5, x6) = U6_gga(x2, x4, x6) 20.62/6.30 20.62/6.30 =_in_aa(x1, x2) = =_in_aa 20.62/6.30 20.62/6.30 =_out_aa(x1, x2) = =_out_aa 20.62/6.30 20.62/6.30 U7_gga(x1, x2, x3, x4, x5, x6) = U7_gga(x6) 20.62/6.30 20.62/6.30 U3_ag(x1, x2, x3, x4, x5, x6) = U3_ag(x3, x4, x5, x6) 20.62/6.30 20.62/6.30 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x3, x5) 20.62/6.30 20.62/6.30 merge_in_ggg(x1, x2, x3) = merge_in_ggg(x1, x2, x3) 20.62/6.30 20.62/6.30 merge_out_ggg(x1, x2, x3) = merge_out_ggg 20.62/6.30 20.62/6.30 U6_ggg(x1, x2, x3, x4, x5, x6) = U6_ggg(x2, x4, x5, x6) 20.62/6.30 20.62/6.30 U7_ggg(x1, x2, x3, x4, x5, x6) = U7_ggg(x6) 20.62/6.30 20.62/6.30 SPLIT_IN_AAA(x1, x2, x3) = SPLIT_IN_AAA 20.62/6.30 20.62/6.30 20.62/6.30 We have to consider all (P,R,Pi)-chains 20.62/6.30 ---------------------------------------- 20.62/6.30 20.62/6.30 (113) UsableRulesProof (EQUIVALENT) 20.62/6.30 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 20.62/6.30 ---------------------------------------- 20.62/6.30 20.62/6.30 (114) 20.62/6.30 Obligation: 20.62/6.30 Pi DP problem: 20.62/6.30 The TRS P consists of the following rules: 20.62/6.30 20.62/6.30 SPLIT_IN_AAA(.(X, Xs), .(X, Ys), Zs) -> SPLIT_IN_AAA(Xs, Zs, Ys) 20.62/6.30 20.62/6.30 R is empty. 20.62/6.30 The argument filtering Pi contains the following mapping: 20.62/6.30 .(x1, x2) = .(x2) 20.62/6.30 20.62/6.30 SPLIT_IN_AAA(x1, x2, x3) = SPLIT_IN_AAA 20.62/6.30 20.62/6.30 20.62/6.30 We have to consider all (P,R,Pi)-chains 20.62/6.30 ---------------------------------------- 20.62/6.30 20.62/6.30 (115) PiDPToQDPProof (SOUND) 20.62/6.30 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 20.62/6.30 ---------------------------------------- 20.62/6.30 20.62/6.30 (116) 20.62/6.30 Obligation: 20.62/6.30 Q DP problem: 20.62/6.30 The TRS P consists of the following rules: 20.62/6.30 20.62/6.30 SPLIT_IN_AAA -> SPLIT_IN_AAA 20.62/6.30 20.62/6.30 R is empty. 20.62/6.30 Q is empty. 20.62/6.30 We have to consider all (P,Q,R)-chains. 20.62/6.30 ---------------------------------------- 20.62/6.30 20.62/6.30 (117) PrologToTRSTransformerProof (SOUND) 20.62/6.30 Transformed Prolog program to TRS. 20.62/6.30 20.62/6.30 { 20.62/6.30 "root": 1, 20.62/6.30 "program": { 20.62/6.30 "directives": [], 20.62/6.30 "clauses": [ 20.62/6.30 [ 20.62/6.30 "(mergesort ([]) ([]))", 20.62/6.30 null 20.62/6.30 ], 20.62/6.30 [ 20.62/6.30 "(mergesort (. X ([])) (. X ([])))", 20.62/6.30 null 20.62/6.30 ], 20.62/6.30 [ 20.62/6.30 "(mergesort (. X (. Y Xs)) Ys)", 20.62/6.30 "(',' (split (. X (. Y Xs)) X1s X2s) (',' (mergesort X1s Y1s) (',' (mergesort X2s Y2s) (merge Y1s Y2s Ys))))" 20.62/6.30 ], 20.62/6.30 [ 20.62/6.30 "(split ([]) ([]) ([]))", 20.62/6.30 null 20.62/6.30 ], 20.62/6.30 [ 20.62/6.30 "(split (. X Xs) (. X Ys) Zs)", 20.62/6.30 "(split Xs Zs Ys)" 20.62/6.30 ], 20.62/6.30 [ 20.62/6.30 "(merge ([]) Xs Xs)", 20.62/6.30 null 20.62/6.30 ], 20.62/6.30 [ 20.62/6.30 "(merge Xs ([]) Xs)", 20.62/6.30 null 20.62/6.30 ], 20.62/6.30 [ 20.62/6.30 "(merge (. X Xs) (. Y Ys) (. X Zs))", 20.62/6.30 "(',' (= X Y) (merge (. X Xs) Ys Zs))" 20.62/6.30 ] 20.62/6.30 ] 20.62/6.30 }, 20.62/6.30 "graph": { 20.62/6.30 "nodes": { 20.62/6.30 "45": { 20.62/6.30 "goal": [], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": [], 20.62/6.30 "free": [], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "48": { 20.62/6.30 "goal": [{ 20.62/6.30 "clause": -1, 20.62/6.30 "scope": -1, 20.62/6.30 "term": "(',' (split (. T20 (. T21 T22)) X22 X23) (',' (mergesort X22 X24) (',' (mergesort X23 X25) (merge X24 X25 T19))))" 20.62/6.30 }], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": ["T19"], 20.62/6.30 "free": [ 20.62/6.30 "X22", 20.62/6.30 "X23", 20.62/6.30 "X24", 20.62/6.30 "X25" 20.62/6.30 ], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "49": { 20.62/6.30 "goal": [], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": [], 20.62/6.30 "free": [], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "type": "Nodes", 20.62/6.30 "470": { 20.62/6.30 "goal": [], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": [], 20.62/6.30 "free": [], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "471": { 20.62/6.30 "goal": [], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": [], 20.62/6.30 "free": [], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "472": { 20.62/6.30 "goal": [{ 20.62/6.30 "clause": -1, 20.62/6.30 "scope": -1, 20.62/6.30 "term": "(',' (split (. T69 (. T70 T71)) X103 X104) (',' (mergesort X103 X105) (',' (mergesort X104 X106) (merge X105 X106 X107))))" 20.62/6.30 }], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": [], 20.62/6.30 "free": [ 20.62/6.30 "X107", 20.62/6.30 "X103", 20.62/6.30 "X104", 20.62/6.30 "X105", 20.62/6.30 "X106" 20.62/6.30 ], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "473": { 20.62/6.30 "goal": [], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": [], 20.62/6.30 "free": [], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "111": { 20.62/6.30 "goal": [], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": [], 20.62/6.30 "free": [], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "474": { 20.62/6.30 "goal": [{ 20.62/6.30 "clause": -1, 20.62/6.30 "scope": -1, 20.62/6.30 "term": "(split (. T69 (. T70 T71)) X103 X104)" 20.62/6.30 }], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": [], 20.62/6.30 "free": [ 20.62/6.30 "X103", 20.62/6.30 "X104" 20.62/6.30 ], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "475": { 20.62/6.30 "goal": [{ 20.62/6.30 "clause": -1, 20.62/6.30 "scope": -1, 20.62/6.30 "term": "(',' (mergesort T72 X105) (',' (mergesort T73 X106) (merge X105 X106 X107)))" 20.62/6.30 }], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": [], 20.62/6.30 "free": [ 20.62/6.30 "X107", 20.62/6.30 "X105", 20.62/6.30 "X106" 20.62/6.30 ], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "476": { 20.62/6.30 "goal": [{ 20.62/6.30 "clause": -1, 20.62/6.30 "scope": -1, 20.62/6.30 "term": "(mergesort T72 X105)" 20.62/6.30 }], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": [], 20.62/6.30 "free": ["X105"], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "114": { 20.62/6.30 "goal": [], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": [], 20.62/6.30 "free": [], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "477": { 20.62/6.30 "goal": [{ 20.62/6.30 "clause": -1, 20.62/6.30 "scope": -1, 20.62/6.30 "term": "(',' (mergesort T75 X106) (merge T74 X106 X107))" 20.62/6.30 }], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": [], 20.62/6.30 "free": [ 20.62/6.30 "X107", 20.62/6.30 "X106" 20.62/6.30 ], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "115": { 20.62/6.30 "goal": [{ 20.62/6.30 "clause": -1, 20.62/6.30 "scope": -1, 20.62/6.30 "term": "(split T52 X79 X78)" 20.62/6.30 }], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": [], 20.62/6.30 "free": [ 20.62/6.30 "X78", 20.62/6.30 "X79" 20.62/6.30 ], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "478": { 20.62/6.30 "goal": [{ 20.62/6.30 "clause": -1, 20.62/6.30 "scope": -1, 20.62/6.30 "term": "(mergesort T75 X106)" 20.62/6.30 }], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": [], 20.62/6.30 "free": ["X106"], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "479": { 20.62/6.30 "goal": [{ 20.62/6.30 "clause": -1, 20.62/6.30 "scope": -1, 20.62/6.30 "term": "(merge T77 T76 X107)" 20.62/6.30 }], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": [], 20.62/6.30 "free": ["X107"], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "556": { 20.62/6.30 "goal": [ 20.62/6.30 { 20.62/6.30 "clause": 5, 20.62/6.30 "scope": 7, 20.62/6.30 "term": "(merge T112 T111 T19)" 20.62/6.30 }, 20.62/6.30 { 20.62/6.30 "clause": 6, 20.62/6.30 "scope": 7, 20.62/6.30 "term": "(merge T112 T111 T19)" 20.62/6.30 }, 20.62/6.30 { 20.62/6.30 "clause": 7, 20.62/6.30 "scope": 7, 20.62/6.30 "term": "(merge T112 T111 T19)" 20.62/6.30 } 20.62/6.30 ], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": ["T19"], 20.62/6.30 "free": [], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "117": { 20.62/6.30 "goal": [], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": [], 20.62/6.30 "free": [], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "94": { 20.62/6.30 "goal": [ 20.62/6.30 { 20.62/6.30 "clause": 3, 20.62/6.30 "scope": 3, 20.62/6.30 "term": "(split (. T36 T37) X43 X42)" 20.62/6.30 }, 20.62/6.30 { 20.62/6.30 "clause": 4, 20.62/6.30 "scope": 3, 20.62/6.30 "term": "(split (. T36 T37) X43 X42)" 20.62/6.30 } 20.62/6.30 ], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": [], 20.62/6.30 "free": [ 20.62/6.30 "X42", 20.62/6.30 "X43" 20.62/6.30 ], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "517": { 20.62/6.30 "goal": [{ 20.62/6.30 "clause": -1, 20.62/6.30 "scope": -1, 20.62/6.30 "term": "(',' (= T102 T103) (merge (. T102 T105) T104 X137))" 20.62/6.30 }], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": [], 20.62/6.30 "free": ["X137"], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "97": { 20.62/6.30 "goal": [{ 20.62/6.30 "clause": 4, 20.62/6.30 "scope": 3, 20.62/6.30 "term": "(split (. T36 T37) X43 X42)" 20.62/6.30 }], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": [], 20.62/6.30 "free": [ 20.62/6.30 "X42", 20.62/6.30 "X43" 20.62/6.30 ], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "10": { 20.62/6.30 "goal": [{ 20.62/6.30 "clause": 0, 20.62/6.30 "scope": 1, 20.62/6.30 "term": "(mergesort T1 T2)" 20.62/6.30 }], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": ["T2"], 20.62/6.30 "free": [], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "11": { 20.62/6.30 "goal": [ 20.62/6.30 { 20.62/6.30 "clause": 1, 20.62/6.30 "scope": 1, 20.62/6.30 "term": "(mergesort T1 T2)" 20.62/6.30 }, 20.62/6.30 { 20.62/6.30 "clause": 2, 20.62/6.30 "scope": 1, 20.62/6.30 "term": "(mergesort T1 T2)" 20.62/6.30 } 20.62/6.30 ], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": ["T2"], 20.62/6.30 "free": [], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "480": { 20.62/6.30 "goal": [ 20.62/6.30 { 20.62/6.30 "clause": 5, 20.62/6.30 "scope": 6, 20.62/6.30 "term": "(merge T77 T76 X107)" 20.62/6.30 }, 20.62/6.30 { 20.62/6.30 "clause": 6, 20.62/6.30 "scope": 6, 20.62/6.30 "term": "(merge T77 T76 X107)" 20.62/6.30 }, 20.62/6.30 { 20.62/6.30 "clause": 7, 20.62/6.30 "scope": 6, 20.62/6.30 "term": "(merge T77 T76 X107)" 20.62/6.30 } 20.62/6.30 ], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": [], 20.62/6.30 "free": ["X107"], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "481": { 20.62/6.30 "goal": [{ 20.62/6.30 "clause": 5, 20.62/6.30 "scope": 6, 20.62/6.30 "term": "(merge T77 T76 X107)" 20.62/6.30 }], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": [], 20.62/6.30 "free": ["X107"], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "482": { 20.62/6.30 "goal": [ 20.62/6.30 { 20.62/6.30 "clause": 6, 20.62/6.30 "scope": 6, 20.62/6.30 "term": "(merge T77 T76 X107)" 20.62/6.30 }, 20.62/6.30 { 20.62/6.30 "clause": 7, 20.62/6.30 "scope": 6, 20.62/6.30 "term": "(merge T77 T76 X107)" 20.62/6.30 } 20.62/6.30 ], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": [], 20.62/6.30 "free": ["X107"], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "483": { 20.62/6.30 "goal": [{ 20.62/6.30 "clause": -1, 20.62/6.30 "scope": -1, 20.62/6.30 "term": "(true)" 20.62/6.30 }], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": [], 20.62/6.30 "free": [], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "560": { 20.62/6.30 "goal": [{ 20.62/6.30 "clause": 5, 20.62/6.30 "scope": 7, 20.62/6.30 "term": "(merge T112 T111 T19)" 20.62/6.30 }], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": ["T19"], 20.62/6.30 "free": [], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "484": { 20.62/6.30 "goal": [], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": [], 20.62/6.30 "free": [], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "561": { 20.62/6.30 "goal": [ 20.62/6.30 { 20.62/6.30 "clause": 6, 20.62/6.30 "scope": 7, 20.62/6.30 "term": "(merge T112 T111 T19)" 20.62/6.30 }, 20.62/6.30 { 20.62/6.30 "clause": 7, 20.62/6.30 "scope": 7, 20.62/6.30 "term": "(merge T112 T111 T19)" 20.62/6.30 } 20.62/6.30 ], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": ["T19"], 20.62/6.30 "free": [], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "1": { 20.62/6.30 "goal": [{ 20.62/6.30 "clause": -1, 20.62/6.30 "scope": -1, 20.62/6.30 "term": "(mergesort T1 T2)" 20.62/6.30 }], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": ["T2"], 20.62/6.30 "free": [], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "485": { 20.62/6.30 "goal": [], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": [], 20.62/6.30 "free": [], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "562": { 20.62/6.30 "goal": [{ 20.62/6.30 "clause": -1, 20.62/6.30 "scope": -1, 20.62/6.30 "term": "(true)" 20.62/6.30 }], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": [], 20.62/6.30 "free": [], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "2": { 20.62/6.30 "goal": [ 20.62/6.30 { 20.62/6.30 "clause": 0, 20.62/6.30 "scope": 1, 20.62/6.30 "term": "(mergesort T1 T2)" 20.62/6.30 }, 20.62/6.30 { 20.62/6.30 "clause": 1, 20.62/6.30 "scope": 1, 20.62/6.30 "term": "(mergesort T1 T2)" 20.62/6.30 }, 20.62/6.30 { 20.62/6.30 "clause": 2, 20.62/6.30 "scope": 1, 20.62/6.30 "term": "(mergesort T1 T2)" 20.62/6.30 } 20.62/6.30 ], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": ["T2"], 20.62/6.30 "free": [], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "563": { 20.62/6.30 "goal": [], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": [], 20.62/6.30 "free": [], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "520": { 20.62/6.30 "goal": [], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": [], 20.62/6.30 "free": [], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "564": { 20.62/6.30 "goal": [], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": [], 20.62/6.30 "free": [], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "488": { 20.62/6.30 "goal": [{ 20.62/6.30 "clause": 6, 20.62/6.30 "scope": 6, 20.62/6.30 "term": "(merge T77 T76 X107)" 20.62/6.30 }], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": [], 20.62/6.30 "free": ["X107"], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "565": { 20.62/6.30 "goal": [{ 20.62/6.30 "clause": 6, 20.62/6.30 "scope": 7, 20.62/6.30 "term": "(merge T112 T111 T19)" 20.62/6.30 }], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": ["T19"], 20.62/6.30 "free": [], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "489": { 20.62/6.30 "goal": [{ 20.62/6.30 "clause": 7, 20.62/6.30 "scope": 6, 20.62/6.30 "term": "(merge T77 T76 X107)" 20.62/6.30 }], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": [], 20.62/6.30 "free": ["X107"], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "566": { 20.62/6.30 "goal": [{ 20.62/6.30 "clause": 7, 20.62/6.30 "scope": 7, 20.62/6.30 "term": "(merge T112 T111 T19)" 20.62/6.30 }], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": ["T19"], 20.62/6.30 "free": [], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "568": { 20.62/6.30 "goal": [{ 20.62/6.30 "clause": -1, 20.62/6.30 "scope": -1, 20.62/6.30 "term": "(true)" 20.62/6.30 }], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": [], 20.62/6.30 "free": [], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "27": { 20.62/6.30 "goal": [{ 20.62/6.30 "clause": -1, 20.62/6.30 "scope": -1, 20.62/6.30 "term": "(true)" 20.62/6.30 }], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": [], 20.62/6.30 "free": [], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "28": { 20.62/6.30 "goal": [], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": [], 20.62/6.30 "free": [], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "492": { 20.62/6.30 "goal": [{ 20.62/6.30 "clause": -1, 20.62/6.30 "scope": -1, 20.62/6.30 "term": "(true)" 20.62/6.30 }], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": [], 20.62/6.30 "free": [], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "570": { 20.62/6.30 "goal": [], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": [], 20.62/6.30 "free": [], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "494": { 20.62/6.30 "goal": [], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": [], 20.62/6.30 "free": [], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "571": { 20.62/6.30 "goal": [], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": [], 20.62/6.30 "free": [], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "497": { 20.62/6.30 "goal": [], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": [], 20.62/6.30 "free": [], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "454": { 20.62/6.30 "goal": [{ 20.62/6.30 "clause": -1, 20.62/6.30 "scope": -1, 20.62/6.30 "term": "(mergesort T23 X24)" 20.62/6.30 }], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": [], 20.62/6.30 "free": ["X24"], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "456": { 20.62/6.30 "goal": [{ 20.62/6.30 "clause": -1, 20.62/6.30 "scope": -1, 20.62/6.30 "term": "(',' (mergesort T54 X25) (merge T53 X25 T19))" 20.62/6.30 }], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": ["T19"], 20.62/6.30 "free": ["X25"], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "537": { 20.62/6.30 "goal": [{ 20.62/6.30 "clause": -1, 20.62/6.30 "scope": -1, 20.62/6.30 "term": "(merge (. T109 T110) T108 X137)" 20.62/6.30 }], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": [], 20.62/6.30 "free": ["X137"], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "539": { 20.62/6.30 "goal": [], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": [], 20.62/6.30 "free": [], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "75": { 20.62/6.30 "goal": [{ 20.62/6.30 "clause": -1, 20.62/6.30 "scope": -1, 20.62/6.30 "term": "(split (. T20 (. T21 T22)) X22 X23)" 20.62/6.30 }], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": [], 20.62/6.30 "free": [ 20.62/6.30 "X22", 20.62/6.30 "X23" 20.62/6.30 ], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "32": { 20.62/6.30 "goal": [], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": [], 20.62/6.30 "free": [], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "76": { 20.62/6.30 "goal": [{ 20.62/6.30 "clause": -1, 20.62/6.30 "scope": -1, 20.62/6.30 "term": "(',' (mergesort T23 X24) (',' (mergesort T24 X25) (merge X24 X25 T19)))" 20.62/6.30 }], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": ["T19"], 20.62/6.30 "free": [ 20.62/6.30 "X24", 20.62/6.30 "X25" 20.62/6.30 ], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "37": { 20.62/6.30 "goal": [{ 20.62/6.30 "clause": 1, 20.62/6.30 "scope": 1, 20.62/6.30 "term": "(mergesort T1 T2)" 20.62/6.30 }], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": ["T2"], 20.62/6.30 "free": [], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "39": { 20.62/6.30 "goal": [{ 20.62/6.30 "clause": 2, 20.62/6.30 "scope": 1, 20.62/6.30 "term": "(mergesort T1 T2)" 20.62/6.30 }], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": ["T2"], 20.62/6.30 "free": [], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "580": { 20.62/6.30 "goal": [{ 20.62/6.30 "clause": -1, 20.62/6.30 "scope": -1, 20.62/6.30 "term": "(',' (= T135 T140) (merge (. T135 T142) T141 T139))" 20.62/6.30 }], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": [ 20.62/6.30 "T135", 20.62/6.30 "T139" 20.62/6.30 ], 20.62/6.30 "free": [], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "460": { 20.62/6.30 "goal": [ 20.62/6.30 { 20.62/6.30 "clause": 0, 20.62/6.30 "scope": 5, 20.62/6.30 "term": "(mergesort T23 X24)" 20.62/6.30 }, 20.62/6.30 { 20.62/6.30 "clause": 1, 20.62/6.30 "scope": 5, 20.62/6.30 "term": "(mergesort T23 X24)" 20.62/6.30 }, 20.62/6.30 { 20.62/6.30 "clause": 2, 20.62/6.30 "scope": 5, 20.62/6.30 "term": "(mergesort T23 X24)" 20.62/6.30 } 20.62/6.30 ], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": [], 20.62/6.30 "free": ["X24"], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "581": { 20.62/6.30 "goal": [], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": [], 20.62/6.30 "free": [], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "462": { 20.62/6.30 "goal": [{ 20.62/6.30 "clause": 0, 20.62/6.30 "scope": 5, 20.62/6.30 "term": "(mergesort T23 X24)" 20.62/6.30 }], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": [], 20.62/6.30 "free": ["X24"], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "463": { 20.62/6.30 "goal": [ 20.62/6.30 { 20.62/6.30 "clause": 1, 20.62/6.30 "scope": 5, 20.62/6.30 "term": "(mergesort T23 X24)" 20.62/6.30 }, 20.62/6.30 { 20.62/6.30 "clause": 2, 20.62/6.30 "scope": 5, 20.62/6.30 "term": "(mergesort T23 X24)" 20.62/6.30 } 20.62/6.30 ], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": [], 20.62/6.30 "free": ["X24"], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "584": { 20.62/6.30 "goal": [{ 20.62/6.30 "clause": -1, 20.62/6.30 "scope": -1, 20.62/6.30 "term": "(merge (. T144 T146) T145 T139)" 20.62/6.30 }], 20.62/6.30 "kb": { 20.62/6.30 "nonunifying": [], 20.62/6.30 "intvars": {}, 20.62/6.30 "arithmetic": { 20.62/6.30 "type": "PlainIntegerRelationState", 20.62/6.30 "relations": [] 20.62/6.30 }, 20.62/6.30 "ground": [ 20.62/6.30 "T139", 20.62/6.30 "T144" 20.62/6.30 ], 20.62/6.30 "free": [], 20.62/6.30 "exprvars": [] 20.62/6.30 } 20.62/6.30 }, 20.62/6.30 "101": { 20.62/6.30 "goal": [{ 20.62/6.30 "clause": -1, 20.62/6.30 "scope": -1, 20.62/6.30 "term": "(split T45 X61 X60)" 20.62/6.31 }], 20.62/6.31 "kb": { 20.62/6.31 "nonunifying": [], 20.62/6.31 "intvars": {}, 20.62/6.31 "arithmetic": { 20.62/6.31 "type": "PlainIntegerRelationState", 20.62/6.31 "relations": [] 20.62/6.31 }, 20.62/6.31 "ground": [], 20.62/6.31 "free": [ 20.62/6.31 "X60", 20.62/6.31 "X61" 20.62/6.31 ], 20.62/6.31 "exprvars": [] 20.62/6.31 } 20.62/6.31 }, 20.62/6.31 "464": { 20.62/6.31 "goal": [{ 20.62/6.31 "clause": -1, 20.62/6.31 "scope": -1, 20.62/6.31 "term": "(true)" 20.62/6.31 }], 20.62/6.31 "kb": { 20.62/6.31 "nonunifying": [], 20.62/6.31 "intvars": {}, 20.62/6.31 "arithmetic": { 20.62/6.31 "type": "PlainIntegerRelationState", 20.62/6.31 "relations": [] 20.62/6.31 }, 20.62/6.31 "ground": [], 20.62/6.31 "free": [], 20.62/6.31 "exprvars": [] 20.62/6.31 } 20.62/6.31 }, 20.62/6.31 "585": { 20.62/6.31 "goal": [], 20.62/6.31 "kb": { 20.62/6.31 "nonunifying": [], 20.62/6.31 "intvars": {}, 20.62/6.31 "arithmetic": { 20.62/6.31 "type": "PlainIntegerRelationState", 20.62/6.31 "relations": [] 20.62/6.31 }, 20.62/6.31 "ground": [], 20.62/6.31 "free": [], 20.62/6.31 "exprvars": [] 20.62/6.31 } 20.62/6.31 }, 20.62/6.31 "465": { 20.62/6.31 "goal": [], 20.62/6.31 "kb": { 20.62/6.31 "nonunifying": [], 20.62/6.31 "intvars": {}, 20.62/6.31 "arithmetic": { 20.62/6.31 "type": "PlainIntegerRelationState", 20.62/6.31 "relations": [] 20.62/6.31 }, 20.62/6.31 "ground": [], 20.62/6.31 "free": [], 20.62/6.31 "exprvars": [] 20.62/6.31 } 20.62/6.31 }, 20.62/6.31 "103": { 20.62/6.31 "goal": [ 20.62/6.31 { 20.62/6.31 "clause": 3, 20.62/6.31 "scope": 4, 20.62/6.31 "term": "(split T45 X61 X60)" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "clause": 4, 20.62/6.31 "scope": 4, 20.62/6.31 "term": "(split T45 X61 X60)" 20.62/6.31 } 20.62/6.31 ], 20.62/6.31 "kb": { 20.62/6.31 "nonunifying": [], 20.62/6.31 "intvars": {}, 20.62/6.31 "arithmetic": { 20.62/6.31 "type": "PlainIntegerRelationState", 20.62/6.31 "relations": [] 20.62/6.31 }, 20.62/6.31 "ground": [], 20.62/6.31 "free": [ 20.62/6.31 "X60", 20.62/6.31 "X61" 20.62/6.31 ], 20.62/6.31 "exprvars": [] 20.62/6.31 } 20.62/6.31 }, 20.62/6.31 "466": { 20.62/6.31 "goal": [], 20.62/6.31 "kb": { 20.62/6.31 "nonunifying": [], 20.62/6.31 "intvars": {}, 20.62/6.31 "arithmetic": { 20.62/6.31 "type": "PlainIntegerRelationState", 20.62/6.31 "relations": [] 20.62/6.31 }, 20.62/6.31 "ground": [], 20.62/6.31 "free": [], 20.62/6.31 "exprvars": [] 20.62/6.31 } 20.62/6.31 }, 20.62/6.31 "467": { 20.62/6.31 "goal": [{ 20.62/6.31 "clause": 1, 20.62/6.31 "scope": 5, 20.62/6.31 "term": "(mergesort T23 X24)" 20.62/6.31 }], 20.62/6.31 "kb": { 20.62/6.31 "nonunifying": [], 20.62/6.31 "intvars": {}, 20.62/6.31 "arithmetic": { 20.62/6.31 "type": "PlainIntegerRelationState", 20.62/6.31 "relations": [] 20.62/6.31 }, 20.62/6.31 "ground": [], 20.62/6.31 "free": ["X24"], 20.62/6.31 "exprvars": [] 20.62/6.31 } 20.62/6.31 }, 20.62/6.31 "105": { 20.62/6.31 "goal": [{ 20.62/6.31 "clause": 3, 20.62/6.31 "scope": 4, 20.62/6.31 "term": "(split T45 X61 X60)" 20.62/6.31 }], 20.62/6.31 "kb": { 20.62/6.31 "nonunifying": [], 20.62/6.31 "intvars": {}, 20.62/6.31 "arithmetic": { 20.62/6.31 "type": "PlainIntegerRelationState", 20.62/6.31 "relations": [] 20.62/6.31 }, 20.62/6.31 "ground": [], 20.62/6.31 "free": [ 20.62/6.31 "X60", 20.62/6.31 "X61" 20.62/6.31 ], 20.62/6.31 "exprvars": [] 20.62/6.31 } 20.62/6.31 }, 20.62/6.31 "468": { 20.62/6.31 "goal": [{ 20.62/6.31 "clause": 2, 20.62/6.31 "scope": 5, 20.62/6.31 "term": "(mergesort T23 X24)" 20.62/6.31 }], 20.62/6.31 "kb": { 20.62/6.31 "nonunifying": [], 20.62/6.31 "intvars": {}, 20.62/6.31 "arithmetic": { 20.62/6.31 "type": "PlainIntegerRelationState", 20.62/6.31 "relations": [] 20.62/6.31 }, 20.62/6.31 "ground": [], 20.62/6.31 "free": ["X24"], 20.62/6.31 "exprvars": [] 20.62/6.31 } 20.62/6.31 }, 20.62/6.31 "469": { 20.62/6.31 "goal": [{ 20.62/6.31 "clause": -1, 20.62/6.31 "scope": -1, 20.62/6.31 "term": "(true)" 20.62/6.31 }], 20.62/6.31 "kb": { 20.62/6.31 "nonunifying": [], 20.62/6.31 "intvars": {}, 20.62/6.31 "arithmetic": { 20.62/6.31 "type": "PlainIntegerRelationState", 20.62/6.31 "relations": [] 20.62/6.31 }, 20.62/6.31 "ground": [], 20.62/6.31 "free": [], 20.62/6.31 "exprvars": [] 20.62/6.31 } 20.62/6.31 }, 20.62/6.31 "546": { 20.62/6.31 "goal": [{ 20.62/6.31 "clause": -1, 20.62/6.31 "scope": -1, 20.62/6.31 "term": "(mergesort T54 X25)" 20.62/6.31 }], 20.62/6.31 "kb": { 20.62/6.31 "nonunifying": [], 20.62/6.31 "intvars": {}, 20.62/6.31 "arithmetic": { 20.62/6.31 "type": "PlainIntegerRelationState", 20.62/6.31 "relations": [] 20.62/6.31 }, 20.62/6.31 "ground": [], 20.62/6.31 "free": ["X25"], 20.62/6.31 "exprvars": [] 20.62/6.31 } 20.62/6.31 }, 20.62/6.31 "107": { 20.62/6.31 "goal": [{ 20.62/6.31 "clause": 4, 20.62/6.31 "scope": 4, 20.62/6.31 "term": "(split T45 X61 X60)" 20.62/6.31 }], 20.62/6.31 "kb": { 20.62/6.31 "nonunifying": [], 20.62/6.31 "intvars": {}, 20.62/6.31 "arithmetic": { 20.62/6.31 "type": "PlainIntegerRelationState", 20.62/6.31 "relations": [] 20.62/6.31 }, 20.62/6.31 "ground": [], 20.62/6.31 "free": [ 20.62/6.31 "X60", 20.62/6.31 "X61" 20.62/6.31 ], 20.62/6.31 "exprvars": [] 20.62/6.31 } 20.62/6.31 }, 20.62/6.31 "547": { 20.62/6.31 "goal": [{ 20.62/6.31 "clause": -1, 20.62/6.31 "scope": -1, 20.62/6.31 "term": "(merge T112 T111 T19)" 20.62/6.31 }], 20.62/6.31 "kb": { 20.62/6.31 "nonunifying": [], 20.62/6.31 "intvars": {}, 20.62/6.31 "arithmetic": { 20.62/6.31 "type": "PlainIntegerRelationState", 20.62/6.31 "relations": [] 20.62/6.31 }, 20.62/6.31 "ground": ["T19"], 20.62/6.31 "free": [], 20.62/6.31 "exprvars": [] 20.62/6.31 } 20.62/6.31 }, 20.62/6.31 "81": { 20.62/6.31 "goal": [ 20.62/6.31 { 20.62/6.31 "clause": 3, 20.62/6.31 "scope": 2, 20.62/6.31 "term": "(split (. T20 (. T21 T22)) X22 X23)" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "clause": 4, 20.62/6.31 "scope": 2, 20.62/6.31 "term": "(split (. T20 (. T21 T22)) X22 X23)" 20.62/6.31 } 20.62/6.31 ], 20.62/6.31 "kb": { 20.62/6.31 "nonunifying": [], 20.62/6.31 "intvars": {}, 20.62/6.31 "arithmetic": { 20.62/6.31 "type": "PlainIntegerRelationState", 20.62/6.31 "relations": [] 20.62/6.31 }, 20.62/6.31 "ground": [], 20.62/6.31 "free": [ 20.62/6.31 "X22", 20.62/6.31 "X23" 20.62/6.31 ], 20.62/6.31 "exprvars": [] 20.62/6.31 } 20.62/6.31 }, 20.62/6.31 "109": { 20.62/6.31 "goal": [{ 20.62/6.31 "clause": -1, 20.62/6.31 "scope": -1, 20.62/6.31 "term": "(true)" 20.62/6.31 }], 20.62/6.31 "kb": { 20.62/6.31 "nonunifying": [], 20.62/6.31 "intvars": {}, 20.62/6.31 "arithmetic": { 20.62/6.31 "type": "PlainIntegerRelationState", 20.62/6.31 "relations": [] 20.62/6.31 }, 20.62/6.31 "ground": [], 20.62/6.31 "free": [], 20.62/6.31 "exprvars": [] 20.62/6.31 } 20.62/6.31 }, 20.62/6.31 "83": { 20.62/6.31 "goal": [{ 20.62/6.31 "clause": 4, 20.62/6.31 "scope": 2, 20.62/6.31 "term": "(split (. T20 (. T21 T22)) X22 X23)" 20.62/6.31 }], 20.62/6.31 "kb": { 20.62/6.31 "nonunifying": [], 20.62/6.31 "intvars": {}, 20.62/6.31 "arithmetic": { 20.62/6.31 "type": "PlainIntegerRelationState", 20.62/6.31 "relations": [] 20.62/6.31 }, 20.62/6.31 "ground": [], 20.62/6.31 "free": [ 20.62/6.31 "X22", 20.62/6.31 "X23" 20.62/6.31 ], 20.62/6.31 "exprvars": [] 20.62/6.31 } 20.62/6.31 }, 20.62/6.31 "40": { 20.62/6.31 "goal": [{ 20.62/6.31 "clause": -1, 20.62/6.31 "scope": -1, 20.62/6.31 "term": "(true)" 20.62/6.31 }], 20.62/6.31 "kb": { 20.62/6.31 "nonunifying": [], 20.62/6.31 "intvars": {}, 20.62/6.31 "arithmetic": { 20.62/6.31 "type": "PlainIntegerRelationState", 20.62/6.31 "relations": [] 20.62/6.31 }, 20.62/6.31 "ground": [], 20.62/6.31 "free": [], 20.62/6.31 "exprvars": [] 20.62/6.31 } 20.62/6.31 }, 20.62/6.31 "42": { 20.62/6.31 "goal": [], 20.62/6.31 "kb": { 20.62/6.31 "nonunifying": [], 20.62/6.31 "intvars": {}, 20.62/6.31 "arithmetic": { 20.62/6.31 "type": "PlainIntegerRelationState", 20.62/6.31 "relations": [] 20.62/6.31 }, 20.62/6.31 "ground": [], 20.62/6.31 "free": [], 20.62/6.31 "exprvars": [] 20.62/6.31 } 20.62/6.31 }, 20.62/6.31 "87": { 20.62/6.31 "goal": [{ 20.62/6.31 "clause": -1, 20.62/6.31 "scope": -1, 20.62/6.31 "term": "(split (. T36 T37) X43 X42)" 20.62/6.31 }], 20.62/6.31 "kb": { 20.62/6.31 "nonunifying": [], 20.62/6.31 "intvars": {}, 20.62/6.31 "arithmetic": { 20.62/6.31 "type": "PlainIntegerRelationState", 20.62/6.31 "relations": [] 20.62/6.31 }, 20.62/6.31 "ground": [], 20.62/6.31 "free": [ 20.62/6.31 "X42", 20.62/6.31 "X43" 20.62/6.31 ], 20.62/6.31 "exprvars": [] 20.62/6.31 } 20.62/6.31 } 20.62/6.31 }, 20.62/6.31 "edges": [ 20.62/6.31 { 20.62/6.31 "from": 1, 20.62/6.31 "to": 2, 20.62/6.31 "label": "CASE" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 2, 20.62/6.31 "to": 10, 20.62/6.31 "label": "PARALLEL" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 2, 20.62/6.31 "to": 11, 20.62/6.31 "label": "PARALLEL" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 10, 20.62/6.31 "to": 27, 20.62/6.31 "label": "EVAL with clause\nmergesort([], []).\nand substitutionT1 -> [],\nT2 -> []" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 10, 20.62/6.31 "to": 28, 20.62/6.31 "label": "EVAL-BACKTRACK" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 11, 20.62/6.31 "to": 37, 20.62/6.31 "label": "PARALLEL" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 11, 20.62/6.31 "to": 39, 20.62/6.31 "label": "PARALLEL" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 27, 20.62/6.31 "to": 32, 20.62/6.31 "label": "SUCCESS" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 37, 20.62/6.31 "to": 40, 20.62/6.31 "label": "EVAL with clause\nmergesort(.(X5, []), .(X5, [])).\nand substitutionX5 -> T7,\nT1 -> .(T7, []),\nT2 -> .(T7, [])" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 37, 20.62/6.31 "to": 42, 20.62/6.31 "label": "EVAL-BACKTRACK" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 39, 20.62/6.31 "to": 48, 20.62/6.31 "label": "EVAL with clause\nmergesort(.(X18, .(X19, X20)), X21) :- ','(split(.(X18, .(X19, X20)), X22, X23), ','(mergesort(X22, X24), ','(mergesort(X23, X25), merge(X24, X25, X21)))).\nand substitutionX18 -> T20,\nX19 -> T21,\nX20 -> T22,\nT1 -> .(T20, .(T21, T22)),\nT2 -> T19,\nX21 -> T19,\nT16 -> T20,\nT17 -> T21,\nT18 -> T22" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 39, 20.62/6.31 "to": 49, 20.62/6.31 "label": "EVAL-BACKTRACK" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 40, 20.62/6.31 "to": 45, 20.62/6.31 "label": "SUCCESS" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 48, 20.62/6.31 "to": 75, 20.62/6.31 "label": "SPLIT 1" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 48, 20.62/6.31 "to": 76, 20.62/6.31 "label": "SPLIT 2\nreplacements:X22 -> T23,\nX23 -> T24" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 75, 20.62/6.31 "to": 81, 20.62/6.31 "label": "CASE" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 76, 20.62/6.31 "to": 454, 20.62/6.31 "label": "SPLIT 1" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 76, 20.62/6.31 "to": 456, 20.62/6.31 "label": "SPLIT 2\nreplacements:X24 -> T53,\nT24 -> T54" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 81, 20.62/6.31 "to": 83, 20.62/6.31 "label": "BACKTRACK\nfor clause: split([], [], [])because of non-unification" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 83, 20.62/6.31 "to": 87, 20.62/6.31 "label": "ONLY EVAL with clause\nsplit(.(X38, X39), .(X38, X40), X41) :- split(X39, X41, X40).\nand substitutionT20 -> T33,\nX38 -> T33,\nT21 -> T36,\nT22 -> T37,\nX39 -> .(T36, T37),\nX40 -> X42,\nX22 -> .(T33, X42),\nX23 -> X43,\nX41 -> X43,\nT34 -> T36,\nT35 -> T37" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 87, 20.62/6.31 "to": 94, 20.62/6.31 "label": "CASE" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 94, 20.62/6.31 "to": 97, 20.62/6.31 "label": "BACKTRACK\nfor clause: split([], [], [])because of non-unification" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 97, 20.62/6.31 "to": 101, 20.62/6.31 "label": "ONLY EVAL with clause\nsplit(.(X56, X57), .(X56, X58), X59) :- split(X57, X59, X58).\nand substitutionT36 -> T43,\nX56 -> T43,\nT37 -> T45,\nX57 -> T45,\nX58 -> X60,\nX43 -> .(T43, X60),\nX42 -> X61,\nX59 -> X61,\nT44 -> T45" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 101, 20.62/6.31 "to": 103, 20.62/6.31 "label": "CASE" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 103, 20.62/6.31 "to": 105, 20.62/6.31 "label": "PARALLEL" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 103, 20.62/6.31 "to": 107, 20.62/6.31 "label": "PARALLEL" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 105, 20.62/6.31 "to": 109, 20.62/6.31 "label": "EVAL with clause\nsplit([], [], []).\nand substitutionT45 -> [],\nX61 -> [],\nX60 -> []" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 105, 20.62/6.31 "to": 111, 20.62/6.31 "label": "EVAL-BACKTRACK" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 107, 20.62/6.31 "to": 115, 20.62/6.31 "label": "EVAL with clause\nsplit(.(X74, X75), .(X74, X76), X77) :- split(X75, X77, X76).\nand substitutionX74 -> T50,\nX75 -> T52,\nT45 -> .(T50, T52),\nX76 -> X78,\nX61 -> .(T50, X78),\nX60 -> X79,\nX77 -> X79,\nT51 -> T52" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 107, 20.62/6.31 "to": 117, 20.62/6.31 "label": "EVAL-BACKTRACK" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 109, 20.62/6.31 "to": 114, 20.62/6.31 "label": "SUCCESS" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 115, 20.62/6.31 "to": 101, 20.62/6.31 "label": "INSTANCE with matching:\nT45 -> T52\nX61 -> X79\nX60 -> X78" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 454, 20.62/6.31 "to": 460, 20.62/6.31 "label": "CASE" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 456, 20.62/6.31 "to": 546, 20.62/6.31 "label": "SPLIT 1" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 456, 20.62/6.31 "to": 547, 20.62/6.31 "label": "SPLIT 2\nreplacements:X25 -> T111,\nT53 -> T112" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 460, 20.62/6.31 "to": 462, 20.62/6.31 "label": "PARALLEL" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 460, 20.62/6.31 "to": 463, 20.62/6.31 "label": "PARALLEL" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 462, 20.62/6.31 "to": 464, 20.62/6.31 "label": "EVAL with clause\nmergesort([], []).\nand substitutionT23 -> [],\nX24 -> []" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 462, 20.62/6.31 "to": 465, 20.62/6.31 "label": "EVAL-BACKTRACK" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 463, 20.62/6.31 "to": 467, 20.62/6.31 "label": "PARALLEL" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 463, 20.62/6.31 "to": 468, 20.62/6.31 "label": "PARALLEL" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 464, 20.62/6.31 "to": 466, 20.62/6.31 "label": "SUCCESS" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 467, 20.62/6.31 "to": 469, 20.62/6.31 "label": "EVAL with clause\nmergesort(.(X84, []), .(X84, [])).\nand substitutionX84 -> T59,\nT23 -> .(T59, []),\nX24 -> .(T59, [])" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 467, 20.62/6.31 "to": 470, 20.62/6.31 "label": "EVAL-BACKTRACK" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 468, 20.62/6.31 "to": 472, 20.62/6.31 "label": "EVAL with clause\nmergesort(.(X99, .(X100, X101)), X102) :- ','(split(.(X99, .(X100, X101)), X103, X104), ','(mergesort(X103, X105), ','(mergesort(X104, X106), merge(X105, X106, X102)))).\nand substitutionX99 -> T69,\nX100 -> T70,\nX101 -> T71,\nT23 -> .(T69, .(T70, T71)),\nX24 -> X107,\nX102 -> X107,\nT66 -> T69,\nT67 -> T70,\nT68 -> T71" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 468, 20.62/6.31 "to": 473, 20.62/6.31 "label": "EVAL-BACKTRACK" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 469, 20.62/6.31 "to": 471, 20.62/6.31 "label": "SUCCESS" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 472, 20.62/6.31 "to": 474, 20.62/6.31 "label": "SPLIT 1" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 472, 20.62/6.31 "to": 475, 20.62/6.31 "label": "SPLIT 2\nreplacements:X103 -> T72,\nX104 -> T73" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 474, 20.62/6.31 "to": 75, 20.62/6.31 "label": "INSTANCE with matching:\nT20 -> T69\nT21 -> T70\nT22 -> T71\nX22 -> X103\nX23 -> X104" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 475, 20.62/6.31 "to": 476, 20.62/6.31 "label": "SPLIT 1" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 475, 20.62/6.31 "to": 477, 20.62/6.31 "label": "SPLIT 2\nreplacements:X105 -> T74,\nT73 -> T75" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 476, 20.62/6.31 "to": 454, 20.62/6.31 "label": "INSTANCE with matching:\nT23 -> T72\nX24 -> X105" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 477, 20.62/6.31 "to": 478, 20.62/6.31 "label": "SPLIT 1" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 477, 20.62/6.31 "to": 479, 20.62/6.31 "label": "SPLIT 2\nreplacements:X106 -> T76,\nT74 -> T77" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 478, 20.62/6.31 "to": 454, 20.62/6.31 "label": "INSTANCE with matching:\nT23 -> T75\nX24 -> X106" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 479, 20.62/6.31 "to": 480, 20.62/6.31 "label": "CASE" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 480, 20.62/6.31 "to": 481, 20.62/6.31 "label": "PARALLEL" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 480, 20.62/6.31 "to": 482, 20.62/6.31 "label": "PARALLEL" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 481, 20.62/6.31 "to": 483, 20.62/6.31 "label": "EVAL with clause\nmerge([], X114, X114).\nand substitutionT77 -> [],\nT76 -> T84,\nX114 -> T84,\nX107 -> T84" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 481, 20.62/6.31 "to": 484, 20.62/6.31 "label": "EVAL-BACKTRACK" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 482, 20.62/6.31 "to": 488, 20.62/6.31 "label": "PARALLEL" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 482, 20.62/6.31 "to": 489, 20.62/6.31 "label": "PARALLEL" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 483, 20.62/6.31 "to": 485, 20.62/6.31 "label": "SUCCESS" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 488, 20.62/6.31 "to": 492, 20.62/6.31 "label": "EVAL with clause\nmerge(X119, [], X119).\nand substitutionT77 -> T89,\nX119 -> T89,\nT76 -> [],\nX107 -> T89" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 488, 20.62/6.31 "to": 494, 20.62/6.31 "label": "EVAL-BACKTRACK" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 489, 20.62/6.31 "to": 517, 20.62/6.31 "label": "EVAL with clause\nmerge(.(X132, X133), .(X134, X135), .(X132, X136)) :- ','(=(X132, X134), merge(.(X132, X133), X135, X136)).\nand substitutionX132 -> T102,\nX133 -> T105,\nT77 -> .(T102, T105),\nX134 -> T103,\nX135 -> T104,\nT76 -> .(T103, T104),\nX136 -> X137,\nX107 -> .(T102, X137),\nT98 -> T102,\nT100 -> T103,\nT101 -> T104,\nT99 -> T105" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 489, 20.62/6.31 "to": 520, 20.62/6.31 "label": "EVAL-BACKTRACK" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 492, 20.62/6.31 "to": 497, 20.62/6.31 "label": "SUCCESS" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 517, 20.62/6.31 "to": 537, 20.62/6.31 "label": "UNIFY CASE with substitutionT102 -> T109,\nT103 -> T109,\nT104 -> T108,\nT107 -> T109,\nT105 -> T110" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 517, 20.62/6.31 "to": 539, 20.62/6.31 "label": "UNIFY-BACKTRACK" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 537, 20.62/6.31 "to": 479, 20.62/6.31 "label": "INSTANCE with matching:\nT77 -> .(T109, T110)\nT76 -> T108\nX107 -> X137" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 546, 20.62/6.31 "to": 454, 20.62/6.31 "label": "INSTANCE with matching:\nT23 -> T54\nX24 -> X25" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 547, 20.62/6.31 "to": 556, 20.62/6.31 "label": "CASE" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 556, 20.62/6.31 "to": 560, 20.62/6.31 "label": "PARALLEL" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 556, 20.62/6.31 "to": 561, 20.62/6.31 "label": "PARALLEL" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 560, 20.62/6.31 "to": 562, 20.62/6.31 "label": "EVAL with clause\nmerge([], X146, X146).\nand substitutionT112 -> [],\nT111 -> T119,\nX146 -> T119,\nT19 -> T119" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 560, 20.62/6.31 "to": 563, 20.62/6.31 "label": "EVAL-BACKTRACK" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 561, 20.62/6.31 "to": 565, 20.62/6.31 "label": "PARALLEL" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 561, 20.62/6.31 "to": 566, 20.62/6.31 "label": "PARALLEL" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 562, 20.62/6.31 "to": 564, 20.62/6.31 "label": "SUCCESS" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 565, 20.62/6.31 "to": 568, 20.62/6.31 "label": "EVAL with clause\nmerge(X151, [], X151).\nand substitutionT112 -> T124,\nX151 -> T124,\nT111 -> [],\nT19 -> T124" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 565, 20.62/6.31 "to": 570, 20.62/6.31 "label": "EVAL-BACKTRACK" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 566, 20.62/6.31 "to": 580, 20.62/6.31 "label": "EVAL with clause\nmerge(.(X162, X163), .(X164, X165), .(X162, X166)) :- ','(=(X162, X164), merge(.(X162, X163), X165, X166)).\nand substitutionX162 -> T135,\nX163 -> T142,\nT112 -> .(T135, T142),\nX164 -> T140,\nX165 -> T141,\nT111 -> .(T140, T141),\nX166 -> T139,\nT19 -> .(T135, T139),\nT137 -> T140,\nT138 -> T141,\nT136 -> T142" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 566, 20.62/6.31 "to": 581, 20.62/6.31 "label": "EVAL-BACKTRACK" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 568, 20.62/6.31 "to": 571, 20.62/6.31 "label": "SUCCESS" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 580, 20.62/6.31 "to": 584, 20.62/6.31 "label": "UNIFY CASE with substitutionT135 -> T144,\nT140 -> T144,\nT141 -> T145,\nT142 -> T146" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 580, 20.62/6.31 "to": 585, 20.62/6.31 "label": "UNIFY-BACKTRACK" 20.62/6.31 }, 20.62/6.31 { 20.62/6.31 "from": 584, 20.62/6.31 "to": 547, 20.62/6.31 "label": "INSTANCE with matching:\nT112 -> .(T144, T146)\nT111 -> T145\nT19 -> T139" 20.62/6.31 } 20.62/6.31 ], 20.62/6.31 "type": "Graph" 20.62/6.31 } 20.62/6.31 } 20.62/6.31 20.62/6.31 ---------------------------------------- 20.62/6.31 20.62/6.31 (118) 20.62/6.31 Obligation: 20.62/6.31 Q restricted rewrite system: 20.62/6.31 The TRS R consists of the following rules: 20.62/6.31 20.62/6.31 f1_in([]) -> f1_out1 20.62/6.31 f1_in(.(T7, [])) -> f1_out1 20.62/6.31 f1_in(T19) -> U1(f48_in(T19), T19) 20.62/6.31 U1(f48_out1(X24, X25), T19) -> f1_out1 20.62/6.31 f101_in -> f101_out1 20.62/6.31 f101_in -> U2(f101_in) 20.62/6.31 U2(f101_out1) -> f101_out1 20.62/6.31 f75_in -> U3(f101_in) 20.62/6.31 U3(f101_out1) -> f75_out1 20.62/6.31 f454_in -> f454_out1 20.62/6.31 f454_in -> U4(f472_in) 20.62/6.31 U4(f472_out1) -> f454_out1 20.62/6.31 f479_in -> f479_out1 20.62/6.31 f479_in -> U5(f479_in) 20.62/6.31 U5(f479_out1) -> f479_out1 20.62/6.31 f547_in(T119) -> f547_out1([], T119) 20.62/6.31 f547_in(T124) -> f547_out1(T124, []) 20.62/6.31 f547_in(.(T144, T139)) -> U6(f547_in(T139), .(T144, T139)) 20.62/6.31 U6(f547_out1(.(T144, T146), T145), .(T144, T139)) -> f547_out1(.(T144, T146), .(T144, T145)) 20.62/6.31 f48_in(T19) -> U7(f75_in, T19) 20.62/6.31 U7(f75_out1, T19) -> U8(f76_in(T19), T19) 20.62/6.31 U8(f76_out1(X24, X25), T19) -> f48_out1(X24, X25) 20.62/6.31 f76_in(T19) -> U9(f454_in, T19) 20.62/6.31 U9(f454_out1, T19) -> U10(f456_in(T19), T19) 20.62/6.31 U10(f456_out1(T53, X25), T19) -> f76_out1(T53, X25) 20.62/6.31 f456_in(T19) -> U11(f454_in, T19) 20.62/6.31 U11(f454_out1, T19) -> U12(f547_in(T19), T19) 20.62/6.31 U12(f547_out1(T112, T111), T19) -> f456_out1(T112, T111) 20.62/6.31 f472_in -> U13(f75_in) 20.62/6.31 U13(f75_out1) -> U14(f475_in) 20.62/6.31 U14(f475_out1) -> f472_out1 20.62/6.31 f475_in -> U15(f454_in) 20.62/6.31 U15(f454_out1) -> U16(f477_in) 20.62/6.31 U16(f477_out1) -> f475_out1 20.62/6.31 f477_in -> U17(f454_in) 20.62/6.31 U17(f454_out1) -> U18(f479_in) 20.62/6.31 U18(f479_out1) -> f477_out1 20.62/6.31 20.62/6.31 Q is empty. 20.62/6.31 20.62/6.31 ---------------------------------------- 20.62/6.31 20.62/6.31 (119) QTRSRRRProof (EQUIVALENT) 20.62/6.31 Used ordering: 20.62/6.31 f1_in/1(YES) 20.62/6.31 []/0) 20.62/6.31 f1_out1/0) 20.62/6.31 ./2(YES,YES) 20.62/6.31 U1/2(YES,YES) 20.62/6.31 f48_in/1(YES) 20.62/6.31 f48_out1/2(YES,YES) 20.62/6.31 f101_in/0) 20.62/6.31 f101_out1/0) 20.62/6.31 U2/1)YES( 20.62/6.31 f75_in/0) 20.62/6.31 U3/1)YES( 20.62/6.31 f75_out1/0) 20.62/6.31 f454_in/0) 20.62/6.31 f454_out1/0) 20.62/6.31 U4/1)YES( 20.62/6.31 f472_in/0) 20.62/6.31 f472_out1/0) 20.62/6.31 f479_in/0) 20.62/6.31 f479_out1/0) 20.62/6.31 U5/1)YES( 20.62/6.31 f547_in/1(YES) 20.62/6.31 f547_out1/2(YES,YES) 20.62/6.31 U6/2(YES,YES) 20.62/6.31 U7/2(YES,YES) 20.62/6.31 U8/2(YES,YES) 20.62/6.31 f76_in/1(YES) 20.62/6.31 f76_out1/2(YES,YES) 20.62/6.31 U9/2(YES,YES) 20.62/6.31 U10/2(YES,YES) 20.62/6.31 f456_in/1(YES) 20.62/6.31 f456_out1/2(YES,YES) 20.62/6.31 U11/2(YES,YES) 20.62/6.31 U12/2(YES,YES) 20.62/6.31 U13/1)YES( 20.62/6.31 U14/1)YES( 20.62/6.31 f475_in/0) 20.62/6.31 f475_out1/0) 20.62/6.31 U15/1)YES( 20.62/6.31 U16/1)YES( 20.62/6.31 f477_in/0) 20.62/6.31 f477_out1/0) 20.62/6.31 U17/1)YES( 20.62/6.31 U18/1)YES( 20.62/6.31 20.62/6.31 Quasi precedence: 20.62/6.31 f1_in_1 > U1_2 > f1_out1 20.62/6.31 f1_in_1 > f48_in_1 > [U7_2, f76_in_1] > [U9_2, f456_in_1] > [f101_in, f101_out1, f75_in, f75_out1, f454_in, f454_out1, f472_in, f472_out1, f479_in, f479_out1, f475_in, f475_out1, f477_in, f477_out1] > U8_2 20.62/6.31 f1_in_1 > f48_in_1 > [U7_2, f76_in_1] > [U9_2, f456_in_1] > [f101_in, f101_out1, f75_in, f75_out1, f454_in, f454_out1, f472_in, f472_out1, f479_in, f479_out1, f475_in, f475_out1, f477_in, f477_out1] > U10_2 20.62/6.31 f1_in_1 > f48_in_1 > [U7_2, f76_in_1] > [U9_2, f456_in_1] > [f547_in_1, U11_2] > [] > f1_out1 20.62/6.31 f1_in_1 > f48_in_1 > [U7_2, f76_in_1] > [U9_2, f456_in_1] > [f547_in_1, U11_2] > U6_2 > [._2, f547_out1_2] > f1_out1 20.62/6.31 f1_in_1 > f48_in_1 > [U7_2, f76_in_1] > [U9_2, f456_in_1] > [f547_in_1, U11_2] > U6_2 > [._2, f547_out1_2] > f456_out1_2 > f76_out1_2 > f48_out1_2 20.62/6.31 f1_in_1 > f48_in_1 > [U7_2, f76_in_1] > [U9_2, f456_in_1] > [f547_in_1, U11_2] > U12_2 > f456_out1_2 > f76_out1_2 > f48_out1_2 20.62/6.31 20.62/6.31 20.62/6.31 Status: 20.62/6.31 f1_in_1: [1] 20.62/6.31 []: multiset status 20.62/6.31 f1_out1: multiset status 20.62/6.31 ._2: multiset status 20.62/6.31 U1_2: [2,1] 20.62/6.31 f48_in_1: [1] 20.62/6.31 f48_out1_2: [2,1] 20.62/6.31 f101_in: multiset status 20.62/6.31 f101_out1: multiset status 20.62/6.31 f75_in: multiset status 20.62/6.31 f75_out1: multiset status 20.62/6.31 f454_in: multiset status 20.62/6.31 f454_out1: multiset status 20.62/6.31 f472_in: multiset status 20.62/6.31 f472_out1: multiset status 20.62/6.31 f479_in: multiset status 20.62/6.31 f479_out1: multiset status 20.62/6.31 f547_in_1: multiset status 20.62/6.31 f547_out1_2: multiset status 20.62/6.31 U6_2: [2,1] 20.62/6.31 U7_2: multiset status 20.62/6.31 U8_2: multiset status 20.62/6.31 f76_in_1: multiset status 20.62/6.31 f76_out1_2: multiset status 20.62/6.31 U9_2: multiset status 20.62/6.31 U10_2: multiset status 20.62/6.31 f456_in_1: multiset status 20.62/6.31 f456_out1_2: multiset status 20.62/6.31 U11_2: multiset status 20.62/6.31 U12_2: multiset status 20.62/6.31 f475_in: multiset status 20.62/6.31 f475_out1: multiset status 20.62/6.31 f477_in: multiset status 20.62/6.31 f477_out1: multiset status 20.62/6.31 20.62/6.31 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: 20.62/6.31 20.62/6.31 f1_in([]) -> f1_out1 20.62/6.31 f1_in(.(T7, [])) -> f1_out1 20.62/6.31 f1_in(T19) -> U1(f48_in(T19), T19) 20.62/6.31 U1(f48_out1(X24, X25), T19) -> f1_out1 20.62/6.31 f547_in(T119) -> f547_out1([], T119) 20.62/6.31 f547_in(T124) -> f547_out1(T124, []) 20.62/6.31 f547_in(.(T144, T139)) -> U6(f547_in(T139), .(T144, T139)) 20.62/6.31 U6(f547_out1(.(T144, T146), T145), .(T144, T139)) -> f547_out1(.(T144, T146), .(T144, T145)) 20.62/6.31 f48_in(T19) -> U7(f75_in, T19) 20.62/6.31 U7(f75_out1, T19) -> U8(f76_in(T19), T19) 20.62/6.31 U8(f76_out1(X24, X25), T19) -> f48_out1(X24, X25) 20.62/6.31 f76_in(T19) -> U9(f454_in, T19) 20.62/6.31 U9(f454_out1, T19) -> U10(f456_in(T19), T19) 20.62/6.31 U10(f456_out1(T53, X25), T19) -> f76_out1(T53, X25) 20.62/6.31 f456_in(T19) -> U11(f454_in, T19) 20.62/6.31 U11(f454_out1, T19) -> U12(f547_in(T19), T19) 20.62/6.31 U12(f547_out1(T112, T111), T19) -> f456_out1(T112, T111) 20.62/6.31 20.62/6.31 20.62/6.31 20.62/6.31 20.62/6.31 ---------------------------------------- 20.62/6.31 20.62/6.31 (120) 20.62/6.31 Obligation: 20.62/6.31 Q restricted rewrite system: 20.62/6.31 The TRS R consists of the following rules: 20.62/6.31 20.62/6.31 f101_in -> f101_out1 20.62/6.31 f101_in -> U2(f101_in) 20.62/6.31 U2(f101_out1) -> f101_out1 20.62/6.31 f75_in -> U3(f101_in) 20.62/6.31 U3(f101_out1) -> f75_out1 20.62/6.31 f454_in -> f454_out1 20.62/6.31 f454_in -> U4(f472_in) 20.62/6.31 U4(f472_out1) -> f454_out1 20.62/6.31 f479_in -> f479_out1 20.62/6.31 f479_in -> U5(f479_in) 20.62/6.31 U5(f479_out1) -> f479_out1 20.62/6.31 f472_in -> U13(f75_in) 20.62/6.31 U13(f75_out1) -> U14(f475_in) 20.62/6.31 U14(f475_out1) -> f472_out1 20.62/6.31 f475_in -> U15(f454_in) 20.62/6.31 U15(f454_out1) -> U16(f477_in) 20.62/6.31 U16(f477_out1) -> f475_out1 20.62/6.31 f477_in -> U17(f454_in) 20.62/6.31 U17(f454_out1) -> U18(f479_in) 20.62/6.31 U18(f479_out1) -> f477_out1 20.62/6.31 20.62/6.31 Q is empty. 20.62/6.31 20.62/6.31 ---------------------------------------- 20.62/6.31 20.62/6.31 (121) DependencyPairsProof (EQUIVALENT) 20.62/6.31 Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem. 20.62/6.31 ---------------------------------------- 20.62/6.31 20.62/6.31 (122) 20.62/6.31 Obligation: 20.62/6.31 Q DP problem: 20.62/6.31 The TRS P consists of the following rules: 20.62/6.31 20.62/6.31 F101_IN -> U2^1(f101_in) 20.62/6.31 F101_IN -> F101_IN 20.62/6.31 F75_IN -> U3^1(f101_in) 20.62/6.31 F75_IN -> F101_IN 20.62/6.31 F454_IN -> U4^1(f472_in) 20.62/6.31 F454_IN -> F472_IN 20.62/6.31 F479_IN -> U5^1(f479_in) 20.62/6.31 F479_IN -> F479_IN 20.62/6.31 F472_IN -> U13^1(f75_in) 20.62/6.31 F472_IN -> F75_IN 20.62/6.31 U13^1(f75_out1) -> U14^1(f475_in) 20.62/6.31 U13^1(f75_out1) -> F475_IN 20.62/6.31 F475_IN -> U15^1(f454_in) 20.62/6.31 F475_IN -> F454_IN 20.62/6.31 U15^1(f454_out1) -> U16^1(f477_in) 20.62/6.31 U15^1(f454_out1) -> F477_IN 20.62/6.31 F477_IN -> U17^1(f454_in) 20.62/6.31 F477_IN -> F454_IN 20.62/6.31 U17^1(f454_out1) -> U18^1(f479_in) 20.62/6.31 U17^1(f454_out1) -> F479_IN 20.62/6.31 20.62/6.31 The TRS R consists of the following rules: 20.62/6.31 20.62/6.31 f101_in -> f101_out1 20.62/6.31 f101_in -> U2(f101_in) 20.62/6.31 U2(f101_out1) -> f101_out1 20.62/6.31 f75_in -> U3(f101_in) 20.62/6.31 U3(f101_out1) -> f75_out1 20.62/6.31 f454_in -> f454_out1 20.62/6.31 f454_in -> U4(f472_in) 20.62/6.31 U4(f472_out1) -> f454_out1 20.62/6.31 f479_in -> f479_out1 20.62/6.31 f479_in -> U5(f479_in) 20.62/6.31 U5(f479_out1) -> f479_out1 20.62/6.31 f472_in -> U13(f75_in) 20.62/6.31 U13(f75_out1) -> U14(f475_in) 20.62/6.31 U14(f475_out1) -> f472_out1 20.62/6.31 f475_in -> U15(f454_in) 20.62/6.31 U15(f454_out1) -> U16(f477_in) 20.62/6.31 U16(f477_out1) -> f475_out1 20.62/6.31 f477_in -> U17(f454_in) 20.62/6.31 U17(f454_out1) -> U18(f479_in) 20.62/6.31 U18(f479_out1) -> f477_out1 20.62/6.31 20.62/6.31 Q is empty. 20.62/6.31 We have to consider all minimal (P,Q,R)-chains. 20.62/6.31 ---------------------------------------- 20.62/6.31 20.62/6.31 (123) DependencyGraphProof (EQUIVALENT) 20.62/6.31 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 11 less nodes. 20.62/6.31 ---------------------------------------- 20.62/6.31 20.62/6.31 (124) 20.62/6.31 Complex Obligation (AND) 20.62/6.31 20.62/6.31 ---------------------------------------- 20.62/6.31 20.62/6.31 (125) 20.62/6.31 Obligation: 20.62/6.31 Q DP problem: 20.62/6.31 The TRS P consists of the following rules: 20.62/6.31 20.62/6.31 F479_IN -> F479_IN 20.62/6.31 20.62/6.31 The TRS R consists of the following rules: 20.62/6.31 20.62/6.31 f101_in -> f101_out1 20.62/6.31 f101_in -> U2(f101_in) 20.62/6.31 U2(f101_out1) -> f101_out1 20.62/6.31 f75_in -> U3(f101_in) 20.62/6.31 U3(f101_out1) -> f75_out1 20.62/6.31 f454_in -> f454_out1 20.62/6.31 f454_in -> U4(f472_in) 20.62/6.31 U4(f472_out1) -> f454_out1 20.62/6.31 f479_in -> f479_out1 20.62/6.31 f479_in -> U5(f479_in) 20.62/6.31 U5(f479_out1) -> f479_out1 20.62/6.31 f472_in -> U13(f75_in) 20.62/6.31 U13(f75_out1) -> U14(f475_in) 20.62/6.31 U14(f475_out1) -> f472_out1 20.62/6.31 f475_in -> U15(f454_in) 20.62/6.31 U15(f454_out1) -> U16(f477_in) 20.62/6.31 U16(f477_out1) -> f475_out1 20.62/6.31 f477_in -> U17(f454_in) 20.62/6.31 U17(f454_out1) -> U18(f479_in) 20.62/6.31 U18(f479_out1) -> f477_out1 20.62/6.31 20.62/6.31 Q is empty. 20.62/6.31 We have to consider all minimal (P,Q,R)-chains. 20.62/6.31 ---------------------------------------- 20.62/6.31 20.62/6.31 (126) UsableRulesProof (EQUIVALENT) 20.62/6.31 We can use the usable rules and reduction pair processor [LPAR04] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its arguments. Then, we can delete all non-usable rules [FROCOS05] from R. 20.62/6.31 ---------------------------------------- 20.62/6.31 20.62/6.31 (127) 20.62/6.31 Obligation: 20.62/6.31 Q DP problem: 20.62/6.31 The TRS P consists of the following rules: 20.62/6.31 20.62/6.31 F479_IN -> F479_IN 20.62/6.31 20.62/6.31 R is empty. 20.62/6.31 Q is empty. 20.62/6.31 We have to consider all minimal (P,Q,R)-chains. 20.62/6.31 ---------------------------------------- 20.62/6.31 20.62/6.31 (128) NonTerminationLoopProof (COMPLETE) 20.62/6.31 We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. 20.62/6.31 Found a loop by semiunifying a rule from P directly. 20.62/6.31 20.62/6.31 s = F479_IN evaluates to t =F479_IN 20.62/6.31 20.62/6.31 Thus s starts an infinite chain as s semiunifies with t with the following substitutions: 20.62/6.31 * Matcher: [ ] 20.62/6.31 * Semiunifier: [ ] 20.62/6.31 20.62/6.31 -------------------------------------------------------------------------------- 20.62/6.31 Rewriting sequence 20.62/6.31 20.62/6.31 The DP semiunifies directly so there is only one rewrite step from F479_IN to F479_IN. 20.62/6.31 20.62/6.31 20.62/6.31 20.62/6.31 20.62/6.31 ---------------------------------------- 20.62/6.31 20.62/6.31 (129) 20.62/6.31 NO 20.62/6.31 20.62/6.31 ---------------------------------------- 20.62/6.31 20.62/6.31 (130) 20.62/6.31 Obligation: 20.62/6.31 Q DP problem: 20.62/6.31 The TRS P consists of the following rules: 20.62/6.31 20.62/6.31 F101_IN -> F101_IN 20.62/6.31 20.62/6.31 The TRS R consists of the following rules: 20.62/6.31 20.62/6.31 f101_in -> f101_out1 20.62/6.31 f101_in -> U2(f101_in) 20.62/6.31 U2(f101_out1) -> f101_out1 20.62/6.31 f75_in -> U3(f101_in) 20.62/6.31 U3(f101_out1) -> f75_out1 20.62/6.31 f454_in -> f454_out1 20.62/6.31 f454_in -> U4(f472_in) 20.62/6.31 U4(f472_out1) -> f454_out1 20.62/6.31 f479_in -> f479_out1 20.62/6.31 f479_in -> U5(f479_in) 20.62/6.31 U5(f479_out1) -> f479_out1 20.62/6.31 f472_in -> U13(f75_in) 20.62/6.31 U13(f75_out1) -> U14(f475_in) 20.62/6.31 U14(f475_out1) -> f472_out1 20.62/6.31 f475_in -> U15(f454_in) 20.62/6.31 U15(f454_out1) -> U16(f477_in) 20.62/6.31 U16(f477_out1) -> f475_out1 20.62/6.31 f477_in -> U17(f454_in) 20.62/6.31 U17(f454_out1) -> U18(f479_in) 20.62/6.31 U18(f479_out1) -> f477_out1 20.62/6.31 20.62/6.31 Q is empty. 20.62/6.31 We have to consider all minimal (P,Q,R)-chains. 20.62/6.31 ---------------------------------------- 20.62/6.31 20.62/6.31 (131) UsableRulesProof (EQUIVALENT) 20.62/6.31 We can use the usable rules and reduction pair processor [LPAR04] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its arguments. Then, we can delete all non-usable rules [FROCOS05] from R. 20.62/6.31 ---------------------------------------- 20.62/6.31 20.62/6.31 (132) 20.62/6.31 Obligation: 20.62/6.31 Q DP problem: 20.62/6.31 The TRS P consists of the following rules: 20.62/6.31 20.62/6.31 F101_IN -> F101_IN 20.62/6.31 20.62/6.31 R is empty. 20.62/6.31 Q is empty. 20.62/6.31 We have to consider all minimal (P,Q,R)-chains. 20.62/6.31 ---------------------------------------- 20.62/6.31 20.62/6.31 (133) NonTerminationLoopProof (COMPLETE) 20.62/6.31 We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. 20.62/6.31 Found a loop by semiunifying a rule from P directly. 20.62/6.31 20.62/6.31 s = F101_IN evaluates to t =F101_IN 20.62/6.31 20.62/6.31 Thus s starts an infinite chain as s semiunifies with t with the following substitutions: 20.62/6.31 * Matcher: [ ] 20.62/6.31 * Semiunifier: [ ] 20.62/6.31 20.62/6.31 -------------------------------------------------------------------------------- 20.62/6.31 Rewriting sequence 20.62/6.31 20.62/6.31 The DP semiunifies directly so there is only one rewrite step from F101_IN to F101_IN. 20.62/6.31 20.62/6.31 20.62/6.31 20.62/6.31 20.62/6.31 ---------------------------------------- 20.62/6.31 20.62/6.31 (134) 20.62/6.31 NO 20.62/6.31 20.62/6.31 ---------------------------------------- 20.62/6.31 20.62/6.31 (135) 20.62/6.31 Obligation: 20.62/6.31 Q DP problem: 20.62/6.31 The TRS P consists of the following rules: 20.62/6.31 20.62/6.31 F472_IN -> U13^1(f75_in) 20.62/6.31 U13^1(f75_out1) -> F475_IN 20.62/6.31 F475_IN -> U15^1(f454_in) 20.62/6.31 U15^1(f454_out1) -> F477_IN 20.62/6.31 F477_IN -> F454_IN 20.62/6.31 F454_IN -> F472_IN 20.62/6.31 F475_IN -> F454_IN 20.62/6.31 20.62/6.31 The TRS R consists of the following rules: 20.62/6.31 20.62/6.31 f101_in -> f101_out1 20.62/6.31 f101_in -> U2(f101_in) 20.62/6.31 U2(f101_out1) -> f101_out1 20.62/6.31 f75_in -> U3(f101_in) 20.62/6.31 U3(f101_out1) -> f75_out1 20.62/6.31 f454_in -> f454_out1 20.62/6.31 f454_in -> U4(f472_in) 20.62/6.31 U4(f472_out1) -> f454_out1 20.62/6.31 f479_in -> f479_out1 20.62/6.31 f479_in -> U5(f479_in) 20.62/6.31 U5(f479_out1) -> f479_out1 20.62/6.31 f472_in -> U13(f75_in) 20.62/6.31 U13(f75_out1) -> U14(f475_in) 20.62/6.31 U14(f475_out1) -> f472_out1 20.62/6.31 f475_in -> U15(f454_in) 20.62/6.31 U15(f454_out1) -> U16(f477_in) 20.62/6.31 U16(f477_out1) -> f475_out1 20.62/6.31 f477_in -> U17(f454_in) 20.62/6.31 U17(f454_out1) -> U18(f479_in) 20.62/6.31 U18(f479_out1) -> f477_out1 20.62/6.31 20.62/6.31 Q is empty. 20.62/6.31 We have to consider all minimal (P,Q,R)-chains. 20.62/6.31 ---------------------------------------- 20.62/6.31 20.62/6.31 (136) PrologToIRSwTTransformerProof (SOUND) 20.62/6.31 Transformed Prolog program to IRSwT according to method in Master Thesis of A. Weinert 20.62/6.31 20.62/6.31 { 20.62/6.31 "root": 6, 20.62/6.31 "program": { 20.62/6.31 "directives": [], 20.62/6.31 "clauses": [ 20.62/6.31 [ 20.62/6.31 "(mergesort ([]) ([]))", 20.62/6.31 null 20.62/6.31 ], 20.62/6.31 [ 20.62/6.31 "(mergesort (. X ([])) (. X ([])))", 20.62/6.31 null 20.62/6.31 ], 20.62/6.31 [ 20.62/6.31 "(mergesort (. X (. Y Xs)) Ys)", 20.62/6.31 "(',' (split (. X (. Y Xs)) X1s X2s) (',' (mergesort X1s Y1s) (',' (mergesort X2s Y2s) (merge Y1s Y2s Ys))))" 20.62/6.31 ], 20.62/6.31 [ 20.62/6.31 "(split ([]) ([]) ([]))", 20.62/6.31 null 20.62/6.31 ], 20.62/6.31 [ 20.62/6.31 "(split (. X Xs) (. X Ys) Zs)", 20.62/6.31 "(split Xs Zs Ys)" 20.62/6.31 ], 20.62/6.31 [ 20.62/6.31 "(merge ([]) Xs Xs)", 20.62/6.31 null 20.62/6.31 ], 20.62/6.31 [ 20.62/6.31 "(merge Xs ([]) Xs)", 20.62/6.31 null 20.62/6.31 ], 20.62/6.31 [ 20.62/6.31 "(merge (. X Xs) (. Y Ys) (. X Zs))", 20.62/6.31 "(',' (= X Y) (merge (. X Xs) Ys Zs))" 20.62/6.31 ] 20.62/6.31 ] 20.62/6.31 }, 20.62/6.31 "graph": { 20.62/6.31 "nodes": { 20.62/6.31 "44": { 20.62/6.31 "goal": [], 20.62/6.31 "kb": { 20.62/6.31 "nonunifying": [], 20.62/6.31 "intvars": {}, 20.62/6.31 "arithmetic": { 20.62/6.31 "type": "PlainIntegerRelationState", 20.62/6.31 "relations": [] 20.62/6.31 }, 20.62/6.31 "ground": [], 20.62/6.31 "free": [], 20.62/6.31 "exprvars": [] 20.62/6.31 } 20.62/6.31 }, 20.62/6.31 "192": { 20.62/6.31 "goal": [], 20.62/6.31 "kb": { 20.62/6.31 "nonunifying": [], 20.62/6.31 "intvars": {}, 20.83/6.31 "arithmetic": { 20.83/6.31 "type": "PlainIntegerRelationState", 20.83/6.31 "relations": [] 20.83/6.31 }, 20.83/6.31 "ground": [], 20.83/6.31 "free": [], 20.83/6.31 "exprvars": [] 20.83/6.31 } 20.83/6.31 }, 20.83/6.31 "type": "Nodes", 20.83/6.31 "110": { 20.83/6.31 "goal": [{ 20.83/6.31 "clause": -1, 20.83/6.31 "scope": -1, 20.83/6.31 "term": "(true)" 20.83/6.31 }], 20.83/6.31 "kb": { 20.83/6.31 "nonunifying": [], 20.83/6.31 "intvars": {}, 20.83/6.31 "arithmetic": { 20.83/6.31 "type": "PlainIntegerRelationState", 20.83/6.31 "relations": [] 20.83/6.31 }, 20.83/6.31 "ground": [], 20.83/6.31 "free": [], 20.83/6.31 "exprvars": [] 20.83/6.31 } 20.83/6.31 }, 20.83/6.31 "550": { 20.83/6.31 "goal": [ 20.83/6.31 { 20.83/6.31 "clause": 6, 20.83/6.31 "scope": 6, 20.83/6.31 "term": "(merge T77 T76 X107)" 20.83/6.31 }, 20.83/6.31 { 20.83/6.31 "clause": 7, 20.83/6.31 "scope": 6, 20.83/6.31 "term": "(merge T77 T76 X107)" 20.83/6.31 } 20.83/6.31 ], 20.83/6.31 "kb": { 20.83/6.31 "nonunifying": [], 20.83/6.31 "intvars": {}, 20.83/6.31 "arithmetic": { 20.83/6.31 "type": "PlainIntegerRelationState", 20.83/6.31 "relations": [] 20.83/6.31 }, 20.83/6.31 "ground": [], 20.83/6.31 "free": ["X107"], 20.83/6.31 "exprvars": [] 20.83/6.31 } 20.83/6.31 }, 20.83/6.31 "551": { 20.83/6.31 "goal": [{ 20.83/6.31 "clause": -1, 20.83/6.31 "scope": -1, 20.83/6.31 "term": "(true)" 20.83/6.31 }], 20.83/6.31 "kb": { 20.83/6.31 "nonunifying": [], 20.83/6.31 "intvars": {}, 20.83/6.31 "arithmetic": { 20.83/6.31 "type": "PlainIntegerRelationState", 20.83/6.31 "relations": [] 20.83/6.31 }, 20.83/6.31 "ground": [], 20.83/6.31 "free": [], 20.83/6.31 "exprvars": [] 20.83/6.31 } 20.83/6.31 }, 20.83/6.31 "112": { 20.83/6.31 "goal": [], 20.83/6.31 "kb": { 20.83/6.31 "nonunifying": [], 20.83/6.31 "intvars": {}, 20.83/6.31 "arithmetic": { 20.83/6.31 "type": "PlainIntegerRelationState", 20.83/6.31 "relations": [] 20.83/6.31 }, 20.83/6.31 "ground": [], 20.83/6.31 "free": [], 20.83/6.31 "exprvars": [] 20.83/6.31 } 20.83/6.31 }, 20.83/6.31 "156": { 20.83/6.31 "goal": [{ 20.83/6.31 "clause": 0, 20.83/6.31 "scope": 5, 20.83/6.31 "term": "(mergesort T23 X24)" 20.83/6.31 }], 20.83/6.31 "kb": { 20.83/6.31 "nonunifying": [], 20.83/6.31 "intvars": {}, 20.83/6.31 "arithmetic": { 20.83/6.31 "type": "PlainIntegerRelationState", 20.83/6.31 "relations": [] 20.83/6.31 }, 20.83/6.31 "ground": [], 20.83/6.31 "free": ["X24"], 20.83/6.31 "exprvars": [] 20.83/6.31 } 20.83/6.31 }, 20.83/6.31 "552": { 20.83/6.31 "goal": [], 20.83/6.31 "kb": { 20.83/6.31 "nonunifying": [], 20.83/6.31 "intvars": {}, 20.83/6.31 "arithmetic": { 20.83/6.31 "type": "PlainIntegerRelationState", 20.83/6.31 "relations": [] 20.83/6.31 }, 20.83/6.31 "ground": [], 20.83/6.31 "free": [], 20.83/6.31 "exprvars": [] 20.83/6.31 } 20.83/6.31 }, 20.83/6.31 "113": { 20.83/6.31 "goal": [], 20.83/6.31 "kb": { 20.83/6.31 "nonunifying": [], 20.83/6.31 "intvars": {}, 20.83/6.31 "arithmetic": { 20.83/6.31 "type": "PlainIntegerRelationState", 20.83/6.31 "relations": [] 20.83/6.31 }, 20.83/6.31 "ground": [], 20.83/6.31 "free": [], 20.83/6.31 "exprvars": [] 20.83/6.31 } 20.83/6.31 }, 20.83/6.31 "553": { 20.83/6.31 "goal": [], 20.83/6.31 "kb": { 20.83/6.31 "nonunifying": [], 20.83/6.31 "intvars": {}, 20.83/6.31 "arithmetic": { 20.83/6.31 "type": "PlainIntegerRelationState", 20.83/6.31 "relations": [] 20.83/6.31 }, 20.83/6.31 "ground": [], 20.83/6.31 "free": [], 20.83/6.31 "exprvars": [] 20.83/6.31 } 20.83/6.31 }, 20.83/6.31 "554": { 20.83/6.31 "goal": [{ 20.83/6.31 "clause": 6, 20.83/6.31 "scope": 6, 20.83/6.31 "term": "(merge T77 T76 X107)" 20.83/6.31 }], 20.83/6.31 "kb": { 20.83/6.31 "nonunifying": [], 20.83/6.31 "intvars": {}, 20.83/6.31 "arithmetic": { 20.83/6.31 "type": "PlainIntegerRelationState", 20.83/6.31 "relations": [] 20.83/6.31 }, 20.83/6.31 "ground": [], 20.83/6.31 "free": ["X107"], 20.83/6.31 "exprvars": [] 20.83/6.31 } 20.83/6.31 }, 20.83/6.31 "159": { 20.83/6.31 "goal": [ 20.83/6.31 { 20.83/6.31 "clause": 1, 20.83/6.31 "scope": 5, 20.83/6.31 "term": "(mergesort T23 X24)" 20.83/6.31 }, 20.83/6.31 { 20.83/6.31 "clause": 2, 20.83/6.31 "scope": 5, 20.83/6.31 "term": "(mergesort T23 X24)" 20.83/6.31 } 20.83/6.31 ], 20.83/6.31 "kb": { 20.83/6.31 "nonunifying": [], 20.83/6.31 "intvars": {}, 20.83/6.31 "arithmetic": { 20.83/6.31 "type": "PlainIntegerRelationState", 20.83/6.31 "relations": [] 20.83/6.31 }, 20.83/6.31 "ground": [], 20.83/6.31 "free": ["X24"], 20.83/6.31 "exprvars": [] 20.83/6.31 } 20.83/6.31 }, 20.83/6.31 "555": { 20.83/6.31 "goal": [{ 20.83/6.31 "clause": 7, 20.83/6.31 "scope": 6, 20.83/6.31 "term": "(merge T77 T76 X107)" 20.83/6.31 }], 20.83/6.31 "kb": { 20.83/6.31 "nonunifying": [], 20.83/6.31 "intvars": {}, 20.83/6.31 "arithmetic": { 20.83/6.31 "type": "PlainIntegerRelationState", 20.83/6.31 "relations": [] 20.83/6.31 }, 20.83/6.31 "ground": [], 20.83/6.31 "free": ["X107"], 20.83/6.31 "exprvars": [] 20.83/6.31 } 20.83/6.31 }, 20.83/6.31 "116": { 20.83/6.31 "goal": [{ 20.83/6.31 "clause": -1, 20.83/6.31 "scope": -1, 20.83/6.31 "term": "(split T52 X79 X78)" 20.83/6.31 }], 20.83/6.31 "kb": { 20.83/6.31 "nonunifying": [], 20.83/6.31 "intvars": {}, 20.83/6.31 "arithmetic": { 20.83/6.31 "type": "PlainIntegerRelationState", 20.83/6.31 "relations": [] 20.83/6.31 }, 20.83/6.31 "ground": [], 20.83/6.31 "free": [ 20.83/6.31 "X78", 20.83/6.31 "X79" 20.83/6.31 ], 20.83/6.31 "exprvars": [] 20.83/6.31 } 20.83/6.31 }, 20.83/6.31 "557": { 20.83/6.31 "goal": [{ 20.83/6.31 "clause": -1, 20.83/6.31 "scope": -1, 20.83/6.31 "term": "(true)" 20.83/6.31 }], 20.83/6.31 "kb": { 20.83/6.31 "nonunifying": [], 20.83/6.31 "intvars": {}, 20.83/6.31 "arithmetic": { 20.83/6.31 "type": "PlainIntegerRelationState", 20.83/6.31 "relations": [] 20.83/6.31 }, 20.83/6.31 "ground": [], 20.83/6.31 "free": [], 20.83/6.31 "exprvars": [] 20.83/6.31 } 20.83/6.31 }, 20.83/6.31 "91": { 20.83/6.31 "goal": [{ 20.83/6.31 "clause": -1, 20.83/6.31 "scope": -1, 20.83/6.31 "term": "(split (. T36 T37) X43 X42)" 20.83/6.31 }], 20.83/6.31 "kb": { 20.83/6.31 "nonunifying": [], 20.83/6.31 "intvars": {}, 20.83/6.31 "arithmetic": { 20.83/6.31 "type": "PlainIntegerRelationState", 20.83/6.31 "relations": [] 20.83/6.31 }, 20.83/6.31 "ground": [], 20.83/6.31 "free": [ 20.83/6.31 "X42", 20.83/6.31 "X43" 20.83/6.31 ], 20.83/6.31 "exprvars": [] 20.83/6.31 } 20.83/6.31 }, 20.83/6.31 "118": { 20.83/6.31 "goal": [], 20.83/6.31 "kb": { 20.83/6.31 "nonunifying": [], 20.83/6.31 "intvars": {}, 20.83/6.31 "arithmetic": { 20.83/6.31 "type": "PlainIntegerRelationState", 20.83/6.31 "relations": [] 20.83/6.31 }, 20.83/6.31 "ground": [], 20.83/6.31 "free": [], 20.83/6.31 "exprvars": [] 20.83/6.31 } 20.83/6.31 }, 20.83/6.31 "558": { 20.83/6.31 "goal": [], 20.83/6.31 "kb": { 20.83/6.31 "nonunifying": [], 20.83/6.31 "intvars": {}, 20.83/6.31 "arithmetic": { 20.83/6.31 "type": "PlainIntegerRelationState", 20.83/6.31 "relations": [] 20.83/6.31 }, 20.83/6.31 "ground": [], 20.83/6.31 "free": [], 20.83/6.31 "exprvars": [] 20.83/6.31 } 20.83/6.31 }, 20.83/6.31 "559": { 20.83/6.31 "goal": [], 20.83/6.31 "kb": { 20.83/6.31 "nonunifying": [], 20.83/6.31 "intvars": {}, 20.83/6.31 "arithmetic": { 20.83/6.31 "type": "PlainIntegerRelationState", 20.83/6.31 "relations": [] 20.83/6.31 }, 20.83/6.31 "ground": [], 20.83/6.31 "free": [], 20.83/6.31 "exprvars": [] 20.83/6.31 } 20.83/6.31 }, 20.83/6.31 "93": { 20.83/6.31 "goal": [ 20.83/6.31 { 20.83/6.31 "clause": 3, 20.83/6.31 "scope": 3, 20.83/6.31 "term": "(split (. T36 T37) X43 X42)" 20.83/6.31 }, 20.83/6.31 { 20.83/6.31 "clause": 4, 20.83/6.31 "scope": 3, 20.83/6.31 "term": "(split (. T36 T37) X43 X42)" 20.83/6.31 } 20.83/6.31 ], 20.83/6.31 "kb": { 20.83/6.31 "nonunifying": [], 20.83/6.31 "intvars": {}, 20.83/6.31 "arithmetic": { 20.83/6.31 "type": "PlainIntegerRelationState", 20.83/6.31 "relations": [] 20.83/6.31 }, 20.83/6.31 "ground": [], 20.83/6.31 "free": [ 20.83/6.31 "X42", 20.83/6.31 "X43" 20.83/6.31 ], 20.83/6.31 "exprvars": [] 20.83/6.31 } 20.83/6.31 }, 20.83/6.31 "639": { 20.83/6.31 "goal": [ 20.83/6.31 { 20.83/6.31 "clause": 5, 20.83/6.31 "scope": 7, 20.83/6.31 "term": "(merge T112 T111 T19)" 20.83/6.31 }, 20.83/6.31 { 20.83/6.31 "clause": 6, 20.83/6.31 "scope": 7, 20.83/6.31 "term": "(merge T112 T111 T19)" 20.83/6.31 }, 20.83/6.31 { 20.83/6.31 "clause": 7, 20.83/6.31 "scope": 7, 20.83/6.31 "term": "(merge T112 T111 T19)" 20.83/6.31 } 20.83/6.31 ], 20.83/6.31 "kb": { 20.83/6.31 "nonunifying": [], 20.83/6.31 "intvars": {}, 20.83/6.31 "arithmetic": { 20.83/6.31 "type": "PlainIntegerRelationState", 20.83/6.31 "relations": [] 20.83/6.31 }, 20.83/6.31 "ground": ["T19"], 20.83/6.31 "free": [], 20.83/6.31 "exprvars": [] 20.83/6.31 } 20.83/6.31 }, 20.83/6.31 "54": { 20.83/6.31 "goal": [{ 20.83/6.31 "clause": -1, 20.83/6.31 "scope": -1, 20.83/6.31 "term": "(',' (split (. T20 (. T21 T22)) X22 X23) (',' (mergesort X22 X24) (',' (mergesort X23 X25) (merge X24 X25 T19))))" 20.83/6.31 }], 20.83/6.31 "kb": { 20.83/6.31 "nonunifying": [], 20.83/6.31 "intvars": {}, 20.83/6.31 "arithmetic": { 20.83/6.31 "type": "PlainIntegerRelationState", 20.83/6.31 "relations": [] 20.83/6.31 }, 20.83/6.31 "ground": ["T19"], 20.83/6.31 "free": [ 20.83/6.31 "X22", 20.83/6.31 "X23", 20.83/6.31 "X24", 20.83/6.31 "X25" 20.83/6.31 ], 20.83/6.31 "exprvars": [] 20.83/6.31 } 20.83/6.31 }, 20.83/6.31 "98": { 20.83/6.31 "goal": [{ 20.83/6.31 "clause": 4, 20.83/6.31 "scope": 3, 20.83/6.31 "term": "(split (. T36 T37) X43 X42)" 20.83/6.31 }], 20.83/6.31 "kb": { 20.83/6.31 "nonunifying": [], 20.83/6.31 "intvars": {}, 20.83/6.31 "arithmetic": { 20.83/6.31 "type": "PlainIntegerRelationState", 20.83/6.31 "relations": [] 20.83/6.31 }, 20.83/6.31 "ground": [], 20.83/6.31 "free": [ 20.83/6.31 "X42", 20.83/6.31 "X43" 20.83/6.31 ], 20.83/6.31 "exprvars": [] 20.83/6.31 } 20.83/6.31 }, 20.83/6.31 "55": { 20.83/6.31 "goal": [], 20.83/6.31 "kb": { 20.83/6.31 "nonunifying": [], 20.83/6.31 "intvars": {}, 20.83/6.31 "arithmetic": { 20.83/6.31 "type": "PlainIntegerRelationState", 20.83/6.31 "relations": [] 20.83/6.31 }, 20.83/6.31 "ground": [], 20.83/6.31 "free": [], 20.83/6.31 "exprvars": [] 20.83/6.31 } 20.83/6.31 }, 20.83/6.31 "121": { 20.83/6.31 "goal": [{ 20.83/6.31 "clause": -1, 20.83/6.31 "scope": -1, 20.83/6.31 "term": "(mergesort T23 X24)" 20.83/6.31 }], 20.83/6.31 "kb": { 20.83/6.31 "nonunifying": [], 20.83/6.31 "intvars": {}, 20.83/6.31 "arithmetic": { 20.83/6.31 "type": "PlainIntegerRelationState", 20.83/6.31 "relations": [] 20.83/6.31 }, 20.83/6.31 "ground": [], 20.83/6.31 "free": ["X24"], 20.83/6.31 "exprvars": [] 20.83/6.31 } 20.83/6.31 }, 20.83/6.31 "200": { 20.83/6.31 "goal": [], 20.83/6.31 "kb": { 20.83/6.31 "nonunifying": [], 20.83/6.31 "intvars": {}, 20.83/6.31 "arithmetic": { 20.83/6.31 "type": "PlainIntegerRelationState", 20.83/6.31 "relations": [] 20.83/6.31 }, 20.83/6.31 "ground": [], 20.83/6.31 "free": [], 20.83/6.31 "exprvars": [] 20.83/6.31 } 20.83/6.31 }, 20.83/6.31 "486": { 20.83/6.31 "goal": [{ 20.83/6.31 "clause": -1, 20.83/6.31 "scope": -1, 20.83/6.31 "term": "(',' (split (. T69 (. T70 T71)) X103 X104) (',' (mergesort X103 X105) (',' (mergesort X104 X106) (merge X105 X106 X107))))" 20.83/6.31 }], 20.83/6.31 "kb": { 20.83/6.31 "nonunifying": [], 20.83/6.31 "intvars": {}, 20.83/6.31 "arithmetic": { 20.83/6.31 "type": "PlainIntegerRelationState", 20.83/6.31 "relations": [] 20.83/6.31 }, 20.83/6.31 "ground": [], 20.83/6.31 "free": [ 20.83/6.31 "X107", 20.83/6.31 "X103", 20.83/6.31 "X104", 20.83/6.31 "X105", 20.83/6.31 "X106" 20.83/6.31 ], 20.83/6.31 "exprvars": [] 20.83/6.31 } 20.83/6.31 }, 20.83/6.31 "640": { 20.83/6.31 "goal": [{ 20.83/6.31 "clause": 5, 20.83/6.31 "scope": 7, 20.83/6.31 "term": "(merge T112 T111 T19)" 20.83/6.31 }], 20.83/6.31 "kb": { 20.83/6.31 "nonunifying": [], 20.83/6.31 "intvars": {}, 20.83/6.31 "arithmetic": { 20.83/6.31 "type": "PlainIntegerRelationState", 20.83/6.31 "relations": [] 20.83/6.31 }, 20.83/6.31 "ground": ["T19"], 20.83/6.31 "free": [], 20.83/6.31 "exprvars": [] 20.83/6.31 } 20.83/6.31 }, 20.83/6.31 "124": { 20.83/6.31 "goal": [{ 20.83/6.31 "clause": -1, 20.83/6.31 "scope": -1, 20.83/6.31 "term": "(',' (mergesort T54 X25) (merge T53 X25 T19))" 20.83/6.31 }], 20.83/6.31 "kb": { 20.83/6.31 "nonunifying": [], 20.83/6.31 "intvars": {}, 20.83/6.31 "arithmetic": { 20.83/6.31 "type": "PlainIntegerRelationState", 20.83/6.31 "relations": [] 20.83/6.31 }, 20.83/6.31 "ground": ["T19"], 20.83/6.31 "free": ["X25"], 20.83/6.31 "exprvars": [] 20.83/6.31 } 20.83/6.31 }, 20.83/6.31 "487": { 20.83/6.31 "goal": [], 20.83/6.31 "kb": { 20.83/6.31 "nonunifying": [], 20.83/6.31 "intvars": {}, 20.83/6.31 "arithmetic": { 20.83/6.31 "type": "PlainIntegerRelationState", 20.83/6.31 "relations": [] 20.83/6.31 }, 20.83/6.31 "ground": [], 20.83/6.31 "free": [], 20.83/6.31 "exprvars": [] 20.83/6.31 } 20.83/6.31 }, 20.83/6.31 "641": { 20.83/6.31 "goal": [ 20.83/6.31 { 20.83/6.31 "clause": 6, 20.83/6.31 "scope": 7, 20.83/6.31 "term": "(merge T112 T111 T19)" 20.83/6.31 }, 20.83/6.31 { 20.83/6.31 "clause": 7, 20.83/6.31 "scope": 7, 20.83/6.31 "term": "(merge T112 T111 T19)" 20.83/6.31 } 20.83/6.31 ], 20.83/6.31 "kb": { 20.83/6.31 "nonunifying": [], 20.83/6.31 "intvars": {}, 20.83/6.31 "arithmetic": { 20.83/6.31 "type": "PlainIntegerRelationState", 20.83/6.31 "relations": [] 20.83/6.31 }, 20.83/6.31 "ground": ["T19"], 20.83/6.31 "free": [], 20.83/6.31 "exprvars": [] 20.83/6.31 } 20.83/6.31 }, 20.83/6.31 "642": { 20.83/6.31 "goal": [{ 20.83/6.31 "clause": -1, 20.83/6.31 "scope": -1, 20.83/6.31 "term": "(true)" 20.83/6.31 }], 20.83/6.31 "kb": { 20.83/6.31 "nonunifying": [], 20.83/6.31 "intvars": {}, 20.83/6.31 "arithmetic": { 20.83/6.31 "type": "PlainIntegerRelationState", 20.83/6.31 "relations": [] 20.83/6.31 }, 20.83/6.31 "ground": [], 20.83/6.31 "free": [], 20.83/6.31 "exprvars": [] 20.83/6.31 } 20.83/6.31 }, 20.83/6.31 "643": { 20.83/6.31 "goal": [], 20.83/6.31 "kb": { 20.83/6.31 "nonunifying": [], 20.83/6.31 "intvars": {}, 20.83/6.31 "arithmetic": { 20.83/6.31 "type": "PlainIntegerRelationState", 20.83/6.31 "relations": [] 20.83/6.31 }, 20.83/6.31 "ground": [], 20.83/6.31 "free": [], 20.83/6.31 "exprvars": [] 20.83/6.31 } 20.83/6.31 }, 20.83/6.31 "6": { 20.83/6.31 "goal": [{ 20.83/6.31 "clause": -1, 20.83/6.31 "scope": -1, 20.83/6.31 "term": "(mergesort T1 T2)" 20.83/6.31 }], 20.83/6.31 "kb": { 20.83/6.31 "nonunifying": [], 20.83/6.31 "intvars": {}, 20.83/6.31 "arithmetic": { 20.83/6.31 "type": "PlainIntegerRelationState", 20.83/6.31 "relations": [] 20.83/6.31 }, 20.83/6.31 "ground": ["T2"], 20.83/6.31 "free": [], 20.83/6.31 "exprvars": [] 20.83/6.31 } 20.83/6.31 }, 20.83/6.31 "567": { 20.83/6.31 "goal": [{ 20.83/6.31 "clause": -1, 20.83/6.31 "scope": -1, 20.83/6.31 "term": "(',' (= T102 T103) (merge (. T102 T105) T104 X137))" 20.83/6.31 }], 20.83/6.31 "kb": { 20.83/6.31 "nonunifying": [], 20.83/6.31 "intvars": {}, 20.83/6.31 "arithmetic": { 20.83/6.31 "type": "PlainIntegerRelationState", 20.83/6.31 "relations": [] 20.83/6.31 }, 20.83/6.31 "ground": [], 20.83/6.31 "free": ["X137"], 20.83/6.31 "exprvars": [] 20.83/6.31 } 20.83/6.31 }, 20.83/6.31 "644": { 20.83/6.31 "goal": [], 20.83/6.31 "kb": { 20.83/6.31 "nonunifying": [], 20.83/6.31 "intvars": {}, 20.83/6.31 "arithmetic": { 20.83/6.31 "type": "PlainIntegerRelationState", 20.83/6.31 "relations": [] 20.83/6.31 }, 20.83/6.31 "ground": [], 20.83/6.31 "free": [], 20.83/6.31 "exprvars": [] 20.83/6.31 } 20.83/6.31 }, 20.83/6.31 "7": { 20.83/6.31 "goal": [ 20.83/6.31 { 20.83/6.31 "clause": 0, 20.83/6.31 "scope": 1, 20.83/6.31 "term": "(mergesort T1 T2)" 20.83/6.31 }, 20.83/6.31 { 20.83/6.31 "clause": 1, 20.83/6.31 "scope": 1, 20.83/6.31 "term": "(mergesort T1 T2)" 20.83/6.31 }, 20.83/6.31 { 20.83/6.31 "clause": 2, 20.83/6.31 "scope": 1, 20.83/6.31 "term": "(mergesort T1 T2)" 20.83/6.31 } 20.83/6.31 ], 20.83/6.31 "kb": { 20.83/6.31 "nonunifying": [], 20.83/6.31 "intvars": {}, 20.83/6.31 "arithmetic": { 20.83/6.31 "type": "PlainIntegerRelationState", 20.83/6.31 "relations": [] 20.83/6.31 }, 20.83/6.31 "ground": ["T2"], 20.83/6.31 "free": [], 20.83/6.31 "exprvars": [] 20.83/6.31 } 20.83/6.32 }, 20.83/6.32 "524": { 20.83/6.32 "goal": [{ 20.83/6.32 "clause": -1, 20.83/6.32 "scope": -1, 20.83/6.32 "term": "(mergesort T72 X105)" 20.83/6.32 }], 20.83/6.32 "kb": { 20.83/6.32 "nonunifying": [], 20.83/6.32 "intvars": {}, 20.83/6.32 "arithmetic": { 20.83/6.32 "type": "PlainIntegerRelationState", 20.83/6.32 "relations": [] 20.83/6.32 }, 20.83/6.32 "ground": [], 20.83/6.32 "free": ["X105"], 20.83/6.32 "exprvars": [] 20.83/6.32 } 20.83/6.32 }, 20.83/6.32 "645": { 20.83/6.32 "goal": [{ 20.83/6.32 "clause": 6, 20.83/6.32 "scope": 7, 20.83/6.32 "term": "(merge T112 T111 T19)" 20.83/6.32 }], 20.83/6.32 "kb": { 20.83/6.32 "nonunifying": [], 20.83/6.32 "intvars": {}, 20.83/6.32 "arithmetic": { 20.83/6.32 "type": "PlainIntegerRelationState", 20.83/6.32 "relations": [] 20.83/6.32 }, 20.83/6.32 "ground": ["T19"], 20.83/6.32 "free": [], 20.83/6.32 "exprvars": [] 20.83/6.32 } 20.83/6.32 }, 20.83/6.32 "525": { 20.83/6.32 "goal": [{ 20.83/6.32 "clause": -1, 20.83/6.32 "scope": -1, 20.83/6.32 "term": "(',' (mergesort T75 X106) (merge T74 X106 X107))" 20.83/6.32 }], 20.83/6.32 "kb": { 20.83/6.32 "nonunifying": [], 20.83/6.32 "intvars": {}, 20.83/6.32 "arithmetic": { 20.83/6.32 "type": "PlainIntegerRelationState", 20.83/6.32 "relations": [] 20.83/6.32 }, 20.83/6.32 "ground": [], 20.83/6.32 "free": [ 20.83/6.32 "X107", 20.83/6.32 "X106" 20.83/6.32 ], 20.83/6.32 "exprvars": [] 20.83/6.32 } 20.83/6.32 }, 20.83/6.32 "569": { 20.83/6.32 "goal": [], 20.83/6.32 "kb": { 20.83/6.32 "nonunifying": [], 20.83/6.32 "intvars": {}, 20.83/6.32 "arithmetic": { 20.83/6.32 "type": "PlainIntegerRelationState", 20.83/6.32 "relations": [] 20.83/6.32 }, 20.83/6.32 "ground": [], 20.83/6.32 "free": [], 20.83/6.32 "exprvars": [] 20.83/6.32 } 20.83/6.32 }, 20.83/6.32 "646": { 20.83/6.32 "goal": [{ 20.83/6.32 "clause": 7, 20.83/6.32 "scope": 7, 20.83/6.32 "term": "(merge T112 T111 T19)" 20.83/6.32 }], 20.83/6.32 "kb": { 20.83/6.32 "nonunifying": [], 20.83/6.32 "intvars": {}, 20.83/6.32 "arithmetic": { 20.83/6.32 "type": "PlainIntegerRelationState", 20.83/6.32 "relations": [] 20.83/6.32 }, 20.83/6.32 "ground": ["T19"], 20.83/6.32 "free": [], 20.83/6.32 "exprvars": [] 20.83/6.32 } 20.83/6.32 }, 20.83/6.32 "648": { 20.83/6.32 "goal": [{ 20.83/6.32 "clause": -1, 20.83/6.32 "scope": -1, 20.83/6.32 "term": "(true)" 20.83/6.32 }], 20.83/6.32 "kb": { 20.83/6.32 "nonunifying": [], 20.83/6.32 "intvars": {}, 20.83/6.32 "arithmetic": { 20.83/6.32 "type": "PlainIntegerRelationState", 20.83/6.32 "relations": [] 20.83/6.32 }, 20.83/6.32 "ground": [], 20.83/6.32 "free": [], 20.83/6.32 "exprvars": [] 20.83/6.32 } 20.83/6.32 }, 20.83/6.32 "649": { 20.83/6.32 "goal": [], 20.83/6.32 "kb": { 20.83/6.32 "nonunifying": [], 20.83/6.32 "intvars": {}, 20.83/6.32 "arithmetic": { 20.83/6.32 "type": "PlainIntegerRelationState", 20.83/6.32 "relations": [] 20.83/6.32 }, 20.83/6.32 "ground": [], 20.83/6.32 "free": [], 20.83/6.32 "exprvars": [] 20.83/6.32 } 20.83/6.32 }, 20.83/6.32 "253": { 20.83/6.32 "goal": [{ 20.83/6.32 "clause": -1, 20.83/6.32 "scope": -1, 20.83/6.32 "term": "(true)" 20.83/6.32 }], 20.83/6.32 "kb": { 20.83/6.32 "nonunifying": [], 20.83/6.32 "intvars": {}, 20.83/6.32 "arithmetic": { 20.83/6.32 "type": "PlainIntegerRelationState", 20.83/6.32 "relations": [] 20.83/6.32 }, 20.83/6.32 "ground": [], 20.83/6.32 "free": [], 20.83/6.32 "exprvars": [] 20.83/6.32 } 20.83/6.32 }, 20.83/6.32 "650": { 20.83/6.32 "goal": [], 20.83/6.32 "kb": { 20.83/6.32 "nonunifying": [], 20.83/6.32 "intvars": {}, 20.83/6.32 "arithmetic": { 20.83/6.32 "type": "PlainIntegerRelationState", 20.83/6.32 "relations": [] 20.83/6.32 }, 20.83/6.32 "ground": [], 20.83/6.32 "free": [], 20.83/6.32 "exprvars": [] 20.83/6.32 } 20.83/6.32 }, 20.83/6.32 "574": { 20.83/6.32 "goal": [{ 20.83/6.32 "clause": -1, 20.83/6.32 "scope": -1, 20.83/6.32 "term": "(merge (. T109 T110) T108 X137)" 20.83/6.32 }], 20.83/6.32 "kb": { 20.83/6.32 "nonunifying": [], 20.83/6.32 "intvars": {}, 20.83/6.32 "arithmetic": { 20.83/6.32 "type": "PlainIntegerRelationState", 20.83/6.32 "relations": [] 20.83/6.32 }, 20.83/6.32 "ground": [], 20.83/6.32 "free": ["X137"], 20.83/6.32 "exprvars": [] 20.83/6.32 } 20.83/6.32 }, 20.83/6.32 "651": { 20.83/6.32 "goal": [{ 20.83/6.32 "clause": -1, 20.83/6.32 "scope": -1, 20.83/6.32 "term": "(',' (= T135 T140) (merge (. T135 T142) T141 T139))" 20.83/6.32 }], 20.83/6.32 "kb": { 20.83/6.32 "nonunifying": [], 20.83/6.32 "intvars": {}, 20.83/6.32 "arithmetic": { 20.83/6.32 "type": "PlainIntegerRelationState", 20.83/6.32 "relations": [] 20.83/6.32 }, 20.83/6.32 "ground": [ 20.83/6.32 "T135", 20.83/6.32 "T139" 20.83/6.32 ], 20.83/6.32 "free": [], 20.83/6.32 "exprvars": [] 20.83/6.32 } 20.83/6.32 }, 20.83/6.32 "575": { 20.83/6.32 "goal": [], 20.83/6.32 "kb": { 20.83/6.32 "nonunifying": [], 20.83/6.32 "intvars": {}, 20.83/6.32 "arithmetic": { 20.83/6.32 "type": "PlainIntegerRelationState", 20.83/6.32 "relations": [] 20.83/6.32 }, 20.83/6.32 "ground": [], 20.83/6.32 "free": [], 20.83/6.32 "exprvars": [] 20.83/6.32 } 20.83/6.32 }, 20.83/6.32 "652": { 20.83/6.32 "goal": [], 20.83/6.32 "kb": { 20.83/6.32 "nonunifying": [], 20.83/6.32 "intvars": {}, 20.83/6.32 "arithmetic": { 20.83/6.32 "type": "PlainIntegerRelationState", 20.83/6.32 "relations": [] 20.83/6.32 }, 20.83/6.32 "ground": [], 20.83/6.32 "free": [], 20.83/6.32 "exprvars": [] 20.83/6.32 } 20.83/6.32 }, 20.83/6.32 "653": { 20.83/6.32 "goal": [{ 20.83/6.32 "clause": -1, 20.83/6.32 "scope": -1, 20.83/6.32 "term": "(merge (. T144 T146) T145 T139)" 20.83/6.32 }], 20.83/6.32 "kb": { 20.83/6.32 "nonunifying": [], 20.83/6.32 "intvars": {}, 20.83/6.32 "arithmetic": { 20.83/6.32 "type": "PlainIntegerRelationState", 20.83/6.32 "relations": [] 20.83/6.32 }, 20.83/6.32 "ground": [ 20.83/6.32 "T139", 20.83/6.32 "T144" 20.83/6.32 ], 20.83/6.32 "free": [], 20.83/6.32 "exprvars": [] 20.83/6.32 } 20.83/6.32 }, 20.83/6.32 "654": { 20.83/6.32 "goal": [], 20.83/6.32 "kb": { 20.83/6.32 "nonunifying": [], 20.83/6.32 "intvars": {}, 20.83/6.32 "arithmetic": { 20.83/6.32 "type": "PlainIntegerRelationState", 20.83/6.32 "relations": [] 20.83/6.32 }, 20.83/6.32 "ground": [], 20.83/6.32 "free": [], 20.83/6.32 "exprvars": [] 20.83/6.32 } 20.83/6.32 }, 20.83/6.32 "578": { 20.83/6.32 "goal": [{ 20.83/6.32 "clause": -1, 20.83/6.32 "scope": -1, 20.83/6.32 "term": "(mergesort T54 X25)" 20.83/6.32 }], 20.83/6.32 "kb": { 20.83/6.32 "nonunifying": [], 20.83/6.32 "intvars": {}, 20.83/6.32 "arithmetic": { 20.83/6.32 "type": "PlainIntegerRelationState", 20.83/6.32 "relations": [] 20.83/6.32 }, 20.83/6.32 "ground": [], 20.83/6.32 "free": ["X25"], 20.83/6.32 "exprvars": [] 20.83/6.32 } 20.83/6.32 }, 20.83/6.32 "579": { 20.83/6.32 "goal": [{ 20.83/6.32 "clause": -1, 20.83/6.32 "scope": -1, 20.83/6.32 "term": "(merge T112 T111 T19)" 20.83/6.32 }], 20.83/6.32 "kb": { 20.83/6.32 "nonunifying": [], 20.83/6.32 "intvars": {}, 20.83/6.32 "arithmetic": { 20.83/6.32 "type": "PlainIntegerRelationState", 20.83/6.32 "relations": [] 20.83/6.32 }, 20.83/6.32 "ground": ["T19"], 20.83/6.32 "free": [], 20.83/6.32 "exprvars": [] 20.83/6.32 } 20.83/6.32 }, 20.83/6.32 "30": { 20.83/6.32 "goal": [{ 20.83/6.32 "clause": 0, 20.83/6.32 "scope": 1, 20.83/6.32 "term": "(mergesort T1 T2)" 20.83/6.32 }], 20.83/6.32 "kb": { 20.83/6.32 "nonunifying": [], 20.83/6.32 "intvars": {}, 20.83/6.32 "arithmetic": { 20.83/6.32 "type": "PlainIntegerRelationState", 20.83/6.32 "relations": [] 20.83/6.32 }, 20.83/6.32 "ground": ["T2"], 20.83/6.32 "free": [], 20.83/6.32 "exprvars": [] 20.83/6.32 } 20.83/6.32 }, 20.83/6.32 "31": { 20.83/6.32 "goal": [ 20.83/6.32 { 20.83/6.32 "clause": 1, 20.83/6.32 "scope": 1, 20.83/6.32 "term": "(mergesort T1 T2)" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "clause": 2, 20.83/6.32 "scope": 1, 20.83/6.32 "term": "(mergesort T1 T2)" 20.83/6.32 } 20.83/6.32 ], 20.83/6.32 "kb": { 20.83/6.32 "nonunifying": [], 20.83/6.32 "intvars": {}, 20.83/6.32 "arithmetic": { 20.83/6.32 "type": "PlainIntegerRelationState", 20.83/6.32 "relations": [] 20.83/6.32 }, 20.83/6.32 "ground": ["T2"], 20.83/6.32 "free": [], 20.83/6.32 "exprvars": [] 20.83/6.32 } 20.83/6.32 }, 20.83/6.32 "33": { 20.83/6.32 "goal": [{ 20.83/6.32 "clause": -1, 20.83/6.32 "scope": -1, 20.83/6.32 "term": "(true)" 20.83/6.32 }], 20.83/6.32 "kb": { 20.83/6.32 "nonunifying": [], 20.83/6.32 "intvars": {}, 20.83/6.32 "arithmetic": { 20.83/6.32 "type": "PlainIntegerRelationState", 20.83/6.32 "relations": [] 20.83/6.32 }, 20.83/6.32 "ground": [], 20.83/6.32 "free": [], 20.83/6.32 "exprvars": [] 20.83/6.32 } 20.83/6.32 }, 20.83/6.32 "34": { 20.83/6.32 "goal": [], 20.83/6.32 "kb": { 20.83/6.32 "nonunifying": [], 20.83/6.32 "intvars": {}, 20.83/6.32 "arithmetic": { 20.83/6.32 "type": "PlainIntegerRelationState", 20.83/6.32 "relations": [] 20.83/6.32 }, 20.83/6.32 "ground": [], 20.83/6.32 "free": [], 20.83/6.32 "exprvars": [] 20.83/6.32 } 20.83/6.32 }, 20.83/6.32 "78": { 20.83/6.32 "goal": [{ 20.83/6.32 "clause": -1, 20.83/6.32 "scope": -1, 20.83/6.32 "term": "(split (. T20 (. T21 T22)) X22 X23)" 20.83/6.32 }], 20.83/6.32 "kb": { 20.83/6.32 "nonunifying": [], 20.83/6.32 "intvars": {}, 20.83/6.32 "arithmetic": { 20.83/6.32 "type": "PlainIntegerRelationState", 20.83/6.32 "relations": [] 20.83/6.32 }, 20.83/6.32 "ground": [], 20.83/6.32 "free": [ 20.83/6.32 "X22", 20.83/6.32 "X23" 20.83/6.32 ], 20.83/6.32 "exprvars": [] 20.83/6.32 } 20.83/6.32 }, 20.83/6.32 "35": { 20.83/6.32 "goal": [], 20.83/6.32 "kb": { 20.83/6.32 "nonunifying": [], 20.83/6.32 "intvars": {}, 20.83/6.32 "arithmetic": { 20.83/6.32 "type": "PlainIntegerRelationState", 20.83/6.32 "relations": [] 20.83/6.32 }, 20.83/6.32 "ground": [], 20.83/6.32 "free": [], 20.83/6.32 "exprvars": [] 20.83/6.32 } 20.83/6.32 }, 20.83/6.32 "79": { 20.83/6.32 "goal": [{ 20.83/6.32 "clause": -1, 20.83/6.32 "scope": -1, 20.83/6.32 "term": "(',' (mergesort T23 X24) (',' (mergesort T24 X25) (merge X24 X25 T19)))" 20.83/6.32 }], 20.83/6.32 "kb": { 20.83/6.32 "nonunifying": [], 20.83/6.32 "intvars": {}, 20.83/6.32 "arithmetic": { 20.83/6.32 "type": "PlainIntegerRelationState", 20.83/6.32 "relations": [] 20.83/6.32 }, 20.83/6.32 "ground": ["T19"], 20.83/6.32 "free": [ 20.83/6.32 "X24", 20.83/6.32 "X25" 20.83/6.32 ], 20.83/6.32 "exprvars": [] 20.83/6.32 } 20.83/6.32 }, 20.83/6.32 "36": { 20.83/6.32 "goal": [{ 20.83/6.32 "clause": 1, 20.83/6.32 "scope": 1, 20.83/6.32 "term": "(mergesort T1 T2)" 20.83/6.32 }], 20.83/6.32 "kb": { 20.83/6.32 "nonunifying": [], 20.83/6.32 "intvars": {}, 20.83/6.32 "arithmetic": { 20.83/6.32 "type": "PlainIntegerRelationState", 20.83/6.32 "relations": [] 20.83/6.32 }, 20.83/6.32 "ground": ["T2"], 20.83/6.32 "free": [], 20.83/6.32 "exprvars": [] 20.83/6.32 } 20.83/6.32 }, 20.83/6.32 "38": { 20.83/6.32 "goal": [{ 20.83/6.32 "clause": 2, 20.83/6.32 "scope": 1, 20.83/6.32 "term": "(mergesort T1 T2)" 20.83/6.32 }], 20.83/6.32 "kb": { 20.83/6.32 "nonunifying": [], 20.83/6.32 "intvars": {}, 20.83/6.32 "arithmetic": { 20.83/6.32 "type": "PlainIntegerRelationState", 20.83/6.32 "relations": [] 20.83/6.32 }, 20.83/6.32 "ground": ["T2"], 20.83/6.32 "free": [], 20.83/6.32 "exprvars": [] 20.83/6.32 } 20.83/6.32 }, 20.83/6.32 "140": { 20.83/6.32 "goal": [ 20.83/6.32 { 20.83/6.32 "clause": 0, 20.83/6.32 "scope": 5, 20.83/6.32 "term": "(mergesort T23 X24)" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "clause": 1, 20.83/6.32 "scope": 5, 20.83/6.32 "term": "(mergesort T23 X24)" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "clause": 2, 20.83/6.32 "scope": 5, 20.83/6.32 "term": "(mergesort T23 X24)" 20.83/6.32 } 20.83/6.32 ], 20.83/6.32 "kb": { 20.83/6.32 "nonunifying": [], 20.83/6.32 "intvars": {}, 20.83/6.32 "arithmetic": { 20.83/6.32 "type": "PlainIntegerRelationState", 20.83/6.32 "relations": [] 20.83/6.32 }, 20.83/6.32 "ground": [], 20.83/6.32 "free": ["X24"], 20.83/6.32 "exprvars": [] 20.83/6.32 } 20.83/6.32 }, 20.83/6.32 "261": { 20.83/6.32 "goal": [], 20.83/6.32 "kb": { 20.83/6.32 "nonunifying": [], 20.83/6.32 "intvars": {}, 20.83/6.32 "arithmetic": { 20.83/6.32 "type": "PlainIntegerRelationState", 20.83/6.32 "relations": [] 20.83/6.32 }, 20.83/6.32 "ground": [], 20.83/6.32 "free": [], 20.83/6.32 "exprvars": [] 20.83/6.32 } 20.83/6.32 }, 20.83/6.32 "185": { 20.83/6.32 "goal": [{ 20.83/6.32 "clause": -1, 20.83/6.32 "scope": -1, 20.83/6.32 "term": "(true)" 20.83/6.32 }], 20.83/6.32 "kb": { 20.83/6.32 "nonunifying": [], 20.83/6.32 "intvars": {}, 20.83/6.32 "arithmetic": { 20.83/6.32 "type": "PlainIntegerRelationState", 20.83/6.32 "relations": [] 20.83/6.32 }, 20.83/6.32 "ground": [], 20.83/6.32 "free": [], 20.83/6.32 "exprvars": [] 20.83/6.32 } 20.83/6.32 }, 20.83/6.32 "264": { 20.83/6.32 "goal": [], 20.83/6.32 "kb": { 20.83/6.32 "nonunifying": [], 20.83/6.32 "intvars": {}, 20.83/6.32 "arithmetic": { 20.83/6.32 "type": "PlainIntegerRelationState", 20.83/6.32 "relations": [] 20.83/6.32 }, 20.83/6.32 "ground": [], 20.83/6.32 "free": [], 20.83/6.32 "exprvars": [] 20.83/6.32 } 20.83/6.32 }, 20.83/6.32 "102": { 20.83/6.32 "goal": [{ 20.83/6.32 "clause": -1, 20.83/6.32 "scope": -1, 20.83/6.32 "term": "(split T45 X61 X60)" 20.83/6.32 }], 20.83/6.32 "kb": { 20.83/6.32 "nonunifying": [], 20.83/6.32 "intvars": {}, 20.83/6.32 "arithmetic": { 20.83/6.32 "type": "PlainIntegerRelationState", 20.83/6.32 "relations": [] 20.83/6.32 }, 20.83/6.32 "ground": [], 20.83/6.32 "free": [ 20.83/6.32 "X60", 20.83/6.32 "X61" 20.83/6.32 ], 20.83/6.32 "exprvars": [] 20.83/6.32 } 20.83/6.32 }, 20.83/6.32 "224": { 20.83/6.32 "goal": [{ 20.83/6.32 "clause": 1, 20.83/6.32 "scope": 5, 20.83/6.32 "term": "(mergesort T23 X24)" 20.83/6.32 }], 20.83/6.32 "kb": { 20.83/6.32 "nonunifying": [], 20.83/6.32 "intvars": {}, 20.83/6.32 "arithmetic": { 20.83/6.32 "type": "PlainIntegerRelationState", 20.83/6.32 "relations": [] 20.83/6.32 }, 20.83/6.32 "ground": [], 20.83/6.32 "free": ["X24"], 20.83/6.32 "exprvars": [] 20.83/6.32 } 20.83/6.32 }, 20.83/6.32 "104": { 20.83/6.32 "goal": [ 20.83/6.32 { 20.83/6.32 "clause": 3, 20.83/6.32 "scope": 4, 20.83/6.32 "term": "(split T45 X61 X60)" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "clause": 4, 20.83/6.32 "scope": 4, 20.83/6.32 "term": "(split T45 X61 X60)" 20.83/6.32 } 20.83/6.32 ], 20.83/6.32 "kb": { 20.83/6.32 "nonunifying": [], 20.83/6.32 "intvars": {}, 20.83/6.32 "arithmetic": { 20.83/6.32 "type": "PlainIntegerRelationState", 20.83/6.32 "relations": [] 20.83/6.32 }, 20.83/6.32 "ground": [], 20.83/6.32 "free": [ 20.83/6.32 "X60", 20.83/6.32 "X61" 20.83/6.32 ], 20.83/6.32 "exprvars": [] 20.83/6.32 } 20.83/6.32 }, 20.83/6.32 "500": { 20.83/6.32 "goal": [{ 20.83/6.32 "clause": -1, 20.83/6.32 "scope": -1, 20.83/6.32 "term": "(split (. T69 (. T70 T71)) X103 X104)" 20.83/6.32 }], 20.83/6.32 "kb": { 20.83/6.32 "nonunifying": [], 20.83/6.32 "intvars": {}, 20.83/6.32 "arithmetic": { 20.83/6.32 "type": "PlainIntegerRelationState", 20.83/6.32 "relations": [] 20.83/6.32 }, 20.83/6.32 "ground": [], 20.83/6.32 "free": [ 20.83/6.32 "X103", 20.83/6.32 "X104" 20.83/6.32 ], 20.83/6.32 "exprvars": [] 20.83/6.32 } 20.83/6.32 }, 20.83/6.32 "544": { 20.83/6.32 "goal": [{ 20.83/6.32 "clause": -1, 20.83/6.32 "scope": -1, 20.83/6.32 "term": "(mergesort T75 X106)" 20.83/6.32 }], 20.83/6.32 "kb": { 20.83/6.32 "nonunifying": [], 20.83/6.32 "intvars": {}, 20.83/6.32 "arithmetic": { 20.83/6.32 "type": "PlainIntegerRelationState", 20.83/6.32 "relations": [] 20.83/6.32 }, 20.83/6.32 "ground": [], 20.83/6.32 "free": ["X106"], 20.83/6.32 "exprvars": [] 20.83/6.32 } 20.83/6.32 }, 20.83/6.32 "226": { 20.83/6.32 "goal": [{ 20.83/6.32 "clause": 2, 20.83/6.32 "scope": 5, 20.83/6.32 "term": "(mergesort T23 X24)" 20.83/6.32 }], 20.83/6.32 "kb": { 20.83/6.32 "nonunifying": [], 20.83/6.32 "intvars": {}, 20.83/6.32 "arithmetic": { 20.83/6.32 "type": "PlainIntegerRelationState", 20.83/6.32 "relations": [] 20.83/6.32 }, 20.83/6.32 "ground": [], 20.83/6.32 "free": ["X24"], 20.83/6.32 "exprvars": [] 20.83/6.32 } 20.83/6.32 }, 20.83/6.32 "545": { 20.83/6.32 "goal": [{ 20.83/6.32 "clause": -1, 20.83/6.32 "scope": -1, 20.83/6.32 "term": "(merge T77 T76 X107)" 20.83/6.32 }], 20.83/6.32 "kb": { 20.83/6.32 "nonunifying": [], 20.83/6.32 "intvars": {}, 20.83/6.32 "arithmetic": { 20.83/6.32 "type": "PlainIntegerRelationState", 20.83/6.32 "relations": [] 20.83/6.32 }, 20.83/6.32 "ground": [], 20.83/6.32 "free": ["X107"], 20.83/6.32 "exprvars": [] 20.83/6.32 } 20.83/6.32 }, 20.83/6.32 "106": { 20.83/6.32 "goal": [{ 20.83/6.32 "clause": 3, 20.83/6.32 "scope": 4, 20.83/6.32 "term": "(split T45 X61 X60)" 20.83/6.32 }], 20.83/6.32 "kb": { 20.83/6.32 "nonunifying": [], 20.83/6.32 "intvars": {}, 20.83/6.32 "arithmetic": { 20.83/6.32 "type": "PlainIntegerRelationState", 20.83/6.32 "relations": [] 20.83/6.32 }, 20.83/6.32 "ground": [], 20.83/6.32 "free": [ 20.83/6.32 "X60", 20.83/6.32 "X61" 20.83/6.32 ], 20.83/6.32 "exprvars": [] 20.83/6.32 } 20.83/6.32 }, 20.83/6.32 "502": { 20.83/6.32 "goal": [{ 20.83/6.32 "clause": -1, 20.83/6.32 "scope": -1, 20.83/6.32 "term": "(',' (mergesort T72 X105) (',' (mergesort T73 X106) (merge X105 X106 X107)))" 20.83/6.32 }], 20.83/6.32 "kb": { 20.83/6.32 "nonunifying": [], 20.83/6.32 "intvars": {}, 20.83/6.32 "arithmetic": { 20.83/6.32 "type": "PlainIntegerRelationState", 20.83/6.32 "relations": [] 20.83/6.32 }, 20.83/6.32 "ground": [], 20.83/6.32 "free": [ 20.83/6.32 "X107", 20.83/6.32 "X105", 20.83/6.32 "X106" 20.83/6.32 ], 20.83/6.32 "exprvars": [] 20.83/6.32 } 20.83/6.32 }, 20.83/6.32 "108": { 20.83/6.32 "goal": [{ 20.83/6.32 "clause": 4, 20.83/6.32 "scope": 4, 20.83/6.32 "term": "(split T45 X61 X60)" 20.83/6.32 }], 20.83/6.32 "kb": { 20.83/6.32 "nonunifying": [], 20.83/6.32 "intvars": {}, 20.83/6.32 "arithmetic": { 20.83/6.32 "type": "PlainIntegerRelationState", 20.83/6.32 "relations": [] 20.83/6.32 }, 20.83/6.32 "ground": [], 20.83/6.32 "free": [ 20.83/6.32 "X60", 20.83/6.32 "X61" 20.83/6.32 ], 20.83/6.32 "exprvars": [] 20.83/6.32 } 20.83/6.32 }, 20.83/6.32 "548": { 20.83/6.32 "goal": [ 20.83/6.32 { 20.83/6.32 "clause": 5, 20.83/6.32 "scope": 6, 20.83/6.32 "term": "(merge T77 T76 X107)" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "clause": 6, 20.83/6.32 "scope": 6, 20.83/6.32 "term": "(merge T77 T76 X107)" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "clause": 7, 20.83/6.32 "scope": 6, 20.83/6.32 "term": "(merge T77 T76 X107)" 20.83/6.32 } 20.83/6.32 ], 20.83/6.32 "kb": { 20.83/6.32 "nonunifying": [], 20.83/6.32 "intvars": {}, 20.83/6.32 "arithmetic": { 20.83/6.32 "type": "PlainIntegerRelationState", 20.83/6.32 "relations": [] 20.83/6.32 }, 20.83/6.32 "ground": [], 20.83/6.32 "free": ["X107"], 20.83/6.32 "exprvars": [] 20.83/6.32 } 20.83/6.32 }, 20.83/6.32 "549": { 20.83/6.32 "goal": [{ 20.83/6.32 "clause": 5, 20.83/6.32 "scope": 6, 20.83/6.32 "term": "(merge T77 T76 X107)" 20.83/6.32 }], 20.83/6.32 "kb": { 20.83/6.32 "nonunifying": [], 20.83/6.32 "intvars": {}, 20.83/6.32 "arithmetic": { 20.83/6.32 "type": "PlainIntegerRelationState", 20.83/6.32 "relations": [] 20.83/6.32 }, 20.83/6.32 "ground": [], 20.83/6.32 "free": ["X107"], 20.83/6.32 "exprvars": [] 20.83/6.32 } 20.83/6.32 }, 20.83/6.32 "84": { 20.83/6.32 "goal": [ 20.83/6.32 { 20.83/6.32 "clause": 3, 20.83/6.32 "scope": 2, 20.83/6.32 "term": "(split (. T20 (. T21 T22)) X22 X23)" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "clause": 4, 20.83/6.32 "scope": 2, 20.83/6.32 "term": "(split (. T20 (. T21 T22)) X22 X23)" 20.83/6.32 } 20.83/6.32 ], 20.83/6.32 "kb": { 20.83/6.32 "nonunifying": [], 20.83/6.32 "intvars": {}, 20.83/6.32 "arithmetic": { 20.83/6.32 "type": "PlainIntegerRelationState", 20.83/6.32 "relations": [] 20.83/6.32 }, 20.83/6.32 "ground": [], 20.83/6.32 "free": [ 20.83/6.32 "X22", 20.83/6.32 "X23" 20.83/6.32 ], 20.83/6.32 "exprvars": [] 20.83/6.32 } 20.83/6.32 }, 20.83/6.32 "41": { 20.83/6.32 "goal": [{ 20.83/6.32 "clause": -1, 20.83/6.32 "scope": -1, 20.83/6.32 "term": "(true)" 20.83/6.32 }], 20.83/6.32 "kb": { 20.83/6.32 "nonunifying": [], 20.83/6.32 "intvars": {}, 20.83/6.32 "arithmetic": { 20.83/6.32 "type": "PlainIntegerRelationState", 20.83/6.32 "relations": [] 20.83/6.32 }, 20.83/6.32 "ground": [], 20.83/6.32 "free": [], 20.83/6.32 "exprvars": [] 20.83/6.32 } 20.83/6.32 }, 20.83/6.32 "85": { 20.83/6.32 "goal": [{ 20.83/6.32 "clause": 4, 20.83/6.32 "scope": 2, 20.83/6.32 "term": "(split (. T20 (. T21 T22)) X22 X23)" 20.83/6.32 }], 20.83/6.32 "kb": { 20.83/6.32 "nonunifying": [], 20.83/6.32 "intvars": {}, 20.83/6.32 "arithmetic": { 20.83/6.32 "type": "PlainIntegerRelationState", 20.83/6.32 "relations": [] 20.83/6.32 }, 20.83/6.32 "ground": [], 20.83/6.32 "free": [ 20.83/6.32 "X22", 20.83/6.32 "X23" 20.83/6.32 ], 20.83/6.32 "exprvars": [] 20.83/6.32 } 20.83/6.32 }, 20.83/6.32 "43": { 20.83/6.32 "goal": [], 20.83/6.32 "kb": { 20.83/6.32 "nonunifying": [], 20.83/6.32 "intvars": {}, 20.83/6.32 "arithmetic": { 20.83/6.32 "type": "PlainIntegerRelationState", 20.83/6.32 "relations": [] 20.83/6.32 }, 20.83/6.32 "ground": [], 20.83/6.32 "free": [], 20.83/6.32 "exprvars": [] 20.83/6.32 } 20.83/6.32 } 20.83/6.32 }, 20.83/6.32 "edges": [ 20.83/6.32 { 20.83/6.32 "from": 6, 20.83/6.32 "to": 7, 20.83/6.32 "label": "CASE" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 7, 20.83/6.32 "to": 30, 20.83/6.32 "label": "PARALLEL" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 7, 20.83/6.32 "to": 31, 20.83/6.32 "label": "PARALLEL" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 30, 20.83/6.32 "to": 33, 20.83/6.32 "label": "EVAL with clause\nmergesort([], []).\nand substitutionT1 -> [],\nT2 -> []" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 30, 20.83/6.32 "to": 34, 20.83/6.32 "label": "EVAL-BACKTRACK" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 31, 20.83/6.32 "to": 36, 20.83/6.32 "label": "PARALLEL" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 31, 20.83/6.32 "to": 38, 20.83/6.32 "label": "PARALLEL" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 33, 20.83/6.32 "to": 35, 20.83/6.32 "label": "SUCCESS" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 36, 20.83/6.32 "to": 41, 20.83/6.32 "label": "EVAL with clause\nmergesort(.(X5, []), .(X5, [])).\nand substitutionX5 -> T7,\nT1 -> .(T7, []),\nT2 -> .(T7, [])" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 36, 20.83/6.32 "to": 43, 20.83/6.32 "label": "EVAL-BACKTRACK" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 38, 20.83/6.32 "to": 54, 20.83/6.32 "label": "EVAL with clause\nmergesort(.(X18, .(X19, X20)), X21) :- ','(split(.(X18, .(X19, X20)), X22, X23), ','(mergesort(X22, X24), ','(mergesort(X23, X25), merge(X24, X25, X21)))).\nand substitutionX18 -> T20,\nX19 -> T21,\nX20 -> T22,\nT1 -> .(T20, .(T21, T22)),\nT2 -> T19,\nX21 -> T19,\nT16 -> T20,\nT17 -> T21,\nT18 -> T22" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 38, 20.83/6.32 "to": 55, 20.83/6.32 "label": "EVAL-BACKTRACK" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 41, 20.83/6.32 "to": 44, 20.83/6.32 "label": "SUCCESS" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 54, 20.83/6.32 "to": 78, 20.83/6.32 "label": "SPLIT 1" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 54, 20.83/6.32 "to": 79, 20.83/6.32 "label": "SPLIT 2\nreplacements:X22 -> T23,\nX23 -> T24" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 78, 20.83/6.32 "to": 84, 20.83/6.32 "label": "CASE" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 79, 20.83/6.32 "to": 121, 20.83/6.32 "label": "SPLIT 1" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 79, 20.83/6.32 "to": 124, 20.83/6.32 "label": "SPLIT 2\nreplacements:X24 -> T53,\nT24 -> T54" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 84, 20.83/6.32 "to": 85, 20.83/6.32 "label": "BACKTRACK\nfor clause: split([], [], [])because of non-unification" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 85, 20.83/6.32 "to": 91, 20.83/6.32 "label": "ONLY EVAL with clause\nsplit(.(X38, X39), .(X38, X40), X41) :- split(X39, X41, X40).\nand substitutionT20 -> T33,\nX38 -> T33,\nT21 -> T36,\nT22 -> T37,\nX39 -> .(T36, T37),\nX40 -> X42,\nX22 -> .(T33, X42),\nX23 -> X43,\nX41 -> X43,\nT34 -> T36,\nT35 -> T37" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 91, 20.83/6.32 "to": 93, 20.83/6.32 "label": "CASE" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 93, 20.83/6.32 "to": 98, 20.83/6.32 "label": "BACKTRACK\nfor clause: split([], [], [])because of non-unification" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 98, 20.83/6.32 "to": 102, 20.83/6.32 "label": "ONLY EVAL with clause\nsplit(.(X56, X57), .(X56, X58), X59) :- split(X57, X59, X58).\nand substitutionT36 -> T43,\nX56 -> T43,\nT37 -> T45,\nX57 -> T45,\nX58 -> X60,\nX43 -> .(T43, X60),\nX42 -> X61,\nX59 -> X61,\nT44 -> T45" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 102, 20.83/6.32 "to": 104, 20.83/6.32 "label": "CASE" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 104, 20.83/6.32 "to": 106, 20.83/6.32 "label": "PARALLEL" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 104, 20.83/6.32 "to": 108, 20.83/6.32 "label": "PARALLEL" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 106, 20.83/6.32 "to": 110, 20.83/6.32 "label": "EVAL with clause\nsplit([], [], []).\nand substitutionT45 -> [],\nX61 -> [],\nX60 -> []" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 106, 20.83/6.32 "to": 112, 20.83/6.32 "label": "EVAL-BACKTRACK" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 108, 20.83/6.32 "to": 116, 20.83/6.32 "label": "EVAL with clause\nsplit(.(X74, X75), .(X74, X76), X77) :- split(X75, X77, X76).\nand substitutionX74 -> T50,\nX75 -> T52,\nT45 -> .(T50, T52),\nX76 -> X78,\nX61 -> .(T50, X78),\nX60 -> X79,\nX77 -> X79,\nT51 -> T52" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 108, 20.83/6.32 "to": 118, 20.83/6.32 "label": "EVAL-BACKTRACK" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 110, 20.83/6.32 "to": 113, 20.83/6.32 "label": "SUCCESS" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 116, 20.83/6.32 "to": 102, 20.83/6.32 "label": "INSTANCE with matching:\nT45 -> T52\nX61 -> X79\nX60 -> X78" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 121, 20.83/6.32 "to": 140, 20.83/6.32 "label": "CASE" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 124, 20.83/6.32 "to": 578, 20.83/6.32 "label": "SPLIT 1" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 124, 20.83/6.32 "to": 579, 20.83/6.32 "label": "SPLIT 2\nreplacements:X25 -> T111,\nT53 -> T112" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 140, 20.83/6.32 "to": 156, 20.83/6.32 "label": "PARALLEL" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 140, 20.83/6.32 "to": 159, 20.83/6.32 "label": "PARALLEL" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 156, 20.83/6.32 "to": 185, 20.83/6.32 "label": "EVAL with clause\nmergesort([], []).\nand substitutionT23 -> [],\nX24 -> []" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 156, 20.83/6.32 "to": 192, 20.83/6.32 "label": "EVAL-BACKTRACK" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 159, 20.83/6.32 "to": 224, 20.83/6.32 "label": "PARALLEL" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 159, 20.83/6.32 "to": 226, 20.83/6.32 "label": "PARALLEL" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 185, 20.83/6.32 "to": 200, 20.83/6.32 "label": "SUCCESS" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 224, 20.83/6.32 "to": 253, 20.83/6.32 "label": "EVAL with clause\nmergesort(.(X84, []), .(X84, [])).\nand substitutionX84 -> T59,\nT23 -> .(T59, []),\nX24 -> .(T59, [])" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 224, 20.83/6.32 "to": 261, 20.83/6.32 "label": "EVAL-BACKTRACK" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 226, 20.83/6.32 "to": 486, 20.83/6.32 "label": "EVAL with clause\nmergesort(.(X99, .(X100, X101)), X102) :- ','(split(.(X99, .(X100, X101)), X103, X104), ','(mergesort(X103, X105), ','(mergesort(X104, X106), merge(X105, X106, X102)))).\nand substitutionX99 -> T69,\nX100 -> T70,\nX101 -> T71,\nT23 -> .(T69, .(T70, T71)),\nX24 -> X107,\nX102 -> X107,\nT66 -> T69,\nT67 -> T70,\nT68 -> T71" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 226, 20.83/6.32 "to": 487, 20.83/6.32 "label": "EVAL-BACKTRACK" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 253, 20.83/6.32 "to": 264, 20.83/6.32 "label": "SUCCESS" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 486, 20.83/6.32 "to": 500, 20.83/6.32 "label": "SPLIT 1" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 486, 20.83/6.32 "to": 502, 20.83/6.32 "label": "SPLIT 2\nreplacements:X103 -> T72,\nX104 -> T73" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 500, 20.83/6.32 "to": 78, 20.83/6.32 "label": "INSTANCE with matching:\nT20 -> T69\nT21 -> T70\nT22 -> T71\nX22 -> X103\nX23 -> X104" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 502, 20.83/6.32 "to": 524, 20.83/6.32 "label": "SPLIT 1" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 502, 20.83/6.32 "to": 525, 20.83/6.32 "label": "SPLIT 2\nreplacements:X105 -> T74,\nT73 -> T75" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 524, 20.83/6.32 "to": 121, 20.83/6.32 "label": "INSTANCE with matching:\nT23 -> T72\nX24 -> X105" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 525, 20.83/6.32 "to": 544, 20.83/6.32 "label": "SPLIT 1" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 525, 20.83/6.32 "to": 545, 20.83/6.32 "label": "SPLIT 2\nreplacements:X106 -> T76,\nT74 -> T77" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 544, 20.83/6.32 "to": 121, 20.83/6.32 "label": "INSTANCE with matching:\nT23 -> T75\nX24 -> X106" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 545, 20.83/6.32 "to": 548, 20.83/6.32 "label": "CASE" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 548, 20.83/6.32 "to": 549, 20.83/6.32 "label": "PARALLEL" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 548, 20.83/6.32 "to": 550, 20.83/6.32 "label": "PARALLEL" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 549, 20.83/6.32 "to": 551, 20.83/6.32 "label": "EVAL with clause\nmerge([], X114, X114).\nand substitutionT77 -> [],\nT76 -> T84,\nX114 -> T84,\nX107 -> T84" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 549, 20.83/6.32 "to": 552, 20.83/6.32 "label": "EVAL-BACKTRACK" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 550, 20.83/6.32 "to": 554, 20.83/6.32 "label": "PARALLEL" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 550, 20.83/6.32 "to": 555, 20.83/6.32 "label": "PARALLEL" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 551, 20.83/6.32 "to": 553, 20.83/6.32 "label": "SUCCESS" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 554, 20.83/6.32 "to": 557, 20.83/6.32 "label": "EVAL with clause\nmerge(X119, [], X119).\nand substitutionT77 -> T89,\nX119 -> T89,\nT76 -> [],\nX107 -> T89" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 554, 20.83/6.32 "to": 558, 20.83/6.32 "label": "EVAL-BACKTRACK" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 555, 20.83/6.32 "to": 567, 20.83/6.32 "label": "EVAL with clause\nmerge(.(X132, X133), .(X134, X135), .(X132, X136)) :- ','(=(X132, X134), merge(.(X132, X133), X135, X136)).\nand substitutionX132 -> T102,\nX133 -> T105,\nT77 -> .(T102, T105),\nX134 -> T103,\nX135 -> T104,\nT76 -> .(T103, T104),\nX136 -> X137,\nX107 -> .(T102, X137),\nT98 -> T102,\nT100 -> T103,\nT101 -> T104,\nT99 -> T105" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 555, 20.83/6.32 "to": 569, 20.83/6.32 "label": "EVAL-BACKTRACK" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 557, 20.83/6.32 "to": 559, 20.83/6.32 "label": "SUCCESS" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 567, 20.83/6.32 "to": 574, 20.83/6.32 "label": "UNIFY CASE with substitutionT102 -> T109,\nT103 -> T109,\nT104 -> T108,\nT107 -> T109,\nT105 -> T110" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 567, 20.83/6.32 "to": 575, 20.83/6.32 "label": "UNIFY-BACKTRACK" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 574, 20.83/6.32 "to": 545, 20.83/6.32 "label": "INSTANCE with matching:\nT77 -> .(T109, T110)\nT76 -> T108\nX107 -> X137" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 578, 20.83/6.32 "to": 121, 20.83/6.32 "label": "INSTANCE with matching:\nT23 -> T54\nX24 -> X25" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 579, 20.83/6.32 "to": 639, 20.83/6.32 "label": "CASE" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 639, 20.83/6.32 "to": 640, 20.83/6.32 "label": "PARALLEL" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 639, 20.83/6.32 "to": 641, 20.83/6.32 "label": "PARALLEL" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 640, 20.83/6.32 "to": 642, 20.83/6.32 "label": "EVAL with clause\nmerge([], X146, X146).\nand substitutionT112 -> [],\nT111 -> T119,\nX146 -> T119,\nT19 -> T119" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 640, 20.83/6.32 "to": 643, 20.83/6.32 "label": "EVAL-BACKTRACK" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 641, 20.83/6.32 "to": 645, 20.83/6.32 "label": "PARALLEL" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 641, 20.83/6.32 "to": 646, 20.83/6.32 "label": "PARALLEL" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 642, 20.83/6.32 "to": 644, 20.83/6.32 "label": "SUCCESS" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 645, 20.83/6.32 "to": 648, 20.83/6.32 "label": "EVAL with clause\nmerge(X151, [], X151).\nand substitutionT112 -> T124,\nX151 -> T124,\nT111 -> [],\nT19 -> T124" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 645, 20.83/6.32 "to": 649, 20.83/6.32 "label": "EVAL-BACKTRACK" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 646, 20.83/6.32 "to": 651, 20.83/6.32 "label": "EVAL with clause\nmerge(.(X162, X163), .(X164, X165), .(X162, X166)) :- ','(=(X162, X164), merge(.(X162, X163), X165, X166)).\nand substitutionX162 -> T135,\nX163 -> T142,\nT112 -> .(T135, T142),\nX164 -> T140,\nX165 -> T141,\nT111 -> .(T140, T141),\nX166 -> T139,\nT19 -> .(T135, T139),\nT137 -> T140,\nT138 -> T141,\nT136 -> T142" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 646, 20.83/6.32 "to": 652, 20.83/6.32 "label": "EVAL-BACKTRACK" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 648, 20.83/6.32 "to": 650, 20.83/6.32 "label": "SUCCESS" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 651, 20.83/6.32 "to": 653, 20.83/6.32 "label": "UNIFY CASE with substitutionT135 -> T144,\nT140 -> T144,\nT141 -> T145,\nT142 -> T146" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 651, 20.83/6.32 "to": 654, 20.83/6.32 "label": "UNIFY-BACKTRACK" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "from": 653, 20.83/6.32 "to": 579, 20.83/6.32 "label": "INSTANCE with matching:\nT112 -> .(T144, T146)\nT111 -> T145\nT19 -> T139" 20.83/6.32 } 20.83/6.32 ], 20.83/6.32 "type": "Graph" 20.83/6.32 } 20.83/6.32 } 20.83/6.32 20.83/6.32 ---------------------------------------- 20.83/6.32 20.83/6.32 (137) 20.83/6.32 Complex Obligation (AND) 20.83/6.32 20.83/6.32 ---------------------------------------- 20.83/6.32 20.83/6.32 (138) 20.83/6.32 Obligation: 20.83/6.32 Rules: 20.83/6.32 f645_out(T19) -> f641_out(T19) :|: TRUE 20.83/6.32 f646_out(x) -> f641_out(x) :|: TRUE 20.83/6.32 f641_in(x1) -> f645_in(x1) :|: TRUE 20.83/6.32 f641_in(x2) -> f646_in(x2) :|: TRUE 20.83/6.32 f579_out(T139) -> f653_out(T144, T139) :|: TRUE 20.83/6.32 f653_in(x3, x4) -> f579_in(x4) :|: TRUE 20.83/6.32 f640_out(x5) -> f639_out(x5) :|: TRUE 20.83/6.32 f641_out(x6) -> f639_out(x6) :|: TRUE 20.83/6.32 f639_in(x7) -> f641_in(x7) :|: TRUE 20.83/6.32 f639_in(x8) -> f640_in(x8) :|: TRUE 20.83/6.32 f654_out -> f651_out(x9, x10) :|: TRUE 20.83/6.32 f651_in(x11, x12) -> f653_in(x13, x12) :|: TRUE 20.83/6.32 f651_in(x14, x15) -> f654_in :|: TRUE 20.83/6.32 f653_out(x16, x17) -> f651_out(x18, x17) :|: TRUE 20.83/6.32 f579_in(x19) -> f639_in(x19) :|: TRUE 20.83/6.32 f639_out(x20) -> f579_out(x20) :|: TRUE 20.83/6.32 f646_in(x21) -> f652_in :|: TRUE 20.83/6.32 f651_out(x22, x23) -> f646_out(.(x22, x23)) :|: TRUE 20.83/6.32 f646_in(.(x24, x25)) -> f651_in(x24, x25) :|: TRUE 20.83/6.32 f652_out -> f646_out(x26) :|: TRUE 20.83/6.32 f6_in(T2) -> f7_in(T2) :|: TRUE 20.83/6.32 f7_out(x27) -> f6_out(x27) :|: TRUE 20.83/6.32 f31_out(x28) -> f7_out(x28) :|: TRUE 20.83/6.32 f7_in(x29) -> f30_in(x29) :|: TRUE 20.83/6.32 f30_out(x30) -> f7_out(x30) :|: TRUE 20.83/6.32 f7_in(x31) -> f31_in(x31) :|: TRUE 20.83/6.32 f31_in(x32) -> f38_in(x32) :|: TRUE 20.83/6.32 f38_out(x33) -> f31_out(x33) :|: TRUE 20.83/6.32 f36_out(x34) -> f31_out(x34) :|: TRUE 20.83/6.32 f31_in(x35) -> f36_in(x35) :|: TRUE 20.83/6.32 f55_out -> f38_out(x36) :|: TRUE 20.83/6.32 f38_in(x37) -> f55_in :|: TRUE 20.83/6.32 f54_out(x38) -> f38_out(x38) :|: TRUE 20.83/6.32 f38_in(x39) -> f54_in(x39) :|: TRUE 20.83/6.32 f79_out(x40) -> f54_out(x40) :|: TRUE 20.83/6.32 f78_out -> f79_in(x41) :|: TRUE 20.83/6.32 f54_in(x42) -> f78_in :|: TRUE 20.83/6.32 f121_out -> f124_in(x43) :|: TRUE 20.83/6.32 f79_in(x44) -> f121_in :|: TRUE 20.83/6.32 f124_out(x45) -> f79_out(x45) :|: TRUE 20.83/6.32 f579_out(x46) -> f124_out(x46) :|: TRUE 20.83/6.32 f124_in(x47) -> f578_in :|: TRUE 20.83/6.32 f578_out -> f579_in(x48) :|: TRUE 20.83/6.32 Start term: f6_in(T2) 20.83/6.32 20.83/6.32 ---------------------------------------- 20.83/6.32 20.83/6.32 (139) IRSwTSimpleDependencyGraphProof (EQUIVALENT) 20.83/6.32 Constructed simple dependency graph. 20.83/6.32 20.83/6.32 Simplified to the following IRSwTs: 20.83/6.32 20.83/6.32 20.83/6.32 ---------------------------------------- 20.83/6.32 20.83/6.32 (140) 20.83/6.32 TRUE 20.83/6.32 20.83/6.32 ---------------------------------------- 20.83/6.32 20.83/6.32 (141) 20.83/6.32 Obligation: 20.83/6.32 Rules: 20.83/6.32 f575_out -> f567_out :|: TRUE 20.83/6.32 f574_out -> f567_out :|: TRUE 20.83/6.32 f567_in -> f575_in :|: TRUE 20.83/6.32 f567_in -> f574_in :|: TRUE 20.83/6.32 f555_in -> f567_in :|: TRUE 20.83/6.32 f569_out -> f555_out :|: TRUE 20.83/6.32 f555_in -> f569_in :|: TRUE 20.83/6.32 f567_out -> f555_out :|: TRUE 20.83/6.32 f574_in -> f545_in :|: TRUE 20.83/6.32 f545_out -> f574_out :|: TRUE 20.83/6.32 f545_in -> f548_in :|: TRUE 20.83/6.32 f548_out -> f545_out :|: TRUE 20.83/6.32 f548_in -> f549_in :|: TRUE 20.83/6.32 f548_in -> f550_in :|: TRUE 20.83/6.32 f550_out -> f548_out :|: TRUE 20.83/6.32 f549_out -> f548_out :|: TRUE 20.83/6.32 f550_in -> f554_in :|: TRUE 20.83/6.32 f555_out -> f550_out :|: TRUE 20.83/6.32 f550_in -> f555_in :|: TRUE 20.83/6.32 f554_out -> f550_out :|: TRUE 20.83/6.32 f6_in(T2) -> f7_in(T2) :|: TRUE 20.83/6.32 f7_out(x) -> f6_out(x) :|: TRUE 20.83/6.32 f31_out(x1) -> f7_out(x1) :|: TRUE 20.83/6.32 f7_in(x2) -> f30_in(x2) :|: TRUE 20.83/6.32 f30_out(x3) -> f7_out(x3) :|: TRUE 20.83/6.32 f7_in(x4) -> f31_in(x4) :|: TRUE 20.83/6.32 f31_in(x5) -> f38_in(x5) :|: TRUE 20.83/6.32 f38_out(x6) -> f31_out(x6) :|: TRUE 20.83/6.32 f36_out(x7) -> f31_out(x7) :|: TRUE 20.83/6.32 f31_in(x8) -> f36_in(x8) :|: TRUE 20.83/6.32 f55_out -> f38_out(x9) :|: TRUE 20.83/6.32 f38_in(x10) -> f55_in :|: TRUE 20.83/6.32 f54_out(T19) -> f38_out(T19) :|: TRUE 20.83/6.32 f38_in(x11) -> f54_in(x11) :|: TRUE 20.83/6.32 f79_out(x12) -> f54_out(x12) :|: TRUE 20.83/6.32 f78_out -> f79_in(x13) :|: TRUE 20.83/6.32 f54_in(x14) -> f78_in :|: TRUE 20.83/6.32 f121_out -> f124_in(x15) :|: TRUE 20.83/6.32 f79_in(x16) -> f121_in :|: TRUE 20.83/6.32 f124_out(x17) -> f79_out(x17) :|: TRUE 20.83/6.32 f140_out -> f121_out :|: TRUE 20.83/6.32 f121_in -> f140_in :|: TRUE 20.83/6.32 f140_in -> f159_in :|: TRUE 20.83/6.32 f140_in -> f156_in :|: TRUE 20.83/6.32 f159_out -> f140_out :|: TRUE 20.83/6.32 f156_out -> f140_out :|: TRUE 20.83/6.32 f226_out -> f159_out :|: TRUE 20.83/6.32 f159_in -> f224_in :|: TRUE 20.83/6.32 f159_in -> f226_in :|: TRUE 20.83/6.32 f224_out -> f159_out :|: TRUE 20.83/6.32 f226_in -> f486_in :|: TRUE 20.83/6.32 f486_out -> f226_out :|: TRUE 20.83/6.32 f226_in -> f487_in :|: TRUE 20.83/6.32 f487_out -> f226_out :|: TRUE 20.83/6.32 f502_out -> f486_out :|: TRUE 20.83/6.32 f500_out -> f502_in :|: TRUE 20.83/6.32 f486_in -> f500_in :|: TRUE 20.83/6.32 f502_in -> f524_in :|: TRUE 20.83/6.32 f525_out -> f502_out :|: TRUE 20.83/6.32 f524_out -> f525_in :|: TRUE 20.83/6.32 f525_in -> f544_in :|: TRUE 20.83/6.32 f544_out -> f545_in :|: TRUE 20.83/6.32 f545_out -> f525_out :|: TRUE 20.83/6.32 f579_out(x18) -> f124_out(x18) :|: TRUE 20.83/6.32 f124_in(x19) -> f578_in :|: TRUE 20.83/6.32 f578_out -> f579_in(x20) :|: TRUE 20.83/6.32 f121_out -> f578_out :|: TRUE 20.83/6.32 f578_in -> f121_in :|: TRUE 20.83/6.32 Start term: f6_in(T2) 20.83/6.32 20.83/6.32 ---------------------------------------- 20.83/6.32 20.83/6.32 (142) IRSwTSimpleDependencyGraphProof (EQUIVALENT) 20.83/6.32 Constructed simple dependency graph. 20.83/6.32 20.83/6.32 Simplified to the following IRSwTs: 20.83/6.32 20.83/6.32 20.83/6.32 ---------------------------------------- 20.83/6.32 20.83/6.32 (143) 20.83/6.32 TRUE 20.83/6.32 20.83/6.32 ---------------------------------------- 20.83/6.32 20.83/6.32 (144) 20.83/6.32 Obligation: 20.83/6.32 Rules: 20.83/6.32 f102_out -> f116_out :|: TRUE 20.83/6.32 f116_in -> f102_in :|: TRUE 20.83/6.32 f104_in -> f106_in :|: TRUE 20.83/6.32 f106_out -> f104_out :|: TRUE 20.83/6.32 f108_out -> f104_out :|: TRUE 20.83/6.32 f104_in -> f108_in :|: TRUE 20.83/6.32 f108_in -> f116_in :|: TRUE 20.83/6.32 f118_out -> f108_out :|: TRUE 20.83/6.32 f116_out -> f108_out :|: TRUE 20.83/6.32 f108_in -> f118_in :|: TRUE 20.83/6.32 f102_in -> f104_in :|: TRUE 20.83/6.32 f104_out -> f102_out :|: TRUE 20.83/6.32 f6_in(T2) -> f7_in(T2) :|: TRUE 20.83/6.32 f7_out(x) -> f6_out(x) :|: TRUE 20.83/6.32 f31_out(x1) -> f7_out(x1) :|: TRUE 20.83/6.32 f7_in(x2) -> f30_in(x2) :|: TRUE 20.83/6.32 f30_out(x3) -> f7_out(x3) :|: TRUE 20.83/6.32 f7_in(x4) -> f31_in(x4) :|: TRUE 20.83/6.32 f31_in(x5) -> f38_in(x5) :|: TRUE 20.83/6.32 f38_out(x6) -> f31_out(x6) :|: TRUE 20.83/6.32 f36_out(x7) -> f31_out(x7) :|: TRUE 20.83/6.32 f31_in(x8) -> f36_in(x8) :|: TRUE 20.83/6.32 f55_out -> f38_out(x9) :|: TRUE 20.83/6.32 f38_in(x10) -> f55_in :|: TRUE 20.83/6.32 f54_out(T19) -> f38_out(T19) :|: TRUE 20.83/6.32 f38_in(x11) -> f54_in(x11) :|: TRUE 20.83/6.32 f79_out(x12) -> f54_out(x12) :|: TRUE 20.83/6.32 f78_out -> f79_in(x13) :|: TRUE 20.83/6.32 f54_in(x14) -> f78_in :|: TRUE 20.83/6.32 f121_out -> f124_in(x15) :|: TRUE 20.83/6.32 f79_in(x16) -> f121_in :|: TRUE 20.83/6.32 f124_out(x17) -> f79_out(x17) :|: TRUE 20.83/6.32 f140_out -> f121_out :|: TRUE 20.83/6.32 f121_in -> f140_in :|: TRUE 20.83/6.32 f140_in -> f159_in :|: TRUE 20.83/6.32 f140_in -> f156_in :|: TRUE 20.83/6.32 f159_out -> f140_out :|: TRUE 20.83/6.32 f156_out -> f140_out :|: TRUE 20.83/6.32 f226_out -> f159_out :|: TRUE 20.83/6.32 f159_in -> f224_in :|: TRUE 20.83/6.32 f159_in -> f226_in :|: TRUE 20.83/6.32 f224_out -> f159_out :|: TRUE 20.83/6.32 f226_in -> f486_in :|: TRUE 20.83/6.32 f486_out -> f226_out :|: TRUE 20.83/6.32 f226_in -> f487_in :|: TRUE 20.83/6.32 f487_out -> f226_out :|: TRUE 20.83/6.32 f502_out -> f486_out :|: TRUE 20.83/6.32 f500_out -> f502_in :|: TRUE 20.83/6.32 f486_in -> f500_in :|: TRUE 20.83/6.32 f78_out -> f500_out :|: TRUE 20.83/6.32 f500_in -> f78_in :|: TRUE 20.83/6.32 f84_out -> f78_out :|: TRUE 20.83/6.32 f78_in -> f84_in :|: TRUE 20.83/6.32 f85_out -> f84_out :|: TRUE 20.83/6.32 f84_in -> f85_in :|: TRUE 20.83/6.32 f91_out -> f85_out :|: TRUE 20.83/6.32 f85_in -> f91_in :|: TRUE 20.83/6.32 f91_in -> f93_in :|: TRUE 20.83/6.32 f93_out -> f91_out :|: TRUE 20.83/6.32 f98_out -> f93_out :|: TRUE 20.83/6.32 f93_in -> f98_in :|: TRUE 20.83/6.32 f102_out -> f98_out :|: TRUE 20.83/6.32 f98_in -> f102_in :|: TRUE 20.83/6.32 f579_out(x18) -> f124_out(x18) :|: TRUE 20.83/6.32 f124_in(x19) -> f578_in :|: TRUE 20.83/6.32 f578_out -> f579_in(x20) :|: TRUE 20.83/6.32 f121_out -> f578_out :|: TRUE 20.83/6.32 f578_in -> f121_in :|: TRUE 20.83/6.32 Start term: f6_in(T2) 20.83/6.32 20.83/6.32 ---------------------------------------- 20.83/6.32 20.83/6.32 (145) IRSwTSimpleDependencyGraphProof (EQUIVALENT) 20.83/6.32 Constructed simple dependency graph. 20.83/6.32 20.83/6.32 Simplified to the following IRSwTs: 20.83/6.32 20.83/6.32 intTRSProblem: 20.83/6.32 f116_in -> f102_in :|: TRUE 20.83/6.32 f104_in -> f108_in :|: TRUE 20.83/6.32 f108_in -> f116_in :|: TRUE 20.83/6.32 f102_in -> f104_in :|: TRUE 20.83/6.32 20.83/6.32 20.83/6.32 ---------------------------------------- 20.83/6.32 20.83/6.32 (146) 20.83/6.32 Obligation: 20.83/6.32 Rules: 20.83/6.32 f116_in -> f102_in :|: TRUE 20.83/6.32 f104_in -> f108_in :|: TRUE 20.83/6.32 f108_in -> f116_in :|: TRUE 20.83/6.32 f102_in -> f104_in :|: TRUE 20.83/6.32 20.83/6.32 ---------------------------------------- 20.83/6.32 20.83/6.32 (147) IntTRSCompressionProof (EQUIVALENT) 20.83/6.32 Compressed rules. 20.83/6.32 ---------------------------------------- 20.83/6.32 20.83/6.32 (148) 20.83/6.32 Obligation: 20.83/6.32 Rules: 20.83/6.32 f104_in -> f104_in :|: TRUE 20.83/6.32 20.83/6.32 ---------------------------------------- 20.83/6.32 20.83/6.32 (149) IRSFormatTransformerProof (EQUIVALENT) 20.83/6.32 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 20.83/6.32 ---------------------------------------- 20.83/6.32 20.83/6.32 (150) 20.83/6.32 Obligation: 20.83/6.32 Rules: 20.83/6.32 f104_in -> f104_in :|: TRUE 20.83/6.32 20.83/6.32 ---------------------------------------- 20.83/6.32 20.83/6.32 (151) IRSwTTerminationDigraphProof (EQUIVALENT) 20.83/6.32 Constructed termination digraph! 20.83/6.32 Nodes: 20.83/6.32 (1) f104_in -> f104_in :|: TRUE 20.83/6.32 20.83/6.32 Arcs: 20.83/6.32 (1) -> (1) 20.83/6.32 20.83/6.32 This digraph is fully evaluated! 20.83/6.32 ---------------------------------------- 20.83/6.32 20.83/6.32 (152) 20.83/6.32 Obligation: 20.83/6.32 20.83/6.32 Termination digraph: 20.83/6.32 Nodes: 20.83/6.32 (1) f104_in -> f104_in :|: TRUE 20.83/6.32 20.83/6.32 Arcs: 20.83/6.32 (1) -> (1) 20.83/6.32 20.83/6.32 This digraph is fully evaluated! 20.83/6.32 20.83/6.32 ---------------------------------------- 20.83/6.32 20.83/6.32 (153) FilterProof (EQUIVALENT) 20.83/6.32 Used the following sort dictionary for filtering: 20.83/6.32 f104_in() 20.83/6.32 Replaced non-predefined constructor symbols by 0. 20.83/6.32 ---------------------------------------- 20.83/6.32 20.83/6.32 (154) 20.83/6.32 Obligation: 20.83/6.32 Rules: 20.83/6.32 f104_in -> f104_in :|: TRUE 20.83/6.32 20.83/6.32 ---------------------------------------- 20.83/6.32 20.83/6.32 (155) IntTRSPeriodicNontermProof (COMPLETE) 20.83/6.32 Normalized system to the following form: 20.83/6.32 f(pc) -> f(1) :|: pc = 1 && TRUE 20.83/6.32 Witness term starting non-terminating reduction: f(1) 20.83/6.32 ---------------------------------------- 20.83/6.32 20.83/6.32 (156) 20.83/6.32 NO 20.83/6.32 20.83/6.32 ---------------------------------------- 20.83/6.32 20.83/6.32 (157) 20.83/6.32 Obligation: 20.83/6.32 Rules: 20.83/6.32 f140_in -> f159_in :|: TRUE 20.83/6.32 f140_in -> f156_in :|: TRUE 20.83/6.32 f159_out -> f140_out :|: TRUE 20.83/6.32 f156_out -> f140_out :|: TRUE 20.83/6.32 f110_in -> f110_out :|: TRUE 20.83/6.32 f574_in -> f545_in :|: TRUE 20.83/6.32 f545_out -> f574_out :|: TRUE 20.83/6.32 f554_in -> f558_in :|: TRUE 20.83/6.32 f554_in -> f557_in :|: TRUE 20.83/6.32 f558_out -> f554_out :|: TRUE 20.83/6.32 f557_out -> f554_out :|: TRUE 20.83/6.32 f102_in -> f104_in :|: TRUE 20.83/6.32 f104_out -> f102_out :|: TRUE 20.83/6.32 f108_in -> f116_in :|: TRUE 20.83/6.32 f118_out -> f108_out :|: TRUE 20.83/6.32 f116_out -> f108_out :|: TRUE 20.83/6.32 f108_in -> f118_in :|: TRUE 20.83/6.32 f91_out -> f85_out :|: TRUE 20.83/6.32 f85_in -> f91_in :|: TRUE 20.83/6.32 f84_out -> f78_out :|: TRUE 20.83/6.32 f78_in -> f84_in :|: TRUE 20.83/6.32 f575_out -> f567_out :|: TRUE 20.83/6.32 f574_out -> f567_out :|: TRUE 20.83/6.32 f567_in -> f575_in :|: TRUE 20.83/6.32 f567_in -> f574_in :|: TRUE 20.83/6.32 f226_in -> f486_in :|: TRUE 20.83/6.32 f486_out -> f226_out :|: TRUE 20.83/6.32 f226_in -> f487_in :|: TRUE 20.83/6.32 f487_out -> f226_out :|: TRUE 20.83/6.32 f78_out -> f500_out :|: TRUE 20.83/6.32 f500_in -> f78_in :|: TRUE 20.83/6.32 f544_in -> f121_in :|: TRUE 20.83/6.32 f121_out -> f544_out :|: TRUE 20.83/6.32 f102_out -> f116_out :|: TRUE 20.83/6.32 f116_in -> f102_in :|: TRUE 20.83/6.32 f502_out -> f486_out :|: TRUE 20.83/6.32 f500_out -> f502_in :|: TRUE 20.83/6.32 f486_in -> f500_in :|: TRUE 20.83/6.32 f551_in -> f551_out :|: TRUE 20.83/6.32 f104_in -> f106_in :|: TRUE 20.83/6.32 f106_out -> f104_out :|: TRUE 20.83/6.32 f108_out -> f104_out :|: TRUE 20.83/6.32 f104_in -> f108_in :|: TRUE 20.83/6.32 f106_in -> f110_in :|: TRUE 20.83/6.32 f112_out -> f106_out :|: TRUE 20.83/6.32 f106_in -> f112_in :|: TRUE 20.83/6.32 f110_out -> f106_out :|: TRUE 20.83/6.32 f552_out -> f549_out :|: TRUE 20.83/6.32 f549_in -> f552_in :|: TRUE 20.83/6.32 f549_in -> f551_in :|: TRUE 20.83/6.32 f551_out -> f549_out :|: TRUE 20.83/6.32 f226_out -> f159_out :|: TRUE 20.83/6.32 f159_in -> f224_in :|: TRUE 20.83/6.32 f159_in -> f226_in :|: TRUE 20.83/6.32 f224_out -> f159_out :|: TRUE 20.83/6.32 f102_out -> f98_out :|: TRUE 20.83/6.32 f98_in -> f102_in :|: TRUE 20.83/6.32 f91_in -> f93_in :|: TRUE 20.83/6.32 f93_out -> f91_out :|: TRUE 20.83/6.32 f548_in -> f549_in :|: TRUE 20.83/6.32 f548_in -> f550_in :|: TRUE 20.83/6.32 f550_out -> f548_out :|: TRUE 20.83/6.32 f549_out -> f548_out :|: TRUE 20.83/6.32 f140_out -> f121_out :|: TRUE 20.83/6.32 f121_in -> f140_in :|: TRUE 20.83/6.32 f524_in -> f121_in :|: TRUE 20.83/6.32 f121_out -> f524_out :|: TRUE 20.83/6.32 f555_in -> f567_in :|: TRUE 20.83/6.32 f569_out -> f555_out :|: TRUE 20.83/6.32 f555_in -> f569_in :|: TRUE 20.83/6.32 f567_out -> f555_out :|: TRUE 20.83/6.32 f557_in -> f557_out :|: TRUE 20.83/6.32 f502_in -> f524_in :|: TRUE 20.83/6.32 f525_out -> f502_out :|: TRUE 20.83/6.32 f524_out -> f525_in :|: TRUE 20.83/6.32 f85_out -> f84_out :|: TRUE 20.83/6.32 f84_in -> f85_in :|: TRUE 20.83/6.32 f545_in -> f548_in :|: TRUE 20.83/6.32 f548_out -> f545_out :|: TRUE 20.83/6.32 f525_in -> f544_in :|: TRUE 20.83/6.32 f544_out -> f545_in :|: TRUE 20.83/6.32 f545_out -> f525_out :|: TRUE 20.83/6.32 f550_in -> f554_in :|: TRUE 20.83/6.32 f555_out -> f550_out :|: TRUE 20.83/6.32 f550_in -> f555_in :|: TRUE 20.83/6.32 f554_out -> f550_out :|: TRUE 20.83/6.32 f98_out -> f93_out :|: TRUE 20.83/6.32 f93_in -> f98_in :|: TRUE 20.83/6.32 f6_in(T2) -> f7_in(T2) :|: TRUE 20.83/6.32 f7_out(x) -> f6_out(x) :|: TRUE 20.83/6.32 f31_out(x1) -> f7_out(x1) :|: TRUE 20.83/6.32 f7_in(x2) -> f30_in(x2) :|: TRUE 20.83/6.32 f30_out(x3) -> f7_out(x3) :|: TRUE 20.83/6.32 f7_in(x4) -> f31_in(x4) :|: TRUE 20.83/6.32 f31_in(x5) -> f38_in(x5) :|: TRUE 20.83/6.32 f38_out(x6) -> f31_out(x6) :|: TRUE 20.83/6.32 f36_out(x7) -> f31_out(x7) :|: TRUE 20.83/6.32 f31_in(x8) -> f36_in(x8) :|: TRUE 20.83/6.32 f55_out -> f38_out(x9) :|: TRUE 20.83/6.32 f38_in(x10) -> f55_in :|: TRUE 20.83/6.32 f54_out(T19) -> f38_out(T19) :|: TRUE 20.83/6.32 f38_in(x11) -> f54_in(x11) :|: TRUE 20.83/6.32 f79_out(x12) -> f54_out(x12) :|: TRUE 20.83/6.32 f78_out -> f79_in(x13) :|: TRUE 20.83/6.32 f54_in(x14) -> f78_in :|: TRUE 20.83/6.32 f121_out -> f124_in(x15) :|: TRUE 20.83/6.32 f79_in(x16) -> f121_in :|: TRUE 20.83/6.32 f124_out(x17) -> f79_out(x17) :|: TRUE 20.83/6.32 f579_out(x18) -> f124_out(x18) :|: TRUE 20.83/6.32 f124_in(x19) -> f578_in :|: TRUE 20.83/6.32 f578_out -> f579_in(x20) :|: TRUE 20.83/6.32 f121_out -> f578_out :|: TRUE 20.83/6.32 f578_in -> f121_in :|: TRUE 20.83/6.32 Start term: f6_in(T2) 20.83/6.32 20.83/6.32 ---------------------------------------- 20.83/6.32 20.83/6.32 (158) IRSwTSimpleDependencyGraphProof (EQUIVALENT) 20.83/6.32 Constructed simple dependency graph. 20.83/6.32 20.83/6.32 Simplified to the following IRSwTs: 20.83/6.32 20.83/6.32 intTRSProblem: 20.83/6.32 f140_in -> f159_in :|: TRUE 20.83/6.32 f110_in -> f110_out :|: TRUE 20.83/6.32 f102_in -> f104_in :|: TRUE 20.83/6.32 f104_out -> f102_out :|: TRUE 20.83/6.32 f108_in -> f116_in :|: TRUE 20.83/6.32 f116_out -> f108_out :|: TRUE 20.83/6.32 f91_out -> f85_out :|: TRUE 20.83/6.32 f85_in -> f91_in :|: TRUE 20.83/6.32 f84_out -> f78_out :|: TRUE 20.83/6.32 f78_in -> f84_in :|: TRUE 20.83/6.32 f226_in -> f486_in :|: TRUE 20.83/6.32 f78_out -> f500_out :|: TRUE 20.83/6.32 f500_in -> f78_in :|: TRUE 20.83/6.32 f102_out -> f116_out :|: TRUE 20.83/6.32 f116_in -> f102_in :|: TRUE 20.83/6.32 f500_out -> f502_in :|: TRUE 20.83/6.32 f486_in -> f500_in :|: TRUE 20.83/6.32 f104_in -> f106_in :|: TRUE 20.83/6.32 f106_out -> f104_out :|: TRUE 20.83/6.32 f108_out -> f104_out :|: TRUE 20.83/6.32 f104_in -> f108_in :|: TRUE 20.83/6.32 f106_in -> f110_in :|: TRUE 20.83/6.32 f110_out -> f106_out :|: TRUE 20.83/6.32 f159_in -> f226_in :|: TRUE 20.83/6.32 f102_out -> f98_out :|: TRUE 20.83/6.32 f98_in -> f102_in :|: TRUE 20.83/6.32 f91_in -> f93_in :|: TRUE 20.83/6.32 f93_out -> f91_out :|: TRUE 20.83/6.32 f121_in -> f140_in :|: TRUE 20.83/6.32 f524_in -> f121_in :|: TRUE 20.83/6.32 f502_in -> f524_in :|: TRUE 20.83/6.32 f85_out -> f84_out :|: TRUE 20.83/6.32 f84_in -> f85_in :|: TRUE 20.83/6.32 f98_out -> f93_out :|: TRUE 20.83/6.32 f93_in -> f98_in :|: TRUE 20.83/6.32 f78_out -> f79_in(x13) :|: TRUE 20.83/6.32 f79_in(x16) -> f121_in :|: TRUE 20.83/6.32 20.83/6.32 20.83/6.32 ---------------------------------------- 20.83/6.32 20.83/6.32 (159) 20.83/6.32 Obligation: 20.83/6.32 Rules: 20.83/6.32 f140_in -> f159_in :|: TRUE 20.83/6.32 f110_in -> f110_out :|: TRUE 20.83/6.32 f102_in -> f104_in :|: TRUE 20.83/6.32 f104_out -> f102_out :|: TRUE 20.83/6.32 f108_in -> f116_in :|: TRUE 20.83/6.32 f116_out -> f108_out :|: TRUE 20.83/6.32 f91_out -> f85_out :|: TRUE 20.83/6.32 f85_in -> f91_in :|: TRUE 20.83/6.32 f84_out -> f78_out :|: TRUE 20.83/6.32 f78_in -> f84_in :|: TRUE 20.83/6.32 f226_in -> f486_in :|: TRUE 20.83/6.32 f78_out -> f500_out :|: TRUE 20.83/6.32 f500_in -> f78_in :|: TRUE 20.83/6.32 f102_out -> f116_out :|: TRUE 20.83/6.32 f116_in -> f102_in :|: TRUE 20.83/6.32 f500_out -> f502_in :|: TRUE 20.83/6.32 f486_in -> f500_in :|: TRUE 20.83/6.32 f104_in -> f106_in :|: TRUE 20.83/6.32 f106_out -> f104_out :|: TRUE 20.83/6.32 f108_out -> f104_out :|: TRUE 20.83/6.32 f104_in -> f108_in :|: TRUE 20.83/6.32 f106_in -> f110_in :|: TRUE 20.83/6.32 f110_out -> f106_out :|: TRUE 20.83/6.32 f159_in -> f226_in :|: TRUE 20.83/6.32 f102_out -> f98_out :|: TRUE 20.83/6.32 f98_in -> f102_in :|: TRUE 20.83/6.32 f91_in -> f93_in :|: TRUE 20.83/6.32 f93_out -> f91_out :|: TRUE 20.83/6.32 f121_in -> f140_in :|: TRUE 20.83/6.32 f524_in -> f121_in :|: TRUE 20.83/6.32 f502_in -> f524_in :|: TRUE 20.83/6.32 f85_out -> f84_out :|: TRUE 20.83/6.32 f84_in -> f85_in :|: TRUE 20.83/6.32 f98_out -> f93_out :|: TRUE 20.83/6.32 f93_in -> f98_in :|: TRUE 20.83/6.32 f78_out -> f79_in(x13) :|: TRUE 20.83/6.32 f79_in(x16) -> f121_in :|: TRUE 20.83/6.32 20.83/6.32 ---------------------------------------- 20.83/6.32 20.83/6.32 (160) IntTRSCompressionProof (EQUIVALENT) 20.83/6.32 Compressed rules. 20.83/6.32 ---------------------------------------- 20.83/6.32 20.83/6.32 (161) 20.83/6.32 Obligation: 20.83/6.32 Rules: 20.83/6.32 f102_in -> f104_out :|: TRUE 20.83/6.32 f104_out -> f102_in :|: TRUE 20.83/6.32 f104_out -> f104_out :|: TRUE 20.83/6.32 f102_in -> f102_in :|: TRUE 20.83/6.32 20.83/6.32 ---------------------------------------- 20.83/6.32 20.83/6.32 (162) IRSFormatTransformerProof (EQUIVALENT) 20.83/6.32 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 20.83/6.32 ---------------------------------------- 20.83/6.32 20.83/6.32 (163) 20.83/6.32 Obligation: 20.83/6.32 Rules: 20.83/6.32 f102_in -> f104_out :|: TRUE 20.83/6.32 f104_out -> f102_in :|: TRUE 20.83/6.32 f104_out -> f104_out :|: TRUE 20.83/6.32 f102_in -> f102_in :|: TRUE 20.83/6.32 20.83/6.32 ---------------------------------------- 20.83/6.32 20.83/6.32 (164) IRSwTTerminationDigraphProof (EQUIVALENT) 20.83/6.32 Constructed termination digraph! 20.83/6.32 Nodes: 20.83/6.32 (1) f102_in -> f104_out :|: TRUE 20.83/6.32 (2) f104_out -> f102_in :|: TRUE 20.83/6.32 (3) f104_out -> f104_out :|: TRUE 20.83/6.32 (4) f102_in -> f102_in :|: TRUE 20.83/6.32 20.83/6.32 Arcs: 20.83/6.32 (1) -> (2), (3) 20.83/6.32 (2) -> (1), (4) 20.83/6.32 (3) -> (2), (3) 20.83/6.32 (4) -> (1), (4) 20.83/6.32 20.83/6.32 This digraph is fully evaluated! 20.83/6.32 ---------------------------------------- 20.83/6.32 20.83/6.32 (165) 20.83/6.32 Obligation: 20.83/6.32 20.83/6.32 Termination digraph: 20.83/6.32 Nodes: 20.83/6.32 (1) f102_in -> f104_out :|: TRUE 20.83/6.32 (2) f102_in -> f102_in :|: TRUE 20.83/6.32 (3) f104_out -> f102_in :|: TRUE 20.83/6.32 (4) f104_out -> f104_out :|: TRUE 20.83/6.32 20.83/6.32 Arcs: 20.83/6.32 (1) -> (3), (4) 20.83/6.32 (2) -> (1), (2) 20.83/6.32 (3) -> (1), (2) 20.83/6.32 (4) -> (3), (4) 20.83/6.32 20.83/6.32 This digraph is fully evaluated! 20.83/6.32 20.83/6.32 ---------------------------------------- 20.83/6.32 20.83/6.32 (166) FilterProof (EQUIVALENT) 20.83/6.32 Used the following sort dictionary for filtering: 20.83/6.32 f102_in() 20.83/6.32 f104_out() 20.83/6.32 Replaced non-predefined constructor symbols by 0. 20.83/6.32 ---------------------------------------- 20.83/6.32 20.83/6.32 (167) 20.83/6.32 Obligation: 20.83/6.32 Rules: 20.83/6.32 f102_in -> f104_out :|: TRUE 20.83/6.32 f102_in -> f102_in :|: TRUE 20.83/6.32 f104_out -> f102_in :|: TRUE 20.83/6.32 f104_out -> f104_out :|: TRUE 20.83/6.32 20.83/6.32 ---------------------------------------- 20.83/6.32 20.83/6.32 (168) IntTRSPeriodicNontermProof (COMPLETE) 20.83/6.32 Normalized system to the following form: 20.83/6.32 f(pc) -> f(2) :|: pc = 1 && TRUE 20.83/6.32 f(pc) -> f(1) :|: pc = 1 && TRUE 20.83/6.32 f(pc) -> f(1) :|: pc = 2 && TRUE 20.83/6.32 f(pc) -> f(2) :|: pc = 2 && TRUE 20.83/6.32 Witness term starting non-terminating reduction: f(2) 20.83/6.32 ---------------------------------------- 20.83/6.32 20.83/6.32 (169) 20.83/6.32 NO 20.83/6.32 20.83/6.32 ---------------------------------------- 20.83/6.32 20.83/6.32 (170) PrologToDTProblemTransformerProof (SOUND) 20.83/6.32 Built DT problem from termination graph DT10. 20.83/6.32 20.83/6.32 { 20.83/6.32 "root": 8, 20.83/6.32 "program": { 20.83/6.32 "directives": [], 20.83/6.32 "clauses": [ 20.83/6.32 [ 20.83/6.32 "(mergesort ([]) ([]))", 20.83/6.32 null 20.83/6.32 ], 20.83/6.32 [ 20.83/6.32 "(mergesort (. X ([])) (. X ([])))", 20.83/6.32 null 20.83/6.32 ], 20.83/6.32 [ 20.83/6.32 "(mergesort (. X (. Y Xs)) Ys)", 20.83/6.32 "(',' (split (. X (. Y Xs)) X1s X2s) (',' (mergesort X1s Y1s) (',' (mergesort X2s Y2s) (merge Y1s Y2s Ys))))" 20.83/6.32 ], 20.83/6.32 [ 20.83/6.32 "(split ([]) ([]) ([]))", 20.83/6.32 null 20.83/6.32 ], 20.83/6.32 [ 20.83/6.32 "(split (. X Xs) (. X Ys) Zs)", 20.83/6.32 "(split Xs Zs Ys)" 20.83/6.32 ], 20.83/6.32 [ 20.83/6.32 "(merge ([]) Xs Xs)", 20.83/6.32 null 20.83/6.32 ], 20.83/6.32 [ 20.83/6.32 "(merge Xs ([]) Xs)", 20.83/6.32 null 20.83/6.32 ], 20.83/6.32 [ 20.83/6.32 "(merge (. X Xs) (. Y Ys) (. X Zs))", 20.83/6.32 "(',' (= X Y) (merge (. X Xs) Ys Zs))" 20.83/6.32 ] 20.83/6.32 ] 20.83/6.32 }, 20.83/6.32 "graph": { 20.83/6.32 "nodes": { 20.83/6.32 "88": { 20.83/6.32 "goal": [ 20.83/6.32 { 20.83/6.32 "clause": 3, 20.83/6.32 "scope": 4, 20.83/6.32 "term": "(split T38 X49 X48)" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "clause": 4, 20.83/6.32 "scope": 4, 20.83/6.32 "term": "(split T38 X49 X48)" 20.83/6.32 } 20.83/6.32 ], 20.83/6.32 "kb": { 20.83/6.32 "nonunifying": [], 20.83/6.32 "intvars": {}, 20.83/6.32 "arithmetic": { 20.83/6.32 "type": "PlainIntegerRelationState", 20.83/6.32 "relations": [] 20.83/6.32 }, 20.83/6.32 "ground": [], 20.83/6.32 "free": [ 20.83/6.32 "X48", 20.83/6.32 "X49" 20.83/6.32 ], 20.83/6.32 "exprvars": [] 20.83/6.32 } 20.83/6.32 }, 20.83/6.32 "89": { 20.83/6.32 "goal": [{ 20.83/6.32 "clause": 3, 20.83/6.32 "scope": 4, 20.83/6.32 "term": "(split T38 X49 X48)" 20.83/6.32 }], 20.83/6.32 "kb": { 20.83/6.32 "nonunifying": [], 20.83/6.32 "intvars": {}, 20.83/6.32 "arithmetic": { 20.83/6.32 "type": "PlainIntegerRelationState", 20.83/6.32 "relations": [] 20.83/6.32 }, 20.83/6.32 "ground": [], 20.83/6.32 "free": [ 20.83/6.32 "X48", 20.83/6.32 "X49" 20.83/6.32 ], 20.83/6.32 "exprvars": [] 20.83/6.32 } 20.83/6.32 }, 20.83/6.32 "type": "Nodes", 20.83/6.32 "590": { 20.83/6.32 "goal": [ 20.83/6.32 { 20.83/6.32 "clause": 1, 20.83/6.32 "scope": 6, 20.83/6.32 "term": "(mergesort T65 X93)" 20.83/6.32 }, 20.83/6.32 { 20.83/6.32 "clause": 2, 20.83/6.32 "scope": 6, 20.83/6.32 "term": "(mergesort T65 X93)" 20.83/6.32 } 20.83/6.32 ], 20.83/6.32 "kb": { 20.83/6.32 "nonunifying": [], 20.83/6.32 "intvars": {}, 20.83/6.32 "arithmetic": { 20.83/6.32 "type": "PlainIntegerRelationState", 20.83/6.32 "relations": [] 20.83/6.32 }, 20.83/6.32 "ground": [], 20.83/6.32 "free": ["X93"], 20.83/6.32 "exprvars": [] 20.83/6.32 } 20.83/6.32 }, 20.83/6.32 "591": { 20.83/6.32 "goal": [{ 20.83/6.32 "clause": -1, 20.83/6.33 "scope": -1, 20.83/6.33 "term": "(true)" 20.83/6.33 }], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "592": { 20.83/6.33 "goal": [], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "593": { 20.83/6.33 "goal": [], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "594": { 20.83/6.33 "goal": [{ 20.83/6.33 "clause": 1, 20.83/6.33 "scope": 6, 20.83/6.33 "term": "(mergesort T65 X93)" 20.83/6.33 }], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": ["X93"], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "595": { 20.83/6.33 "goal": [{ 20.83/6.33 "clause": 2, 20.83/6.33 "scope": 6, 20.83/6.33 "term": "(mergesort T65 X93)" 20.83/6.33 }], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": ["X93"], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "596": { 20.83/6.33 "goal": [{ 20.83/6.33 "clause": -1, 20.83/6.33 "scope": -1, 20.83/6.33 "term": "(true)" 20.83/6.33 }], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "750": { 20.83/6.33 "goal": [{ 20.83/6.33 "clause": 7, 20.83/6.33 "scope": 12, 20.83/6.33 "term": "(merge T251 T250 T224)" 20.83/6.33 }], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [ 20.83/6.33 [ 20.83/6.33 "(mergesort T252 T224)", 20.83/6.33 "(mergesort ([]) ([]))" 20.83/6.33 ], 20.83/6.33 [ 20.83/6.33 "(mergesort T252 T224)", 20.83/6.33 "(mergesort (. X174 ([])) (. X174 ([])))" 20.83/6.33 ] 20.83/6.33 ], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": ["T224"], 20.83/6.33 "free": ["X174"], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "597": { 20.83/6.33 "goal": [], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "630": { 20.83/6.33 "goal": [], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "751": { 20.83/6.33 "goal": [{ 20.83/6.33 "clause": -1, 20.83/6.33 "scope": -1, 20.83/6.33 "term": "(true)" 20.83/6.33 }], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "598": { 20.83/6.33 "goal": [], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "631": { 20.83/6.33 "goal": [], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "752": { 20.83/6.33 "goal": [], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "599": { 20.83/6.33 "goal": [{ 20.83/6.33 "clause": -1, 20.83/6.33 "scope": -1, 20.83/6.33 "term": "(',' (split (. T83 (. T84 T85)) X119 X120) (',' (mergesort X119 X121) (',' (mergesort X120 X122) (merge X121 X122 X123))))" 20.83/6.33 }], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": [ 20.83/6.33 "X123", 20.83/6.33 "X119", 20.83/6.33 "X120", 20.83/6.33 "X121", 20.83/6.33 "X122" 20.83/6.33 ], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "632": { 20.83/6.33 "goal": [ 20.83/6.33 { 20.83/6.33 "clause": -1, 20.83/6.33 "scope": -1, 20.83/6.33 "term": "(true)" 20.83/6.33 }, 20.83/6.33 { 20.83/6.33 "clause": 2, 20.83/6.33 "scope": 1, 20.83/6.33 "term": "(mergesort T1 (. T140 ([])))" 20.83/6.33 } 20.83/6.33 ], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": ["T140"], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "753": { 20.83/6.33 "goal": [], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "633": { 20.83/6.33 "goal": [{ 20.83/6.33 "clause": 2, 20.83/6.33 "scope": 1, 20.83/6.33 "term": "(mergesort T1 T2)" 20.83/6.33 }], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [ 20.83/6.33 [ 20.83/6.33 "(mergesort T1 T2)", 20.83/6.33 "(mergesort ([]) ([]))" 20.83/6.33 ], 20.83/6.33 [ 20.83/6.33 "(mergesort T1 T2)", 20.83/6.33 "(mergesort (. X174 ([])) (. X174 ([])))" 20.83/6.33 ] 20.83/6.33 ], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": ["T2"], 20.83/6.33 "free": ["X174"], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "754": { 20.83/6.33 "goal": [{ 20.83/6.33 "clause": -1, 20.83/6.33 "scope": -1, 20.83/6.33 "term": "(',' (= T275 T280) (merge (. T275 T282) T281 T279))" 20.83/6.33 }], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [[ 20.83/6.33 "(mergesort T252 (. T275 T279))", 20.83/6.33 "(mergesort (. X174 ([])) (. X174 ([])))" 20.83/6.33 ]], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [ 20.83/6.33 "T275", 20.83/6.33 "T279" 20.83/6.33 ], 20.83/6.33 "free": ["X174"], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "90": { 20.83/6.33 "goal": [{ 20.83/6.33 "clause": 4, 20.83/6.33 "scope": 4, 20.83/6.33 "term": "(split T38 X49 X48)" 20.83/6.33 }], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": [ 20.83/6.33 "X48", 20.83/6.33 "X49" 20.83/6.33 ], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "634": { 20.83/6.33 "goal": [{ 20.83/6.33 "clause": 2, 20.83/6.33 "scope": 1, 20.83/6.33 "term": "(mergesort T1 (. T140 ([])))" 20.83/6.33 }], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": ["T140"], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "755": { 20.83/6.33 "goal": [], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "635": { 20.83/6.33 "goal": [{ 20.83/6.33 "clause": -1, 20.83/6.33 "scope": -1, 20.83/6.33 "term": "(',' (split (. T149 (. T150 T151)) X183 X184) (',' (mergesort X183 X185) (',' (mergesort X184 X186) (merge X185 X186 (. T148 ([]))))))" 20.83/6.33 }], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": ["T148"], 20.83/6.33 "free": [ 20.83/6.33 "X183", 20.83/6.33 "X184", 20.83/6.33 "X185", 20.83/6.33 "X186" 20.83/6.33 ], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "756": { 20.83/6.33 "goal": [{ 20.83/6.33 "clause": -1, 20.83/6.33 "scope": -1, 20.83/6.33 "term": "(merge (. T284 T286) T285 T279)" 20.83/6.33 }], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [[ 20.83/6.33 "(mergesort T252 (. T284 T279))", 20.83/6.33 "(mergesort (. X174 ([])) (. X174 ([])))" 20.83/6.33 ]], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [ 20.83/6.33 "T279", 20.83/6.33 "T284" 20.83/6.33 ], 20.83/6.33 "free": ["X174"], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "92": { 20.83/6.33 "goal": [{ 20.83/6.33 "clause": -1, 20.83/6.33 "scope": -1, 20.83/6.33 "term": "(true)" 20.83/6.33 }], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "119": { 20.83/6.33 "goal": [{ 20.83/6.33 "clause": -1, 20.83/6.33 "scope": -1, 20.83/6.33 "term": "(mergesort (. T30 T29) X12)" 20.83/6.33 }], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": ["X12"], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "636": { 20.83/6.33 "goal": [], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "757": { 20.83/6.33 "goal": [], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "637": { 20.83/6.33 "goal": [ 20.83/6.33 { 20.83/6.33 "clause": 3, 20.83/6.33 "scope": 9, 20.83/6.33 "term": "(',' (split (. T149 (. T150 T151)) X183 X184) (',' (mergesort X183 X185) (',' (mergesort X184 X186) (merge X185 X186 (. T148 ([]))))))" 20.83/6.33 }, 20.83/6.33 { 20.83/6.33 "clause": 4, 20.83/6.33 "scope": 9, 20.83/6.33 "term": "(',' (split (. T149 (. T150 T151)) X183 X184) (',' (mergesort X183 X185) (',' (mergesort X184 X186) (merge X185 X186 (. T148 ([]))))))" 20.83/6.33 } 20.83/6.33 ], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": ["T148"], 20.83/6.33 "free": [ 20.83/6.33 "X183", 20.83/6.33 "X184", 20.83/6.33 "X185", 20.83/6.33 "X186" 20.83/6.33 ], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "758": { 20.83/6.33 "goal": [ 20.83/6.33 { 20.83/6.33 "clause": 5, 20.83/6.33 "scope": 13, 20.83/6.33 "term": "(merge (. T284 T286) T285 T279)" 20.83/6.33 }, 20.83/6.33 { 20.83/6.33 "clause": 6, 20.83/6.33 "scope": 13, 20.83/6.33 "term": "(merge (. T284 T286) T285 T279)" 20.83/6.33 }, 20.83/6.33 { 20.83/6.33 "clause": 7, 20.83/6.33 "scope": 13, 20.83/6.33 "term": "(merge (. T284 T286) T285 T279)" 20.83/6.33 } 20.83/6.33 ], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [[ 20.83/6.33 "(mergesort T252 (. T284 T279))", 20.83/6.33 "(mergesort (. X174 ([])) (. X174 ([])))" 20.83/6.33 ]], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [ 20.83/6.33 "T279", 20.83/6.33 "T284" 20.83/6.33 ], 20.83/6.33 "free": ["X174"], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "638": { 20.83/6.33 "goal": [{ 20.83/6.33 "clause": 4, 20.83/6.33 "scope": 9, 20.83/6.33 "term": "(',' (split (. T149 (. T150 T151)) X183 X184) (',' (mergesort X183 X185) (',' (mergesort X184 X186) (merge X185 X186 (. T148 ([]))))))" 20.83/6.33 }], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": ["T148"], 20.83/6.33 "free": [ 20.83/6.33 "X183", 20.83/6.33 "X184", 20.83/6.33 "X185", 20.83/6.33 "X186" 20.83/6.33 ], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "759": { 20.83/6.33 "goal": [ 20.83/6.33 { 20.83/6.33 "clause": 6, 20.83/6.33 "scope": 13, 20.83/6.33 "term": "(merge (. T284 T286) T285 T279)" 20.83/6.33 }, 20.83/6.33 { 20.83/6.33 "clause": 7, 20.83/6.33 "scope": 13, 20.83/6.33 "term": "(merge (. T284 T286) T285 T279)" 20.83/6.33 } 20.83/6.33 ], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [[ 20.83/6.33 "(mergesort T252 (. T284 T279))", 20.83/6.33 "(mergesort (. X174 ([])) (. X174 ([])))" 20.83/6.33 ]], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [ 20.83/6.33 "T279", 20.83/6.33 "T284" 20.83/6.33 ], 20.83/6.33 "free": ["X174"], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "95": { 20.83/6.33 "goal": [], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "96": { 20.83/6.33 "goal": [], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "99": { 20.83/6.33 "goal": [{ 20.83/6.33 "clause": -1, 20.83/6.33 "scope": -1, 20.83/6.33 "term": "(split T45 X67 X66)" 20.83/6.33 }], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": [ 20.83/6.33 "X66", 20.83/6.33 "X67" 20.83/6.33 ], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "120": { 20.83/6.33 "goal": [{ 20.83/6.33 "clause": -1, 20.83/6.33 "scope": -1, 20.83/6.33 "term": "(',' (mergesort T47 X13) (merge T46 X13 ([])))" 20.83/6.33 }], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": ["X13"], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "760": { 20.83/6.33 "goal": [{ 20.83/6.33 "clause": 6, 20.83/6.33 "scope": 13, 20.83/6.33 "term": "(merge (. T284 T286) T285 T279)" 20.83/6.33 }], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [[ 20.83/6.33 "(mergesort T252 (. T284 T279))", 20.83/6.33 "(mergesort (. X174 ([])) (. X174 ([])))" 20.83/6.33 ]], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [ 20.83/6.33 "T279", 20.83/6.33 "T284" 20.83/6.33 ], 20.83/6.33 "free": ["X174"], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "761": { 20.83/6.33 "goal": [{ 20.83/6.33 "clause": 7, 20.83/6.33 "scope": 13, 20.83/6.33 "term": "(merge (. T284 T286) T285 T279)" 20.83/6.33 }], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [[ 20.83/6.33 "(mergesort T252 (. T284 T279))", 20.83/6.33 "(mergesort (. X174 ([])) (. X174 ([])))" 20.83/6.33 ]], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [ 20.83/6.33 "T279", 20.83/6.33 "T284" 20.83/6.33 ], 20.83/6.33 "free": ["X174"], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "762": { 20.83/6.33 "goal": [{ 20.83/6.33 "clause": -1, 20.83/6.33 "scope": -1, 20.83/6.33 "term": "(true)" 20.83/6.33 }], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "763": { 20.83/6.33 "goal": [], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "764": { 20.83/6.33 "goal": [], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "765": { 20.83/6.33 "goal": [{ 20.83/6.33 "clause": -1, 20.83/6.33 "scope": -1, 20.83/6.33 "term": "(',' (= T307 T312) (merge (. T307 T314) T313 T311))" 20.83/6.33 }], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [ 20.83/6.33 "T307", 20.83/6.33 "T311" 20.83/6.33 ], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "766": { 20.83/6.33 "goal": [], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "8": { 20.83/6.33 "goal": [{ 20.83/6.33 "clause": -1, 20.83/6.33 "scope": -1, 20.83/6.33 "term": "(mergesort T1 T2)" 20.83/6.33 }], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": ["T2"], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "767": { 20.83/6.33 "goal": [{ 20.83/6.33 "clause": -1, 20.83/6.33 "scope": -1, 20.83/6.33 "term": "(merge (. T316 T318) T317 T311)" 20.83/6.33 }], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [ 20.83/6.33 "T311", 20.83/6.33 "T316" 20.83/6.33 ], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "9": { 20.83/6.33 "goal": [ 20.83/6.33 { 20.83/6.33 "clause": 0, 20.83/6.33 "scope": 1, 20.83/6.33 "term": "(mergesort T1 T2)" 20.83/6.33 }, 20.83/6.33 { 20.83/6.33 "clause": 1, 20.83/6.33 "scope": 1, 20.83/6.33 "term": "(mergesort T1 T2)" 20.83/6.33 }, 20.83/6.33 { 20.83/6.33 "clause": 2, 20.83/6.33 "scope": 1, 20.83/6.33 "term": "(mergesort T1 T2)" 20.83/6.33 } 20.83/6.33 ], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": ["T2"], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "647": { 20.83/6.33 "goal": [{ 20.83/6.33 "clause": -1, 20.83/6.33 "scope": -1, 20.83/6.33 "term": "(',' (split (. T164 T165) X204 X203) (',' (mergesort (. T166 X203) X185) (',' (mergesort X204 X186) (merge X185 X186 (. T148 ([]))))))" 20.83/6.33 }], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": ["T148"], 20.83/6.33 "free": [ 20.83/6.33 "X185", 20.83/6.33 "X186", 20.83/6.33 "X203", 20.83/6.33 "X204" 20.83/6.33 ], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "768": { 20.83/6.33 "goal": [], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "769": { 20.83/6.33 "goal": [ 20.83/6.33 { 20.83/6.33 "clause": 5, 20.83/6.33 "scope": 14, 20.83/6.33 "term": "(merge (. T316 T318) T317 T311)" 20.83/6.33 }, 20.83/6.33 { 20.83/6.33 "clause": 6, 20.83/6.33 "scope": 14, 20.83/6.33 "term": "(merge (. T316 T318) T317 T311)" 20.83/6.33 }, 20.83/6.33 { 20.83/6.33 "clause": 7, 20.83/6.33 "scope": 14, 20.83/6.33 "term": "(merge (. T316 T318) T317 T311)" 20.83/6.33 } 20.83/6.33 ], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [ 20.83/6.33 "T311", 20.83/6.33 "T316" 20.83/6.33 ], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "26": { 20.83/6.33 "goal": [ 20.83/6.33 { 20.83/6.33 "clause": -1, 20.83/6.33 "scope": -1, 20.83/6.33 "term": "(true)" 20.83/6.33 }, 20.83/6.33 { 20.83/6.33 "clause": 1, 20.83/6.33 "scope": 1, 20.83/6.33 "term": "(mergesort T1 ([]))" 20.83/6.33 }, 20.83/6.33 { 20.83/6.33 "clause": 2, 20.83/6.33 "scope": 1, 20.83/6.33 "term": "(mergesort T1 ([]))" 20.83/6.33 } 20.83/6.33 ], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "29": { 20.83/6.33 "goal": [ 20.83/6.33 { 20.83/6.33 "clause": 1, 20.83/6.33 "scope": 1, 20.83/6.33 "term": "(mergesort T1 T2)" 20.83/6.33 }, 20.83/6.33 { 20.83/6.33 "clause": 2, 20.83/6.33 "scope": 1, 20.83/6.33 "term": "(mergesort T1 T2)" 20.83/6.33 } 20.83/6.33 ], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [[ 20.83/6.33 "(mergesort T1 T2)", 20.83/6.33 "(mergesort ([]) ([]))" 20.83/6.33 ]], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": ["T2"], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "132": { 20.83/6.33 "goal": [ 20.83/6.33 { 20.83/6.33 "clause": 0, 20.83/6.33 "scope": 5, 20.83/6.33 "term": "(mergesort (. T30 T29) X12)" 20.83/6.33 }, 20.83/6.33 { 20.83/6.33 "clause": 1, 20.83/6.33 "scope": 5, 20.83/6.33 "term": "(mergesort (. T30 T29) X12)" 20.83/6.33 }, 20.83/6.33 { 20.83/6.33 "clause": 2, 20.83/6.33 "scope": 5, 20.83/6.33 "term": "(mergesort (. T30 T29) X12)" 20.83/6.33 } 20.83/6.33 ], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": ["X12"], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "770": { 20.83/6.33 "goal": [ 20.83/6.33 { 20.83/6.33 "clause": 6, 20.83/6.33 "scope": 14, 20.83/6.33 "term": "(merge (. T316 T318) T317 T311)" 20.83/6.33 }, 20.83/6.33 { 20.83/6.33 "clause": 7, 20.83/6.33 "scope": 14, 20.83/6.33 "term": "(merge (. T316 T318) T317 T311)" 20.83/6.33 } 20.83/6.33 ], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [ 20.83/6.33 "T311", 20.83/6.33 "T316" 20.83/6.33 ], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "771": { 20.83/6.33 "goal": [{ 20.83/6.33 "clause": 6, 20.83/6.33 "scope": 14, 20.83/6.33 "term": "(merge (. T316 T318) T317 T311)" 20.83/6.33 }], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [ 20.83/6.33 "T311", 20.83/6.33 "T316" 20.83/6.33 ], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "134": { 20.83/6.33 "goal": [ 20.83/6.33 { 20.83/6.33 "clause": 1, 20.83/6.33 "scope": 5, 20.83/6.33 "term": "(mergesort (. T30 T29) X12)" 20.83/6.33 }, 20.83/6.33 { 20.83/6.33 "clause": 2, 20.83/6.33 "scope": 5, 20.83/6.33 "term": "(mergesort (. T30 T29) X12)" 20.83/6.33 } 20.83/6.33 ], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": ["X12"], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "772": { 20.83/6.33 "goal": [{ 20.83/6.33 "clause": 7, 20.83/6.33 "scope": 14, 20.83/6.33 "term": "(merge (. T316 T318) T317 T311)" 20.83/6.33 }], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [ 20.83/6.33 "T311", 20.83/6.33 "T316" 20.83/6.33 ], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "773": { 20.83/6.33 "goal": [{ 20.83/6.33 "clause": -1, 20.83/6.33 "scope": -1, 20.83/6.33 "term": "(true)" 20.83/6.33 }], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "774": { 20.83/6.33 "goal": [], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "775": { 20.83/6.33 "goal": [], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "655": { 20.83/6.33 "goal": [{ 20.83/6.33 "clause": -1, 20.83/6.33 "scope": -1, 20.83/6.33 "term": "(split (. T164 T165) X204 X203)" 20.83/6.33 }], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": [ 20.83/6.33 "X203", 20.83/6.33 "X204" 20.83/6.33 ], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "776": { 20.83/6.33 "goal": [{ 20.83/6.33 "clause": -1, 20.83/6.33 "scope": -1, 20.83/6.33 "term": "(',' (= T339 T344) (merge (. T339 T346) T345 T343))" 20.83/6.33 }], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [ 20.83/6.33 "T339", 20.83/6.33 "T343" 20.83/6.33 ], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "656": { 20.83/6.33 "goal": [{ 20.83/6.33 "clause": -1, 20.83/6.33 "scope": -1, 20.83/6.33 "term": "(',' (mergesort (. T169 T168) X185) (',' (mergesort T167 X186) (merge X185 X186 (. T148 ([])))))" 20.83/6.33 }], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": ["T148"], 20.83/6.33 "free": [ 20.83/6.33 "X185", 20.83/6.33 "X186" 20.83/6.33 ], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "777": { 20.83/6.33 "goal": [], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "657": { 20.83/6.33 "goal": [{ 20.83/6.33 "clause": -1, 20.83/6.33 "scope": -1, 20.83/6.33 "term": "(mergesort (. T169 T168) X185)" 20.83/6.33 }], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": ["X185"], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "778": { 20.83/6.33 "goal": [{ 20.83/6.33 "clause": -1, 20.83/6.33 "scope": -1, 20.83/6.33 "term": "(merge (. T348 T350) T349 T343)" 20.83/6.33 }], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [ 20.83/6.33 "T343", 20.83/6.33 "T348" 20.83/6.33 ], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "658": { 20.83/6.33 "goal": [{ 20.83/6.33 "clause": -1, 20.83/6.33 "scope": -1, 20.83/6.33 "term": "(',' (mergesort T171 X186) (merge T170 X186 (. T148 ([]))))" 20.83/6.33 }], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": ["T148"], 20.83/6.33 "free": ["X186"], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "779": { 20.83/6.33 "goal": [], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "659": { 20.83/6.33 "goal": [{ 20.83/6.33 "clause": -1, 20.83/6.33 "scope": -1, 20.83/6.33 "term": "(mergesort T171 X186)" 20.83/6.33 }], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": ["X186"], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "660": { 20.83/6.33 "goal": [{ 20.83/6.33 "clause": -1, 20.83/6.33 "scope": -1, 20.83/6.33 "term": "(merge T173 T172 (. T148 ([])))" 20.83/6.33 }], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": ["T148"], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "661": { 20.83/6.33 "goal": [ 20.83/6.33 { 20.83/6.33 "clause": 5, 20.83/6.33 "scope": 10, 20.83/6.33 "term": "(merge T173 T172 (. T148 ([])))" 20.83/6.33 }, 20.83/6.33 { 20.83/6.33 "clause": 6, 20.83/6.33 "scope": 10, 20.83/6.33 "term": "(merge T173 T172 (. T148 ([])))" 20.83/6.33 }, 20.83/6.33 { 20.83/6.33 "clause": 7, 20.83/6.33 "scope": 10, 20.83/6.33 "term": "(merge T173 T172 (. T148 ([])))" 20.83/6.33 } 20.83/6.33 ], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": ["T148"], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "662": { 20.83/6.33 "goal": [{ 20.83/6.33 "clause": 5, 20.83/6.33 "scope": 10, 20.83/6.33 "term": "(merge T173 T172 (. T148 ([])))" 20.83/6.33 }], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": ["T148"], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "663": { 20.83/6.33 "goal": [ 20.83/6.33 { 20.83/6.33 "clause": 6, 20.83/6.33 "scope": 10, 20.83/6.33 "term": "(merge T173 T172 (. T148 ([])))" 20.83/6.33 }, 20.83/6.33 { 20.83/6.33 "clause": 7, 20.83/6.33 "scope": 10, 20.83/6.33 "term": "(merge T173 T172 (. T148 ([])))" 20.83/6.33 } 20.83/6.33 ], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": ["T148"], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "46": { 20.83/6.33 "goal": [ 20.83/6.33 { 20.83/6.33 "clause": 1, 20.83/6.33 "scope": 1, 20.83/6.33 "term": "(mergesort T1 ([]))" 20.83/6.33 }, 20.83/6.33 { 20.83/6.33 "clause": 2, 20.83/6.33 "scope": 1, 20.83/6.33 "term": "(mergesort T1 ([]))" 20.83/6.33 } 20.83/6.33 ], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "47": { 20.83/6.33 "goal": [{ 20.83/6.33 "clause": 2, 20.83/6.33 "scope": 1, 20.83/6.33 "term": "(mergesort T1 ([]))" 20.83/6.33 }], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "50": { 20.83/6.33 "goal": [{ 20.83/6.33 "clause": -1, 20.83/6.33 "scope": -1, 20.83/6.33 "term": "(',' (split (. T10 (. T11 T12)) X10 X11) (',' (mergesort X10 X12) (',' (mergesort X11 X13) (merge X12 X13 ([])))))" 20.83/6.33 }], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": [ 20.83/6.33 "X10", 20.83/6.33 "X11", 20.83/6.33 "X12", 20.83/6.33 "X13" 20.83/6.33 ], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "51": { 20.83/6.33 "goal": [], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "52": { 20.83/6.33 "goal": [ 20.83/6.33 { 20.83/6.33 "clause": 3, 20.83/6.33 "scope": 2, 20.83/6.33 "term": "(',' (split (. T10 (. T11 T12)) X10 X11) (',' (mergesort X10 X12) (',' (mergesort X11 X13) (merge X12 X13 ([])))))" 20.83/6.33 }, 20.83/6.33 { 20.83/6.33 "clause": 4, 20.83/6.33 "scope": 2, 20.83/6.33 "term": "(',' (split (. T10 (. T11 T12)) X10 X11) (',' (mergesort X10 X12) (',' (mergesort X11 X13) (merge X12 X13 ([])))))" 20.83/6.33 } 20.83/6.33 ], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": [ 20.83/6.33 "X10", 20.83/6.33 "X11", 20.83/6.33 "X12", 20.83/6.33 "X13" 20.83/6.33 ], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "53": { 20.83/6.33 "goal": [{ 20.83/6.33 "clause": 4, 20.83/6.33 "scope": 2, 20.83/6.33 "term": "(',' (split (. T10 (. T11 T12)) X10 X11) (',' (mergesort X10 X12) (',' (mergesort X11 X13) (merge X12 X13 ([])))))" 20.83/6.33 }], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": [ 20.83/6.33 "X10", 20.83/6.33 "X11", 20.83/6.33 "X12", 20.83/6.33 "X13" 20.83/6.33 ], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "56": { 20.83/6.33 "goal": [{ 20.83/6.33 "clause": -1, 20.83/6.33 "scope": -1, 20.83/6.33 "term": "(',' (split (. T25 T26) X31 X30) (',' (mergesort (. T27 X30) X12) (',' (mergesort X31 X13) (merge X12 X13 ([])))))" 20.83/6.33 }], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": [ 20.83/6.33 "X12", 20.83/6.33 "X13", 20.83/6.33 "X30", 20.83/6.33 "X31" 20.83/6.33 ], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "600": { 20.83/6.33 "goal": [], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "601": { 20.83/6.33 "goal": [{ 20.83/6.33 "clause": -1, 20.83/6.33 "scope": -1, 20.83/6.33 "term": "(mergesort T68 X94)" 20.83/6.33 }], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": ["X94"], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "602": { 20.83/6.33 "goal": [{ 20.83/6.33 "clause": -1, 20.83/6.33 "scope": -1, 20.83/6.33 "term": "(merge T87 T86 X95)" 20.83/6.33 }], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": ["X95"], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "603": { 20.83/6.33 "goal": [ 20.83/6.33 { 20.83/6.33 "clause": 5, 20.83/6.33 "scope": 7, 20.83/6.33 "term": "(merge T87 T86 X95)" 20.83/6.33 }, 20.83/6.33 { 20.83/6.33 "clause": 6, 20.83/6.33 "scope": 7, 20.83/6.33 "term": "(merge T87 T86 X95)" 20.83/6.33 }, 20.83/6.33 { 20.83/6.33 "clause": 7, 20.83/6.33 "scope": 7, 20.83/6.33 "term": "(merge T87 T86 X95)" 20.83/6.33 } 20.83/6.33 ], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": ["X95"], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "604": { 20.83/6.33 "goal": [{ 20.83/6.33 "clause": 5, 20.83/6.33 "scope": 7, 20.83/6.33 "term": "(merge T87 T86 X95)" 20.83/6.33 }], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": ["X95"], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "605": { 20.83/6.33 "goal": [ 20.83/6.33 { 20.83/6.33 "clause": 6, 20.83/6.33 "scope": 7, 20.83/6.33 "term": "(merge T87 T86 X95)" 20.83/6.33 }, 20.83/6.33 { 20.83/6.33 "clause": 7, 20.83/6.33 "scope": 7, 20.83/6.33 "term": "(merge T87 T86 X95)" 20.83/6.33 } 20.83/6.33 ], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": ["X95"], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "606": { 20.83/6.33 "goal": [{ 20.83/6.33 "clause": -1, 20.83/6.33 "scope": -1, 20.83/6.33 "term": "(true)" 20.83/6.33 }], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "607": { 20.83/6.33 "goal": [], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "728": { 20.83/6.33 "goal": [{ 20.83/6.33 "clause": -1, 20.83/6.33 "scope": -1, 20.83/6.33 "term": "(',' (= T206 T210) (merge (. T206 T212) T211 ([])))" 20.83/6.33 }], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": ["T206"], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "608": { 20.83/6.33 "goal": [], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "729": { 20.83/6.33 "goal": [], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "609": { 20.83/6.33 "goal": [{ 20.83/6.33 "clause": 6, 20.83/6.33 "scope": 7, 20.83/6.33 "term": "(merge T87 T86 X95)" 20.83/6.33 }], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": ["X95"], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "172": { 20.83/6.33 "goal": [{ 20.83/6.33 "clause": 1, 20.83/6.33 "scope": 5, 20.83/6.33 "term": "(mergesort (. T30 T29) X12)" 20.83/6.33 }], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": ["X12"], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "692": { 20.83/6.33 "goal": [{ 20.83/6.33 "clause": -1, 20.83/6.33 "scope": -1, 20.83/6.33 "term": "(true)" 20.83/6.33 }], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "176": { 20.83/6.33 "goal": [{ 20.83/6.33 "clause": 2, 20.83/6.33 "scope": 5, 20.83/6.33 "term": "(mergesort (. T30 T29) X12)" 20.83/6.33 }], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": ["X12"], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "572": { 20.83/6.33 "goal": [], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "693": { 20.83/6.33 "goal": [], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "573": { 20.83/6.33 "goal": [], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "694": { 20.83/6.33 "goal": [], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "695": { 20.83/6.33 "goal": [{ 20.83/6.33 "clause": 6, 20.83/6.33 "scope": 10, 20.83/6.33 "term": "(merge T173 T172 (. T148 ([])))" 20.83/6.33 }], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": ["T148"], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "696": { 20.83/6.33 "goal": [{ 20.83/6.33 "clause": 7, 20.83/6.33 "scope": 10, 20.83/6.33 "term": "(merge T173 T172 (. T148 ([])))" 20.83/6.33 }], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": ["T148"], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "576": { 20.83/6.33 "goal": [{ 20.83/6.33 "clause": -1, 20.83/6.33 "scope": -1, 20.83/6.33 "term": "(',' (split (. T62 (. T63 T64)) X91 X92) (',' (mergesort X91 X93) (',' (mergesort X92 X94) (merge X93 X94 X95))))" 20.83/6.33 }], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": [ 20.83/6.33 "X95", 20.83/6.33 "X91", 20.83/6.33 "X92", 20.83/6.33 "X93", 20.83/6.33 "X94" 20.83/6.33 ], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "697": { 20.83/6.33 "goal": [{ 20.83/6.33 "clause": -1, 20.83/6.33 "scope": -1, 20.83/6.33 "term": "(true)" 20.83/6.33 }], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "730": { 20.83/6.33 "goal": [{ 20.83/6.33 "clause": -1, 20.83/6.33 "scope": -1, 20.83/6.33 "term": "(merge (. T214 T216) T215 ([]))" 20.83/6.33 }], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": ["T214"], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "577": { 20.83/6.33 "goal": [], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "610": { 20.83/6.33 "goal": [{ 20.83/6.33 "clause": 7, 20.83/6.33 "scope": 7, 20.83/6.33 "term": "(merge T87 T86 X95)" 20.83/6.33 }], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": ["X95"], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "698": { 20.83/6.33 "goal": [], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "731": { 20.83/6.33 "goal": [], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.33 "intvars": {}, 20.83/6.33 "arithmetic": { 20.83/6.33 "type": "PlainIntegerRelationState", 20.83/6.33 "relations": [] 20.83/6.33 }, 20.83/6.33 "ground": [], 20.83/6.33 "free": [], 20.83/6.33 "exprvars": [] 20.83/6.33 } 20.83/6.33 }, 20.83/6.33 "611": { 20.83/6.33 "goal": [{ 20.83/6.33 "clause": -1, 20.83/6.33 "scope": -1, 20.83/6.33 "term": "(true)" 20.83/6.33 }], 20.83/6.33 "kb": { 20.83/6.33 "nonunifying": [], 20.83/6.34 "intvars": {}, 20.83/6.34 "arithmetic": { 20.83/6.34 "type": "PlainIntegerRelationState", 20.83/6.34 "relations": [] 20.83/6.34 }, 20.83/6.34 "ground": [], 20.83/6.34 "free": [], 20.83/6.34 "exprvars": [] 20.83/6.34 } 20.83/6.34 }, 20.83/6.34 "699": { 20.83/6.34 "goal": [], 20.83/6.34 "kb": { 20.83/6.34 "nonunifying": [], 20.83/6.34 "intvars": {}, 20.83/6.34 "arithmetic": { 20.83/6.34 "type": "PlainIntegerRelationState", 20.83/6.34 "relations": [] 20.83/6.34 }, 20.83/6.34 "ground": [], 20.83/6.34 "free": [], 20.83/6.34 "exprvars": [] 20.83/6.34 } 20.83/6.34 }, 20.83/6.34 "732": { 20.83/6.34 "goal": [{ 20.83/6.34 "clause": -1, 20.83/6.34 "scope": -1, 20.83/6.34 "term": "(',' (split (. T225 (. T226 T227)) X242 X243) (',' (mergesort X242 X244) (',' (mergesort X243 X245) (merge X244 X245 T224))))" 20.83/6.34 }], 20.83/6.34 "kb": { 20.83/6.34 "nonunifying": [ 20.83/6.34 [ 20.83/6.34 "(mergesort T1 T224)", 20.83/6.34 "(mergesort ([]) ([]))" 20.83/6.34 ], 20.83/6.34 [ 20.83/6.34 "(mergesort T1 T224)", 20.83/6.34 "(mergesort (. X174 ([])) (. X174 ([])))" 20.83/6.34 ] 20.83/6.34 ], 20.83/6.34 "intvars": {}, 20.83/6.34 "arithmetic": { 20.83/6.34 "type": "PlainIntegerRelationState", 20.83/6.34 "relations": [] 20.83/6.34 }, 20.83/6.34 "ground": ["T224"], 20.83/6.34 "free": [ 20.83/6.34 "X174", 20.83/6.34 "X242", 20.83/6.34 "X243", 20.83/6.34 "X244", 20.83/6.34 "X245" 20.83/6.34 ], 20.83/6.34 "exprvars": [] 20.83/6.34 } 20.83/6.34 }, 20.83/6.34 "612": { 20.83/6.34 "goal": [], 20.83/6.34 "kb": { 20.83/6.34 "nonunifying": [], 20.83/6.34 "intvars": {}, 20.83/6.34 "arithmetic": { 20.83/6.34 "type": "PlainIntegerRelationState", 20.83/6.34 "relations": [] 20.83/6.34 }, 20.83/6.34 "ground": [], 20.83/6.34 "free": [], 20.83/6.34 "exprvars": [] 20.83/6.34 } 20.83/6.34 }, 20.83/6.34 "733": { 20.83/6.34 "goal": [], 20.83/6.34 "kb": { 20.83/6.34 "nonunifying": [], 20.83/6.34 "intvars": {}, 20.83/6.34 "arithmetic": { 20.83/6.34 "type": "PlainIntegerRelationState", 20.83/6.34 "relations": [] 20.83/6.34 }, 20.83/6.34 "ground": [], 20.83/6.34 "free": [], 20.83/6.34 "exprvars": [] 20.83/6.34 } 20.83/6.34 }, 20.83/6.34 "613": { 20.83/6.34 "goal": [], 20.83/6.34 "kb": { 20.83/6.34 "nonunifying": [], 20.83/6.34 "intvars": {}, 20.83/6.34 "arithmetic": { 20.83/6.34 "type": "PlainIntegerRelationState", 20.83/6.34 "relations": [] 20.83/6.34 }, 20.83/6.34 "ground": [], 20.83/6.34 "free": [], 20.83/6.34 "exprvars": [] 20.83/6.34 } 20.83/6.34 }, 20.83/6.34 "734": { 20.83/6.34 "goal": [ 20.83/6.34 { 20.83/6.34 "clause": 3, 20.83/6.34 "scope": 11, 20.83/6.34 "term": "(',' (split (. T225 (. T226 T227)) X242 X243) (',' (mergesort X242 X244) (',' (mergesort X243 X245) (merge X244 X245 T224))))" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "clause": 4, 20.83/6.34 "scope": 11, 20.83/6.34 "term": "(',' (split (. T225 (. T226 T227)) X242 X243) (',' (mergesort X242 X244) (',' (mergesort X243 X245) (merge X244 X245 T224))))" 20.83/6.34 } 20.83/6.34 ], 20.83/6.34 "kb": { 20.83/6.34 "nonunifying": [ 20.83/6.34 [ 20.83/6.34 "(mergesort T1 T224)", 20.83/6.34 "(mergesort ([]) ([]))" 20.83/6.34 ], 20.83/6.34 [ 20.83/6.34 "(mergesort T1 T224)", 20.83/6.34 "(mergesort (. X174 ([])) (. X174 ([])))" 20.83/6.34 ] 20.83/6.34 ], 20.83/6.34 "intvars": {}, 20.83/6.34 "arithmetic": { 20.83/6.34 "type": "PlainIntegerRelationState", 20.83/6.34 "relations": [] 20.83/6.34 }, 20.83/6.34 "ground": ["T224"], 20.83/6.34 "free": [ 20.83/6.34 "X174", 20.83/6.34 "X242", 20.83/6.34 "X243", 20.83/6.34 "X244", 20.83/6.34 "X245" 20.83/6.34 ], 20.83/6.34 "exprvars": [] 20.83/6.34 } 20.83/6.34 }, 20.83/6.34 "614": { 20.83/6.34 "goal": [{ 20.83/6.34 "clause": -1, 20.83/6.34 "scope": -1, 20.83/6.34 "term": "(',' (= T112 T113) (merge (. T112 T115) T114 X153))" 20.83/6.34 }], 20.83/6.34 "kb": { 20.83/6.34 "nonunifying": [], 20.83/6.34 "intvars": {}, 20.83/6.34 "arithmetic": { 20.83/6.34 "type": "PlainIntegerRelationState", 20.83/6.34 "relations": [] 20.83/6.34 }, 20.83/6.34 "ground": [], 20.83/6.34 "free": ["X153"], 20.83/6.34 "exprvars": [] 20.83/6.34 } 20.83/6.34 }, 20.83/6.34 "735": { 20.83/6.34 "goal": [{ 20.83/6.34 "clause": 4, 20.83/6.34 "scope": 11, 20.83/6.34 "term": "(',' (split (. T225 (. T226 T227)) X242 X243) (',' (mergesort X242 X244) (',' (mergesort X243 X245) (merge X244 X245 T224))))" 20.83/6.34 }], 20.83/6.34 "kb": { 20.83/6.34 "nonunifying": [ 20.83/6.34 [ 20.83/6.34 "(mergesort T1 T224)", 20.83/6.34 "(mergesort ([]) ([]))" 20.83/6.34 ], 20.83/6.34 [ 20.83/6.34 "(mergesort T1 T224)", 20.83/6.34 "(mergesort (. X174 ([])) (. X174 ([])))" 20.83/6.34 ] 20.83/6.34 ], 20.83/6.34 "intvars": {}, 20.83/6.34 "arithmetic": { 20.83/6.34 "type": "PlainIntegerRelationState", 20.83/6.34 "relations": [] 20.83/6.34 }, 20.83/6.34 "ground": ["T224"], 20.83/6.34 "free": [ 20.83/6.34 "X174", 20.83/6.34 "X242", 20.83/6.34 "X243", 20.83/6.34 "X244", 20.83/6.34 "X245" 20.83/6.34 ], 20.83/6.34 "exprvars": [] 20.83/6.34 } 20.83/6.34 }, 20.83/6.34 "615": { 20.83/6.34 "goal": [], 20.83/6.34 "kb": { 20.83/6.34 "nonunifying": [], 20.83/6.34 "intvars": {}, 20.83/6.34 "arithmetic": { 20.83/6.34 "type": "PlainIntegerRelationState", 20.83/6.34 "relations": [] 20.83/6.34 }, 20.83/6.34 "ground": [], 20.83/6.34 "free": [], 20.83/6.34 "exprvars": [] 20.83/6.34 } 20.83/6.34 }, 20.83/6.34 "736": { 20.83/6.34 "goal": [{ 20.83/6.34 "clause": -1, 20.83/6.34 "scope": -1, 20.83/6.34 "term": "(',' (split (. T240 T241) X263 X262) (',' (mergesort (. T242 X262) X244) (',' (mergesort X263 X245) (merge X244 X245 T224))))" 20.83/6.34 }], 20.83/6.34 "kb": { 20.83/6.34 "nonunifying": [ 20.83/6.34 [ 20.83/6.34 "(mergesort T1 T224)", 20.83/6.34 "(mergesort ([]) ([]))" 20.83/6.34 ], 20.83/6.34 [ 20.83/6.34 "(mergesort T1 T224)", 20.83/6.34 "(mergesort (. X174 ([])) (. X174 ([])))" 20.83/6.34 ] 20.83/6.34 ], 20.83/6.34 "intvars": {}, 20.83/6.34 "arithmetic": { 20.83/6.34 "type": "PlainIntegerRelationState", 20.83/6.34 "relations": [] 20.83/6.34 }, 20.83/6.34 "ground": ["T224"], 20.83/6.34 "free": [ 20.83/6.34 "X174", 20.83/6.34 "X244", 20.83/6.34 "X245", 20.83/6.34 "X262", 20.83/6.34 "X263" 20.83/6.34 ], 20.83/6.34 "exprvars": [] 20.83/6.34 } 20.83/6.34 }, 20.83/6.34 "616": { 20.83/6.34 "goal": [{ 20.83/6.34 "clause": -1, 20.83/6.34 "scope": -1, 20.83/6.34 "term": "(merge (. T119 T120) T118 X153)" 20.83/6.34 }], 20.83/6.34 "kb": { 20.83/6.34 "nonunifying": [], 20.83/6.34 "intvars": {}, 20.83/6.34 "arithmetic": { 20.83/6.34 "type": "PlainIntegerRelationState", 20.83/6.34 "relations": [] 20.83/6.34 }, 20.83/6.34 "ground": [], 20.83/6.34 "free": ["X153"], 20.83/6.34 "exprvars": [] 20.83/6.34 } 20.83/6.34 }, 20.83/6.34 "737": { 20.83/6.34 "goal": [{ 20.83/6.34 "clause": -1, 20.83/6.34 "scope": -1, 20.83/6.34 "term": "(split (. T240 T241) X263 X262)" 20.83/6.34 }], 20.83/6.34 "kb": { 20.83/6.34 "nonunifying": [], 20.83/6.34 "intvars": {}, 20.83/6.34 "arithmetic": { 20.83/6.34 "type": "PlainIntegerRelationState", 20.83/6.34 "relations": [] 20.83/6.34 }, 20.83/6.34 "ground": [], 20.83/6.34 "free": [ 20.83/6.34 "X262", 20.83/6.34 "X263" 20.83/6.34 ], 20.83/6.34 "exprvars": [] 20.83/6.34 } 20.83/6.34 }, 20.83/6.34 "617": { 20.83/6.34 "goal": [], 20.83/6.34 "kb": { 20.83/6.34 "nonunifying": [], 20.83/6.34 "intvars": {}, 20.83/6.34 "arithmetic": { 20.83/6.34 "type": "PlainIntegerRelationState", 20.83/6.34 "relations": [] 20.83/6.34 }, 20.83/6.34 "ground": [], 20.83/6.34 "free": [], 20.83/6.34 "exprvars": [] 20.83/6.34 } 20.83/6.34 }, 20.83/6.34 "738": { 20.83/6.34 "goal": [{ 20.83/6.34 "clause": -1, 20.83/6.34 "scope": -1, 20.83/6.34 "term": "(',' (mergesort (. T245 T244) X244) (',' (mergesort T243 X245) (merge X244 X245 T224)))" 20.83/6.34 }], 20.83/6.34 "kb": { 20.83/6.34 "nonunifying": [ 20.83/6.34 [ 20.83/6.34 "(mergesort T246 T224)", 20.83/6.34 "(mergesort ([]) ([]))" 20.83/6.34 ], 20.83/6.34 [ 20.83/6.34 "(mergesort T246 T224)", 20.83/6.34 "(mergesort (. X174 ([])) (. X174 ([])))" 20.83/6.34 ] 20.83/6.34 ], 20.83/6.34 "intvars": {}, 20.83/6.34 "arithmetic": { 20.83/6.34 "type": "PlainIntegerRelationState", 20.83/6.34 "relations": [] 20.83/6.34 }, 20.83/6.34 "ground": ["T224"], 20.83/6.34 "free": [ 20.83/6.34 "X174", 20.83/6.34 "X244", 20.83/6.34 "X245" 20.83/6.34 ], 20.83/6.34 "exprvars": [] 20.83/6.34 } 20.83/6.34 }, 20.83/6.34 "74": { 20.83/6.34 "goal": [{ 20.83/6.34 "clause": -1, 20.83/6.34 "scope": -1, 20.83/6.34 "term": "(split (. T25 T26) X31 X30)" 20.83/6.34 }], 20.83/6.34 "kb": { 20.83/6.34 "nonunifying": [], 20.83/6.34 "intvars": {}, 20.83/6.34 "arithmetic": { 20.83/6.34 "type": "PlainIntegerRelationState", 20.83/6.34 "relations": [] 20.83/6.34 }, 20.83/6.34 "ground": [], 20.83/6.34 "free": [ 20.83/6.34 "X30", 20.83/6.34 "X31" 20.83/6.34 ], 20.83/6.34 "exprvars": [] 20.83/6.34 } 20.83/6.34 }, 20.83/6.34 "618": { 20.83/6.34 "goal": [{ 20.83/6.34 "clause": -1, 20.83/6.34 "scope": -1, 20.83/6.34 "term": "(mergesort T47 X13)" 20.83/6.34 }], 20.83/6.34 "kb": { 20.83/6.34 "nonunifying": [], 20.83/6.34 "intvars": {}, 20.83/6.34 "arithmetic": { 20.83/6.34 "type": "PlainIntegerRelationState", 20.83/6.34 "relations": [] 20.83/6.34 }, 20.83/6.34 "ground": [], 20.83/6.34 "free": ["X13"], 20.83/6.34 "exprvars": [] 20.83/6.34 } 20.83/6.34 }, 20.83/6.34 "739": { 20.83/6.34 "goal": [{ 20.83/6.34 "clause": -1, 20.83/6.34 "scope": -1, 20.83/6.34 "term": "(mergesort (. T245 T244) X244)" 20.83/6.34 }], 20.83/6.34 "kb": { 20.83/6.34 "nonunifying": [], 20.83/6.34 "intvars": {}, 20.83/6.34 "arithmetic": { 20.83/6.34 "type": "PlainIntegerRelationState", 20.83/6.34 "relations": [] 20.83/6.34 }, 20.83/6.34 "ground": [], 20.83/6.34 "free": ["X244"], 20.83/6.34 "exprvars": [] 20.83/6.34 } 20.83/6.34 }, 20.83/6.34 "619": { 20.83/6.34 "goal": [{ 20.83/6.34 "clause": -1, 20.83/6.34 "scope": -1, 20.83/6.34 "term": "(merge T122 T121 ([]))" 20.83/6.34 }], 20.83/6.34 "kb": { 20.83/6.34 "nonunifying": [], 20.83/6.34 "intvars": {}, 20.83/6.34 "arithmetic": { 20.83/6.34 "type": "PlainIntegerRelationState", 20.83/6.34 "relations": [] 20.83/6.34 }, 20.83/6.34 "ground": [], 20.83/6.34 "free": [], 20.83/6.34 "exprvars": [] 20.83/6.34 } 20.83/6.34 }, 20.83/6.34 "77": { 20.83/6.34 "goal": [{ 20.83/6.34 "clause": -1, 20.83/6.34 "scope": -1, 20.83/6.34 "term": "(',' (mergesort (. T30 T29) X12) (',' (mergesort T28 X13) (merge X12 X13 ([]))))" 20.83/6.34 }], 20.83/6.34 "kb": { 20.83/6.34 "nonunifying": [], 20.83/6.34 "intvars": {}, 20.83/6.34 "arithmetic": { 20.83/6.34 "type": "PlainIntegerRelationState", 20.83/6.34 "relations": [] 20.83/6.34 }, 20.83/6.34 "ground": [], 20.83/6.34 "free": [ 20.83/6.34 "X12", 20.83/6.34 "X13" 20.83/6.34 ], 20.83/6.34 "exprvars": [] 20.83/6.34 } 20.83/6.34 }, 20.83/6.34 "461": { 20.83/6.34 "goal": [{ 20.83/6.34 "clause": -1, 20.83/6.34 "scope": -1, 20.83/6.34 "term": "(true)" 20.83/6.34 }], 20.83/6.34 "kb": { 20.83/6.34 "nonunifying": [], 20.83/6.34 "intvars": {}, 20.83/6.34 "arithmetic": { 20.83/6.34 "type": "PlainIntegerRelationState", 20.83/6.34 "relations": [] 20.83/6.34 }, 20.83/6.34 "ground": [], 20.83/6.34 "free": [], 20.83/6.34 "exprvars": [] 20.83/6.34 } 20.83/6.34 }, 20.83/6.34 "582": { 20.83/6.34 "goal": [{ 20.83/6.34 "clause": -1, 20.83/6.34 "scope": -1, 20.83/6.34 "term": "(split (. T62 (. T63 T64)) X91 X92)" 20.83/6.34 }], 20.83/6.34 "kb": { 20.83/6.34 "nonunifying": [], 20.83/6.34 "intvars": {}, 20.83/6.34 "arithmetic": { 20.83/6.34 "type": "PlainIntegerRelationState", 20.83/6.34 "relations": [] 20.83/6.34 }, 20.83/6.34 "ground": [], 20.83/6.34 "free": [ 20.83/6.34 "X91", 20.83/6.34 "X92" 20.83/6.34 ], 20.83/6.34 "exprvars": [] 20.83/6.34 } 20.83/6.34 }, 20.83/6.34 "583": { 20.83/6.34 "goal": [{ 20.83/6.34 "clause": -1, 20.83/6.34 "scope": -1, 20.83/6.34 "term": "(',' (mergesort T65 X93) (',' (mergesort T66 X94) (merge X93 X94 X95)))" 20.83/6.34 }], 20.83/6.34 "kb": { 20.83/6.34 "nonunifying": [], 20.83/6.34 "intvars": {}, 20.83/6.34 "arithmetic": { 20.83/6.34 "type": "PlainIntegerRelationState", 20.83/6.34 "relations": [] 20.83/6.34 }, 20.83/6.34 "ground": [], 20.83/6.34 "free": [ 20.83/6.34 "X95", 20.83/6.34 "X93", 20.83/6.34 "X94" 20.83/6.34 ], 20.83/6.34 "exprvars": [] 20.83/6.34 } 20.83/6.34 }, 20.83/6.34 "100": { 20.83/6.34 "goal": [], 20.83/6.34 "kb": { 20.83/6.34 "nonunifying": [], 20.83/6.34 "intvars": {}, 20.83/6.34 "arithmetic": { 20.83/6.34 "type": "PlainIntegerRelationState", 20.83/6.34 "relations": [] 20.83/6.34 }, 20.83/6.34 "ground": [], 20.83/6.34 "free": [], 20.83/6.34 "exprvars": [] 20.83/6.34 } 20.83/6.34 }, 20.83/6.34 "586": { 20.83/6.34 "goal": [{ 20.83/6.34 "clause": -1, 20.83/6.34 "scope": -1, 20.83/6.34 "term": "(mergesort T65 X93)" 20.83/6.34 }], 20.83/6.34 "kb": { 20.83/6.34 "nonunifying": [], 20.83/6.34 "intvars": {}, 20.83/6.34 "arithmetic": { 20.83/6.34 "type": "PlainIntegerRelationState", 20.83/6.34 "relations": [] 20.83/6.34 }, 20.83/6.34 "ground": [], 20.83/6.34 "free": ["X93"], 20.83/6.34 "exprvars": [] 20.83/6.34 } 20.83/6.34 }, 20.83/6.34 "740": { 20.83/6.34 "goal": [{ 20.83/6.34 "clause": -1, 20.83/6.34 "scope": -1, 20.83/6.34 "term": "(',' (mergesort T248 X245) (merge T247 X245 T224))" 20.83/6.34 }], 20.83/6.34 "kb": { 20.83/6.34 "nonunifying": [ 20.83/6.34 [ 20.83/6.34 "(mergesort T249 T224)", 20.83/6.34 "(mergesort ([]) ([]))" 20.83/6.34 ], 20.83/6.34 [ 20.83/6.34 "(mergesort T249 T224)", 20.83/6.34 "(mergesort (. X174 ([])) (. X174 ([])))" 20.83/6.34 ] 20.83/6.34 ], 20.83/6.34 "intvars": {}, 20.83/6.34 "arithmetic": { 20.83/6.34 "type": "PlainIntegerRelationState", 20.83/6.34 "relations": [] 20.83/6.34 }, 20.83/6.34 "ground": ["T224"], 20.83/6.34 "free": [ 20.83/6.34 "X174", 20.83/6.34 "X245" 20.83/6.34 ], 20.83/6.34 "exprvars": [] 20.83/6.34 } 20.83/6.34 }, 20.83/6.34 "587": { 20.83/6.34 "goal": [{ 20.83/6.34 "clause": -1, 20.83/6.34 "scope": -1, 20.83/6.34 "term": "(',' (mergesort T68 X94) (merge T67 X94 X95))" 20.83/6.34 }], 20.83/6.34 "kb": { 20.83/6.34 "nonunifying": [], 20.83/6.34 "intvars": {}, 20.83/6.34 "arithmetic": { 20.83/6.34 "type": "PlainIntegerRelationState", 20.83/6.34 "relations": [] 20.83/6.34 }, 20.83/6.34 "ground": [], 20.83/6.34 "free": [ 20.83/6.34 "X95", 20.83/6.34 "X94" 20.83/6.34 ], 20.83/6.34 "exprvars": [] 20.83/6.34 } 20.83/6.34 }, 20.83/6.34 "620": { 20.83/6.34 "goal": [ 20.83/6.34 { 20.83/6.34 "clause": 5, 20.83/6.34 "scope": 8, 20.83/6.34 "term": "(merge T122 T121 ([]))" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "clause": 6, 20.83/6.34 "scope": 8, 20.83/6.34 "term": "(merge T122 T121 ([]))" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "clause": 7, 20.83/6.34 "scope": 8, 20.83/6.34 "term": "(merge T122 T121 ([]))" 20.83/6.34 } 20.83/6.34 ], 20.83/6.34 "kb": { 20.83/6.34 "nonunifying": [], 20.83/6.34 "intvars": {}, 20.83/6.34 "arithmetic": { 20.83/6.34 "type": "PlainIntegerRelationState", 20.83/6.34 "relations": [] 20.83/6.34 }, 20.83/6.34 "ground": [], 20.83/6.34 "free": [], 20.83/6.34 "exprvars": [] 20.83/6.34 } 20.83/6.34 }, 20.83/6.34 "741": { 20.83/6.34 "goal": [{ 20.83/6.34 "clause": -1, 20.83/6.34 "scope": -1, 20.83/6.34 "term": "(mergesort T248 X245)" 20.83/6.34 }], 20.83/6.34 "kb": { 20.83/6.34 "nonunifying": [], 20.83/6.34 "intvars": {}, 20.83/6.34 "arithmetic": { 20.83/6.34 "type": "PlainIntegerRelationState", 20.83/6.34 "relations": [] 20.83/6.34 }, 20.83/6.34 "ground": [], 20.83/6.34 "free": ["X245"], 20.83/6.34 "exprvars": [] 20.83/6.34 } 20.83/6.34 }, 20.83/6.34 "588": { 20.83/6.34 "goal": [ 20.83/6.34 { 20.83/6.34 "clause": 0, 20.83/6.34 "scope": 6, 20.83/6.34 "term": "(mergesort T65 X93)" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "clause": 1, 20.83/6.34 "scope": 6, 20.83/6.34 "term": "(mergesort T65 X93)" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "clause": 2, 20.83/6.34 "scope": 6, 20.83/6.34 "term": "(mergesort T65 X93)" 20.83/6.34 } 20.83/6.34 ], 20.83/6.34 "kb": { 20.83/6.34 "nonunifying": [], 20.83/6.34 "intvars": {}, 20.83/6.34 "arithmetic": { 20.83/6.34 "type": "PlainIntegerRelationState", 20.83/6.34 "relations": [] 20.83/6.34 }, 20.83/6.34 "ground": [], 20.83/6.34 "free": ["X93"], 20.83/6.34 "exprvars": [] 20.83/6.34 } 20.83/6.34 }, 20.83/6.34 "621": { 20.83/6.34 "goal": [{ 20.83/6.34 "clause": 5, 20.83/6.34 "scope": 8, 20.83/6.34 "term": "(merge T122 T121 ([]))" 20.83/6.34 }], 20.83/6.34 "kb": { 20.83/6.34 "nonunifying": [], 20.83/6.34 "intvars": {}, 20.83/6.34 "arithmetic": { 20.83/6.34 "type": "PlainIntegerRelationState", 20.83/6.34 "relations": [] 20.83/6.34 }, 20.83/6.34 "ground": [], 20.83/6.34 "free": [], 20.83/6.34 "exprvars": [] 20.83/6.34 } 20.83/6.34 }, 20.83/6.34 "742": { 20.83/6.34 "goal": [{ 20.83/6.34 "clause": -1, 20.83/6.34 "scope": -1, 20.83/6.34 "term": "(merge T251 T250 T224)" 20.83/6.34 }], 20.83/6.34 "kb": { 20.83/6.34 "nonunifying": [ 20.83/6.34 [ 20.83/6.34 "(mergesort T252 T224)", 20.83/6.34 "(mergesort ([]) ([]))" 20.83/6.34 ], 20.83/6.34 [ 20.83/6.34 "(mergesort T252 T224)", 20.83/6.34 "(mergesort (. X174 ([])) (. X174 ([])))" 20.83/6.34 ] 20.83/6.34 ], 20.83/6.34 "intvars": {}, 20.83/6.34 "arithmetic": { 20.83/6.34 "type": "PlainIntegerRelationState", 20.83/6.34 "relations": [] 20.83/6.34 }, 20.83/6.34 "ground": ["T224"], 20.83/6.34 "free": ["X174"], 20.83/6.34 "exprvars": [] 20.83/6.34 } 20.83/6.34 }, 20.83/6.34 "589": { 20.83/6.34 "goal": [{ 20.83/6.34 "clause": 0, 20.83/6.34 "scope": 6, 20.83/6.34 "term": "(mergesort T65 X93)" 20.83/6.34 }], 20.83/6.34 "kb": { 20.83/6.34 "nonunifying": [], 20.83/6.34 "intvars": {}, 20.83/6.34 "arithmetic": { 20.83/6.34 "type": "PlainIntegerRelationState", 20.83/6.34 "relations": [] 20.83/6.34 }, 20.83/6.34 "ground": [], 20.83/6.34 "free": ["X93"], 20.83/6.34 "exprvars": [] 20.83/6.34 } 20.83/6.34 }, 20.83/6.34 "622": { 20.83/6.34 "goal": [ 20.83/6.34 { 20.83/6.34 "clause": 6, 20.83/6.34 "scope": 8, 20.83/6.34 "term": "(merge T122 T121 ([]))" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "clause": 7, 20.83/6.34 "scope": 8, 20.83/6.34 "term": "(merge T122 T121 ([]))" 20.83/6.34 } 20.83/6.34 ], 20.83/6.34 "kb": { 20.83/6.34 "nonunifying": [], 20.83/6.34 "intvars": {}, 20.83/6.34 "arithmetic": { 20.83/6.34 "type": "PlainIntegerRelationState", 20.83/6.34 "relations": [] 20.83/6.34 }, 20.83/6.34 "ground": [], 20.83/6.34 "free": [], 20.83/6.34 "exprvars": [] 20.83/6.34 } 20.83/6.34 }, 20.83/6.34 "743": { 20.83/6.34 "goal": [ 20.83/6.34 { 20.83/6.34 "clause": 5, 20.83/6.34 "scope": 12, 20.83/6.34 "term": "(merge T251 T250 T224)" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "clause": 6, 20.83/6.34 "scope": 12, 20.83/6.34 "term": "(merge T251 T250 T224)" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "clause": 7, 20.83/6.34 "scope": 12, 20.83/6.34 "term": "(merge T251 T250 T224)" 20.83/6.34 } 20.83/6.34 ], 20.83/6.34 "kb": { 20.83/6.34 "nonunifying": [ 20.83/6.34 [ 20.83/6.34 "(mergesort T252 T224)", 20.83/6.34 "(mergesort ([]) ([]))" 20.83/6.34 ], 20.83/6.34 [ 20.83/6.34 "(mergesort T252 T224)", 20.83/6.34 "(mergesort (. X174 ([])) (. X174 ([])))" 20.83/6.34 ] 20.83/6.34 ], 20.83/6.34 "intvars": {}, 20.83/6.34 "arithmetic": { 20.83/6.34 "type": "PlainIntegerRelationState", 20.83/6.34 "relations": [] 20.83/6.34 }, 20.83/6.34 "ground": ["T224"], 20.83/6.34 "free": ["X174"], 20.83/6.34 "exprvars": [] 20.83/6.34 } 20.83/6.34 }, 20.83/6.34 "623": { 20.83/6.34 "goal": [{ 20.83/6.34 "clause": -1, 20.83/6.34 "scope": -1, 20.83/6.34 "term": "(true)" 20.83/6.34 }], 20.83/6.34 "kb": { 20.83/6.34 "nonunifying": [], 20.83/6.34 "intvars": {}, 20.83/6.34 "arithmetic": { 20.83/6.34 "type": "PlainIntegerRelationState", 20.83/6.34 "relations": [] 20.83/6.34 }, 20.83/6.34 "ground": [], 20.83/6.34 "free": [], 20.83/6.34 "exprvars": [] 20.83/6.34 } 20.83/6.34 }, 20.83/6.34 "744": { 20.83/6.34 "goal": [{ 20.83/6.34 "clause": 5, 20.83/6.34 "scope": 12, 20.83/6.34 "term": "(merge T251 T250 T224)" 20.83/6.34 }], 20.83/6.34 "kb": { 20.83/6.34 "nonunifying": [ 20.83/6.34 [ 20.83/6.34 "(mergesort T252 T224)", 20.83/6.34 "(mergesort ([]) ([]))" 20.83/6.34 ], 20.83/6.34 [ 20.83/6.34 "(mergesort T252 T224)", 20.83/6.34 "(mergesort (. X174 ([])) (. X174 ([])))" 20.83/6.34 ] 20.83/6.34 ], 20.83/6.34 "intvars": {}, 20.83/6.34 "arithmetic": { 20.83/6.34 "type": "PlainIntegerRelationState", 20.83/6.34 "relations": [] 20.83/6.34 }, 20.83/6.34 "ground": ["T224"], 20.83/6.34 "free": ["X174"], 20.83/6.34 "exprvars": [] 20.83/6.34 } 20.83/6.34 }, 20.83/6.34 "80": { 20.83/6.34 "goal": [ 20.83/6.34 { 20.83/6.34 "clause": 3, 20.83/6.34 "scope": 3, 20.83/6.34 "term": "(split (. T25 T26) X31 X30)" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "clause": 4, 20.83/6.34 "scope": 3, 20.83/6.34 "term": "(split (. T25 T26) X31 X30)" 20.83/6.34 } 20.83/6.34 ], 20.83/6.34 "kb": { 20.83/6.34 "nonunifying": [], 20.83/6.34 "intvars": {}, 20.83/6.34 "arithmetic": { 20.83/6.34 "type": "PlainIntegerRelationState", 20.83/6.34 "relations": [] 20.83/6.34 }, 20.83/6.34 "ground": [], 20.83/6.34 "free": [ 20.83/6.34 "X30", 20.83/6.34 "X31" 20.83/6.34 ], 20.83/6.34 "exprvars": [] 20.83/6.34 } 20.83/6.34 }, 20.83/6.34 "624": { 20.83/6.34 "goal": [], 20.83/6.34 "kb": { 20.83/6.34 "nonunifying": [], 20.83/6.34 "intvars": {}, 20.83/6.34 "arithmetic": { 20.83/6.34 "type": "PlainIntegerRelationState", 20.83/6.34 "relations": [] 20.83/6.34 }, 20.83/6.34 "ground": [], 20.83/6.34 "free": [], 20.83/6.34 "exprvars": [] 20.83/6.34 } 20.83/6.34 }, 20.83/6.34 "745": { 20.83/6.34 "goal": [ 20.83/6.34 { 20.83/6.34 "clause": 6, 20.83/6.34 "scope": 12, 20.83/6.34 "term": "(merge T251 T250 T224)" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "clause": 7, 20.83/6.34 "scope": 12, 20.83/6.34 "term": "(merge T251 T250 T224)" 20.83/6.34 } 20.83/6.34 ], 20.83/6.34 "kb": { 20.83/6.34 "nonunifying": [ 20.83/6.34 [ 20.83/6.34 "(mergesort T252 T224)", 20.83/6.34 "(mergesort ([]) ([]))" 20.83/6.34 ], 20.83/6.34 [ 20.83/6.34 "(mergesort T252 T224)", 20.83/6.34 "(mergesort (. X174 ([])) (. X174 ([])))" 20.83/6.34 ] 20.83/6.34 ], 20.83/6.34 "intvars": {}, 20.83/6.34 "arithmetic": { 20.83/6.34 "type": "PlainIntegerRelationState", 20.83/6.34 "relations": [] 20.83/6.34 }, 20.83/6.34 "ground": ["T224"], 20.83/6.34 "free": ["X174"], 20.83/6.34 "exprvars": [] 20.83/6.34 } 20.83/6.34 }, 20.83/6.34 "625": { 20.83/6.34 "goal": [], 20.83/6.34 "kb": { 20.83/6.34 "nonunifying": [], 20.83/6.34 "intvars": {}, 20.83/6.34 "arithmetic": { 20.83/6.34 "type": "PlainIntegerRelationState", 20.83/6.34 "relations": [] 20.83/6.34 }, 20.83/6.34 "ground": [], 20.83/6.34 "free": [], 20.83/6.34 "exprvars": [] 20.83/6.34 } 20.83/6.34 }, 20.83/6.34 "746": { 20.83/6.34 "goal": [{ 20.83/6.34 "clause": -1, 20.83/6.34 "scope": -1, 20.83/6.34 "term": "(true)" 20.83/6.34 }], 20.83/6.34 "kb": { 20.83/6.34 "nonunifying": [], 20.83/6.34 "intvars": {}, 20.83/6.34 "arithmetic": { 20.83/6.34 "type": "PlainIntegerRelationState", 20.83/6.34 "relations": [] 20.83/6.34 }, 20.83/6.34 "ground": [], 20.83/6.34 "free": [], 20.83/6.34 "exprvars": [] 20.83/6.34 } 20.83/6.34 }, 20.83/6.34 "82": { 20.83/6.34 "goal": [{ 20.83/6.34 "clause": 4, 20.83/6.34 "scope": 3, 20.83/6.34 "term": "(split (. T25 T26) X31 X30)" 20.83/6.34 }], 20.83/6.34 "kb": { 20.83/6.34 "nonunifying": [], 20.83/6.34 "intvars": {}, 20.83/6.34 "arithmetic": { 20.83/6.34 "type": "PlainIntegerRelationState", 20.83/6.34 "relations": [] 20.83/6.34 }, 20.83/6.34 "ground": [], 20.83/6.34 "free": [ 20.83/6.34 "X30", 20.83/6.34 "X31" 20.83/6.34 ], 20.83/6.34 "exprvars": [] 20.83/6.34 } 20.83/6.34 }, 20.83/6.34 "626": { 20.83/6.34 "goal": [{ 20.83/6.34 "clause": 6, 20.83/6.34 "scope": 8, 20.83/6.34 "term": "(merge T122 T121 ([]))" 20.83/6.34 }], 20.83/6.34 "kb": { 20.83/6.34 "nonunifying": [], 20.83/6.34 "intvars": {}, 20.83/6.34 "arithmetic": { 20.83/6.34 "type": "PlainIntegerRelationState", 20.83/6.34 "relations": [] 20.83/6.34 }, 20.83/6.34 "ground": [], 20.83/6.34 "free": [], 20.83/6.34 "exprvars": [] 20.83/6.34 } 20.83/6.34 }, 20.83/6.34 "747": { 20.83/6.34 "goal": [], 20.83/6.34 "kb": { 20.83/6.34 "nonunifying": [], 20.83/6.34 "intvars": {}, 20.83/6.34 "arithmetic": { 20.83/6.34 "type": "PlainIntegerRelationState", 20.83/6.34 "relations": [] 20.83/6.34 }, 20.83/6.34 "ground": [], 20.83/6.34 "free": [], 20.83/6.34 "exprvars": [] 20.83/6.34 } 20.83/6.34 }, 20.83/6.34 "627": { 20.83/6.34 "goal": [{ 20.83/6.34 "clause": 7, 20.83/6.34 "scope": 8, 20.83/6.34 "term": "(merge T122 T121 ([]))" 20.83/6.34 }], 20.83/6.34 "kb": { 20.83/6.34 "nonunifying": [], 20.83/6.34 "intvars": {}, 20.83/6.34 "arithmetic": { 20.83/6.34 "type": "PlainIntegerRelationState", 20.83/6.34 "relations": [] 20.83/6.34 }, 20.83/6.34 "ground": [], 20.83/6.34 "free": [], 20.83/6.34 "exprvars": [] 20.83/6.34 } 20.83/6.34 }, 20.83/6.34 "748": { 20.83/6.34 "goal": [], 20.83/6.34 "kb": { 20.83/6.34 "nonunifying": [], 20.83/6.34 "intvars": {}, 20.83/6.34 "arithmetic": { 20.83/6.34 "type": "PlainIntegerRelationState", 20.83/6.34 "relations": [] 20.83/6.34 }, 20.83/6.34 "ground": [], 20.83/6.34 "free": [], 20.83/6.34 "exprvars": [] 20.83/6.34 } 20.83/6.34 }, 20.83/6.34 "628": { 20.83/6.34 "goal": [{ 20.83/6.34 "clause": -1, 20.83/6.34 "scope": -1, 20.83/6.34 "term": "(true)" 20.83/6.34 }], 20.83/6.34 "kb": { 20.83/6.34 "nonunifying": [], 20.83/6.34 "intvars": {}, 20.83/6.34 "arithmetic": { 20.83/6.34 "type": "PlainIntegerRelationState", 20.83/6.34 "relations": [] 20.83/6.34 }, 20.83/6.34 "ground": [], 20.83/6.34 "free": [], 20.83/6.34 "exprvars": [] 20.83/6.34 } 20.83/6.34 }, 20.83/6.34 "749": { 20.83/6.34 "goal": [{ 20.83/6.34 "clause": 6, 20.83/6.34 "scope": 12, 20.83/6.34 "term": "(merge T251 T250 T224)" 20.83/6.34 }], 20.83/6.34 "kb": { 20.83/6.34 "nonunifying": [ 20.83/6.34 [ 20.83/6.34 "(mergesort T252 T224)", 20.83/6.34 "(mergesort ([]) ([]))" 20.83/6.34 ], 20.83/6.34 [ 20.83/6.34 "(mergesort T252 T224)", 20.83/6.34 "(mergesort (. X174 ([])) (. X174 ([])))" 20.83/6.34 ] 20.83/6.34 ], 20.83/6.34 "intvars": {}, 20.83/6.34 "arithmetic": { 20.83/6.34 "type": "PlainIntegerRelationState", 20.83/6.34 "relations": [] 20.83/6.34 }, 20.83/6.34 "ground": ["T224"], 20.83/6.34 "free": ["X174"], 20.83/6.34 "exprvars": [] 20.83/6.34 } 20.83/6.34 }, 20.83/6.34 "629": { 20.83/6.34 "goal": [], 20.83/6.34 "kb": { 20.83/6.34 "nonunifying": [], 20.83/6.34 "intvars": {}, 20.83/6.34 "arithmetic": { 20.83/6.34 "type": "PlainIntegerRelationState", 20.83/6.34 "relations": [] 20.83/6.34 }, 20.83/6.34 "ground": [], 20.83/6.34 "free": [], 20.83/6.34 "exprvars": [] 20.83/6.34 } 20.83/6.34 }, 20.83/6.34 "86": { 20.83/6.34 "goal": [{ 20.83/6.34 "clause": -1, 20.83/6.34 "scope": -1, 20.83/6.34 "term": "(split T38 X49 X48)" 20.83/6.34 }], 20.83/6.34 "kb": { 20.83/6.34 "nonunifying": [], 20.83/6.34 "intvars": {}, 20.83/6.34 "arithmetic": { 20.83/6.34 "type": "PlainIntegerRelationState", 20.83/6.34 "relations": [] 20.83/6.34 }, 20.83/6.34 "ground": [], 20.83/6.34 "free": [ 20.83/6.34 "X48", 20.83/6.34 "X49" 20.83/6.34 ], 20.83/6.34 "exprvars": [] 20.83/6.34 } 20.83/6.34 } 20.83/6.34 }, 20.83/6.34 "edges": [ 20.83/6.34 { 20.83/6.34 "from": 8, 20.83/6.34 "to": 9, 20.83/6.34 "label": "CASE" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 9, 20.83/6.34 "to": 26, 20.83/6.34 "label": "EVAL with clause\nmergesort([], []).\nand substitutionT1 -> [],\nT2 -> []" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 9, 20.83/6.34 "to": 29, 20.83/6.34 "label": "EVAL-BACKTRACK" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 26, 20.83/6.34 "to": 46, 20.83/6.34 "label": "SUCCESS" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 29, 20.83/6.34 "to": 632, 20.83/6.34 "label": "EVAL with clause\nmergesort(.(X174, []), .(X174, [])).\nand substitutionX174 -> T140,\nT1 -> .(T140, []),\nT2 -> .(T140, [])" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 29, 20.83/6.34 "to": 633, 20.83/6.34 "label": "EVAL-BACKTRACK" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 46, 20.83/6.34 "to": 47, 20.83/6.34 "label": "BACKTRACK\nfor clause: mergesort(.(X, []), .(X, []))because of non-unification" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 47, 20.83/6.34 "to": 50, 20.83/6.34 "label": "EVAL with clause\nmergesort(.(X6, .(X7, X8)), X9) :- ','(split(.(X6, .(X7, X8)), X10, X11), ','(mergesort(X10, X12), ','(mergesort(X11, X13), merge(X12, X13, X9)))).\nand substitutionX6 -> T10,\nX7 -> T11,\nX8 -> T12,\nT1 -> .(T10, .(T11, T12)),\nX9 -> [],\nT7 -> T10,\nT8 -> T11,\nT9 -> T12" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 47, 20.83/6.34 "to": 51, 20.83/6.34 "label": "EVAL-BACKTRACK" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 50, 20.83/6.34 "to": 52, 20.83/6.34 "label": "CASE" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 52, 20.83/6.34 "to": 53, 20.83/6.34 "label": "BACKTRACK\nfor clause: split([], [], [])because of non-unification" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 53, 20.83/6.34 "to": 56, 20.83/6.34 "label": "ONLY EVAL with clause\nsplit(.(X26, X27), .(X26, X28), X29) :- split(X27, X29, X28).\nand substitutionT10 -> T27,\nX26 -> T27,\nT11 -> T25,\nT12 -> T26,\nX27 -> .(T25, T26),\nX28 -> X30,\nX10 -> .(T27, X30),\nX11 -> X31,\nX29 -> X31,\nT23 -> T25,\nT24 -> T26,\nT22 -> T27" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 56, 20.83/6.34 "to": 74, 20.83/6.34 "label": "SPLIT 1" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 56, 20.83/6.34 "to": 77, 20.83/6.34 "label": "SPLIT 2\nreplacements:X31 -> T28,\nX30 -> T29,\nT27 -> T30" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 74, 20.83/6.34 "to": 80, 20.83/6.34 "label": "CASE" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 77, 20.83/6.34 "to": 119, 20.83/6.34 "label": "SPLIT 1" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 77, 20.83/6.34 "to": 120, 20.83/6.34 "label": "SPLIT 2\nreplacements:X12 -> T46,\nT28 -> T47" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 80, 20.83/6.34 "to": 82, 20.83/6.34 "label": "BACKTRACK\nfor clause: split([], [], [])because of non-unification" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 82, 20.83/6.34 "to": 86, 20.83/6.34 "label": "ONLY EVAL with clause\nsplit(.(X44, X45), .(X44, X46), X47) :- split(X45, X47, X46).\nand substitutionT25 -> T36,\nX44 -> T36,\nT26 -> T38,\nX45 -> T38,\nX46 -> X48,\nX31 -> .(T36, X48),\nX30 -> X49,\nX47 -> X49,\nT37 -> T38" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 86, 20.83/6.34 "to": 88, 20.83/6.34 "label": "CASE" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 88, 20.83/6.34 "to": 89, 20.83/6.34 "label": "PARALLEL" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 88, 20.83/6.34 "to": 90, 20.83/6.34 "label": "PARALLEL" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 89, 20.83/6.34 "to": 92, 20.83/6.34 "label": "EVAL with clause\nsplit([], [], []).\nand substitutionT38 -> [],\nX49 -> [],\nX48 -> []" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 89, 20.83/6.34 "to": 95, 20.83/6.34 "label": "EVAL-BACKTRACK" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 90, 20.83/6.34 "to": 99, 20.83/6.34 "label": "EVAL with clause\nsplit(.(X62, X63), .(X62, X64), X65) :- split(X63, X65, X64).\nand substitutionX62 -> T43,\nX63 -> T45,\nT38 -> .(T43, T45),\nX64 -> X66,\nX49 -> .(T43, X66),\nX48 -> X67,\nX65 -> X67,\nT44 -> T45" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 90, 20.83/6.34 "to": 100, 20.83/6.34 "label": "EVAL-BACKTRACK" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 92, 20.83/6.34 "to": 96, 20.83/6.34 "label": "SUCCESS" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 99, 20.83/6.34 "to": 86, 20.83/6.34 "label": "INSTANCE with matching:\nT38 -> T45\nX49 -> X67\nX48 -> X66" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 119, 20.83/6.34 "to": 132, 20.83/6.34 "label": "CASE" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 120, 20.83/6.34 "to": 618, 20.83/6.34 "label": "SPLIT 1" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 120, 20.83/6.34 "to": 619, 20.83/6.34 "label": "SPLIT 2\nreplacements:X13 -> T121,\nT46 -> T122" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 132, 20.83/6.34 "to": 134, 20.83/6.34 "label": "BACKTRACK\nfor clause: mergesort([], [])because of non-unification" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 134, 20.83/6.34 "to": 172, 20.83/6.34 "label": "PARALLEL" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 134, 20.83/6.34 "to": 176, 20.83/6.34 "label": "PARALLEL" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 172, 20.83/6.34 "to": 461, 20.83/6.34 "label": "EVAL with clause\nmergesort(.(X72, []), .(X72, [])).\nand substitutionT30 -> T52,\nX72 -> T52,\nT29 -> [],\nX12 -> .(T52, [])" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 172, 20.83/6.34 "to": 572, 20.83/6.34 "label": "EVAL-BACKTRACK" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 176, 20.83/6.34 "to": 576, 20.83/6.34 "label": "EVAL with clause\nmergesort(.(X87, .(X88, X89)), X90) :- ','(split(.(X87, .(X88, X89)), X91, X92), ','(mergesort(X91, X93), ','(mergesort(X92, X94), merge(X93, X94, X90)))).\nand substitutionT30 -> T62,\nX87 -> T62,\nX88 -> T63,\nX89 -> T64,\nT29 -> .(T63, T64),\nX12 -> X95,\nX90 -> X95,\nT59 -> T62,\nT60 -> T63,\nT61 -> T64" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 176, 20.83/6.34 "to": 577, 20.83/6.34 "label": "EVAL-BACKTRACK" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 461, 20.83/6.34 "to": 573, 20.83/6.34 "label": "SUCCESS" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 576, 20.83/6.34 "to": 582, 20.83/6.34 "label": "SPLIT 1" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 576, 20.83/6.34 "to": 583, 20.83/6.34 "label": "SPLIT 2\nreplacements:X91 -> T65,\nX92 -> T66" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 582, 20.83/6.34 "to": 74, 20.83/6.34 "label": "INSTANCE with matching:\nT25 -> T62\nT26 -> .(T63, T64)\nX31 -> X91\nX30 -> X92" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 583, 20.83/6.34 "to": 586, 20.83/6.34 "label": "SPLIT 1" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 583, 20.83/6.34 "to": 587, 20.83/6.34 "label": "SPLIT 2\nreplacements:X93 -> T67,\nT66 -> T68" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 586, 20.83/6.34 "to": 588, 20.83/6.34 "label": "CASE" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 587, 20.83/6.34 "to": 601, 20.83/6.34 "label": "SPLIT 1" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 587, 20.83/6.34 "to": 602, 20.83/6.34 "label": "SPLIT 2\nreplacements:X94 -> T86,\nT67 -> T87" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 588, 20.83/6.34 "to": 589, 20.83/6.34 "label": "PARALLEL" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 588, 20.83/6.34 "to": 590, 20.83/6.34 "label": "PARALLEL" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 589, 20.83/6.34 "to": 591, 20.83/6.34 "label": "EVAL with clause\nmergesort([], []).\nand substitutionT65 -> [],\nX93 -> []" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 589, 20.83/6.34 "to": 592, 20.83/6.34 "label": "EVAL-BACKTRACK" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 590, 20.83/6.34 "to": 594, 20.83/6.34 "label": "PARALLEL" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 590, 20.83/6.34 "to": 595, 20.83/6.34 "label": "PARALLEL" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 591, 20.83/6.34 "to": 593, 20.83/6.34 "label": "SUCCESS" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 594, 20.83/6.34 "to": 596, 20.83/6.34 "label": "EVAL with clause\nmergesort(.(X100, []), .(X100, [])).\nand substitutionX100 -> T73,\nT65 -> .(T73, []),\nX93 -> .(T73, [])" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 594, 20.83/6.34 "to": 597, 20.83/6.34 "label": "EVAL-BACKTRACK" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 595, 20.83/6.34 "to": 599, 20.83/6.34 "label": "EVAL with clause\nmergesort(.(X115, .(X116, X117)), X118) :- ','(split(.(X115, .(X116, X117)), X119, X120), ','(mergesort(X119, X121), ','(mergesort(X120, X122), merge(X121, X122, X118)))).\nand substitutionX115 -> T83,\nX116 -> T84,\nX117 -> T85,\nT65 -> .(T83, .(T84, T85)),\nX93 -> X123,\nX118 -> X123,\nT80 -> T83,\nT81 -> T84,\nT82 -> T85" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 595, 20.83/6.34 "to": 600, 20.83/6.34 "label": "EVAL-BACKTRACK" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 596, 20.83/6.34 "to": 598, 20.83/6.34 "label": "SUCCESS" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 599, 20.83/6.34 "to": 576, 20.83/6.34 "label": "INSTANCE with matching:\nT62 -> T83\nT63 -> T84\nT64 -> T85\nX91 -> X119\nX92 -> X120\nX93 -> X121\nX94 -> X122\nX95 -> X123" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 601, 20.83/6.34 "to": 586, 20.83/6.34 "label": "INSTANCE with matching:\nT65 -> T68\nX93 -> X94" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 602, 20.83/6.34 "to": 603, 20.83/6.34 "label": "CASE" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 603, 20.83/6.34 "to": 604, 20.83/6.34 "label": "PARALLEL" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 603, 20.83/6.34 "to": 605, 20.83/6.34 "label": "PARALLEL" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 604, 20.83/6.34 "to": 606, 20.83/6.34 "label": "EVAL with clause\nmerge([], X130, X130).\nand substitutionT87 -> [],\nT86 -> T94,\nX130 -> T94,\nX95 -> T94" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 604, 20.83/6.34 "to": 607, 20.83/6.34 "label": "EVAL-BACKTRACK" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 605, 20.83/6.34 "to": 609, 20.83/6.34 "label": "PARALLEL" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 605, 20.83/6.34 "to": 610, 20.83/6.34 "label": "PARALLEL" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 606, 20.83/6.34 "to": 608, 20.83/6.34 "label": "SUCCESS" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 609, 20.83/6.34 "to": 611, 20.83/6.34 "label": "EVAL with clause\nmerge(X135, [], X135).\nand substitutionT87 -> T99,\nX135 -> T99,\nT86 -> [],\nX95 -> T99" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 609, 20.83/6.34 "to": 612, 20.83/6.34 "label": "EVAL-BACKTRACK" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 610, 20.83/6.34 "to": 614, 20.83/6.34 "label": "EVAL with clause\nmerge(.(X148, X149), .(X150, X151), .(X148, X152)) :- ','(=(X148, X150), merge(.(X148, X149), X151, X152)).\nand substitutionX148 -> T112,\nX149 -> T115,\nT87 -> .(T112, T115),\nX150 -> T113,\nX151 -> T114,\nT86 -> .(T113, T114),\nX152 -> X153,\nX95 -> .(T112, X153),\nT108 -> T112,\nT110 -> T113,\nT111 -> T114,\nT109 -> T115" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 610, 20.83/6.34 "to": 615, 20.83/6.34 "label": "EVAL-BACKTRACK" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 611, 20.83/6.34 "to": 613, 20.83/6.34 "label": "SUCCESS" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 614, 20.83/6.34 "to": 616, 20.83/6.34 "label": "UNIFY CASE with substitutionT112 -> T119,\nT113 -> T119,\nT114 -> T118,\nT117 -> T119,\nT115 -> T120" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 614, 20.83/6.34 "to": 617, 20.83/6.34 "label": "UNIFY-BACKTRACK" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 616, 20.83/6.34 "to": 602, 20.83/6.34 "label": "INSTANCE with matching:\nT87 -> .(T119, T120)\nT86 -> T118\nX95 -> X153" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 618, 20.83/6.34 "to": 586, 20.83/6.34 "label": "INSTANCE with matching:\nT65 -> T47\nX93 -> X13" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 619, 20.83/6.34 "to": 620, 20.83/6.34 "label": "CASE" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 620, 20.83/6.34 "to": 621, 20.83/6.34 "label": "PARALLEL" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 620, 20.83/6.34 "to": 622, 20.83/6.34 "label": "PARALLEL" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 621, 20.83/6.34 "to": 623, 20.83/6.34 "label": "EVAL with clause\nmerge([], X162, X162).\nand substitutionT122 -> [],\nT121 -> [],\nX162 -> [],\nT129 -> []" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 621, 20.83/6.34 "to": 624, 20.83/6.34 "label": "EVAL-BACKTRACK" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 622, 20.83/6.34 "to": 626, 20.83/6.34 "label": "PARALLEL" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 622, 20.83/6.34 "to": 627, 20.83/6.34 "label": "PARALLEL" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 623, 20.83/6.34 "to": 625, 20.83/6.34 "label": "SUCCESS" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 626, 20.83/6.34 "to": 628, 20.83/6.34 "label": "EVAL with clause\nmerge(X167, [], X167).\nand substitutionT122 -> [],\nX167 -> [],\nT121 -> [],\nT134 -> []" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 626, 20.83/6.34 "to": 629, 20.83/6.34 "label": "EVAL-BACKTRACK" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 627, 20.83/6.34 "to": 631, 20.83/6.34 "label": "BACKTRACK\nfor clause: merge(.(X, Xs), .(Y, Ys), .(X, Zs)) :- ','(=(X, Y), merge(.(X, Xs), Ys, Zs))because of non-unification" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 628, 20.83/6.34 "to": 630, 20.83/6.34 "label": "SUCCESS" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 632, 20.83/6.34 "to": 634, 20.83/6.34 "label": "SUCCESS" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 633, 20.83/6.34 "to": 732, 20.83/6.34 "label": "EVAL with clause\nmergesort(.(X238, .(X239, X240)), X241) :- ','(split(.(X238, .(X239, X240)), X242, X243), ','(mergesort(X242, X244), ','(mergesort(X243, X245), merge(X244, X245, X241)))).\nand substitutionX238 -> T225,\nX239 -> T226,\nX240 -> T227,\nT1 -> .(T225, .(T226, T227)),\nT2 -> T224,\nX241 -> T224,\nT221 -> T225,\nT222 -> T226,\nT223 -> T227" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 633, 20.83/6.34 "to": 733, 20.83/6.34 "label": "EVAL-BACKTRACK" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 634, 20.83/6.34 "to": 635, 20.83/6.34 "label": "EVAL with clause\nmergesort(.(X179, .(X180, X181)), X182) :- ','(split(.(X179, .(X180, X181)), X183, X184), ','(mergesort(X183, X185), ','(mergesort(X184, X186), merge(X185, X186, X182)))).\nand substitutionX179 -> T149,\nX180 -> T150,\nX181 -> T151,\nT1 -> .(T149, .(T150, T151)),\nT140 -> T148,\nX182 -> .(T148, []),\nT145 -> T149,\nT146 -> T150,\nT147 -> T151" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 634, 20.83/6.34 "to": 636, 20.83/6.34 "label": "EVAL-BACKTRACK" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 635, 20.83/6.34 "to": 637, 20.83/6.34 "label": "CASE" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 637, 20.83/6.34 "to": 638, 20.83/6.34 "label": "BACKTRACK\nfor clause: split([], [], [])because of non-unification" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 638, 20.83/6.34 "to": 647, 20.83/6.34 "label": "ONLY EVAL with clause\nsplit(.(X199, X200), .(X199, X201), X202) :- split(X200, X202, X201).\nand substitutionT149 -> T166,\nX199 -> T166,\nT150 -> T164,\nT151 -> T165,\nX200 -> .(T164, T165),\nX201 -> X203,\nX183 -> .(T166, X203),\nX184 -> X204,\nX202 -> X204,\nT162 -> T164,\nT163 -> T165,\nT161 -> T166" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 647, 20.83/6.34 "to": 655, 20.83/6.34 "label": "SPLIT 1" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 647, 20.83/6.34 "to": 656, 20.83/6.34 "label": "SPLIT 2\nreplacements:X204 -> T167,\nX203 -> T168,\nT166 -> T169" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 655, 20.83/6.34 "to": 74, 20.83/6.34 "label": "INSTANCE with matching:\nT25 -> T164\nT26 -> T165\nX31 -> X204\nX30 -> X203" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 656, 20.83/6.34 "to": 657, 20.83/6.34 "label": "SPLIT 1" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 656, 20.83/6.34 "to": 658, 20.83/6.34 "label": "SPLIT 2\nreplacements:X185 -> T170,\nT167 -> T171" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 657, 20.83/6.34 "to": 119, 20.83/6.34 "label": "INSTANCE with matching:\nT30 -> T169\nT29 -> T168\nX12 -> X185" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 658, 20.83/6.34 "to": 659, 20.83/6.34 "label": "SPLIT 1" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 658, 20.83/6.34 "to": 660, 20.83/6.34 "label": "SPLIT 2\nreplacements:X186 -> T172,\nT170 -> T173" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 659, 20.83/6.34 "to": 586, 20.83/6.34 "label": "INSTANCE with matching:\nT65 -> T171\nX93 -> X186" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 660, 20.83/6.34 "to": 661, 20.83/6.34 "label": "CASE" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 661, 20.83/6.34 "to": 662, 20.83/6.34 "label": "PARALLEL" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 661, 20.83/6.34 "to": 663, 20.83/6.34 "label": "PARALLEL" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 662, 20.83/6.34 "to": 692, 20.83/6.34 "label": "EVAL with clause\nmerge([], X211, X211).\nand substitutionT173 -> [],\nT172 -> .(T187, []),\nX211 -> .(T187, []),\nT148 -> T187,\nT186 -> .(T187, [])" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 662, 20.83/6.34 "to": 693, 20.83/6.34 "label": "EVAL-BACKTRACK" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 663, 20.83/6.34 "to": 695, 20.83/6.34 "label": "PARALLEL" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 663, 20.83/6.34 "to": 696, 20.83/6.34 "label": "PARALLEL" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 692, 20.83/6.34 "to": 694, 20.83/6.34 "label": "SUCCESS" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 695, 20.83/6.34 "to": 697, 20.83/6.34 "label": "EVAL with clause\nmerge(X216, [], X216).\nand substitutionT173 -> .(T197, []),\nX216 -> .(T197, []),\nT172 -> [],\nT148 -> T197,\nT196 -> .(T197, [])" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 695, 20.83/6.34 "to": 698, 20.83/6.34 "label": "EVAL-BACKTRACK" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 696, 20.83/6.34 "to": 728, 20.83/6.34 "label": "EVAL with clause\nmerge(.(X227, X228), .(X229, X230), .(X227, X231)) :- ','(=(X227, X229), merge(.(X227, X228), X230, X231)).\nand substitutionX227 -> T206,\nX228 -> T212,\nT173 -> .(T206, T212),\nX229 -> T210,\nX230 -> T211,\nT172 -> .(T210, T211),\nT148 -> T206,\nX231 -> [],\nT208 -> T210,\nT209 -> T211,\nT207 -> T212" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 696, 20.83/6.34 "to": 729, 20.83/6.34 "label": "EVAL-BACKTRACK" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 697, 20.83/6.34 "to": 699, 20.83/6.34 "label": "SUCCESS" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 728, 20.83/6.34 "to": 730, 20.83/6.34 "label": "UNIFY CASE with substitutionT206 -> T214,\nT210 -> T214,\nT211 -> T215,\nT212 -> T216" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 728, 20.83/6.34 "to": 731, 20.83/6.34 "label": "UNIFY-BACKTRACK" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 730, 20.83/6.34 "to": 619, 20.83/6.34 "label": "INSTANCE with matching:\nT122 -> .(T214, T216)\nT121 -> T215" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 732, 20.83/6.34 "to": 734, 20.83/6.34 "label": "CASE" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 734, 20.83/6.34 "to": 735, 20.83/6.34 "label": "BACKTRACK\nfor clause: split([], [], [])because of non-unification" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 735, 20.83/6.34 "to": 736, 20.83/6.34 "label": "ONLY EVAL with clause\nsplit(.(X258, X259), .(X258, X260), X261) :- split(X259, X261, X260).\nand substitutionT225 -> T242,\nX258 -> T242,\nT226 -> T240,\nT227 -> T241,\nX259 -> .(T240, T241),\nX260 -> X262,\nX242 -> .(T242, X262),\nX243 -> X263,\nX261 -> X263,\nT238 -> T240,\nT239 -> T241,\nT237 -> T242" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 736, 20.83/6.34 "to": 737, 20.83/6.34 "label": "SPLIT 1" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 736, 20.83/6.34 "to": 738, 20.83/6.34 "label": "SPLIT 2\nreplacements:X263 -> T243,\nX262 -> T244,\nT242 -> T245,\nT1 -> T246" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 737, 20.83/6.34 "to": 74, 20.83/6.34 "label": "INSTANCE with matching:\nT25 -> T240\nT26 -> T241\nX31 -> X263\nX30 -> X262" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 738, 20.83/6.34 "to": 739, 20.83/6.34 "label": "SPLIT 1" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 738, 20.83/6.34 "to": 740, 20.83/6.34 "label": "SPLIT 2\nreplacements:X244 -> T247,\nT243 -> T248,\nT246 -> T249" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 739, 20.83/6.34 "to": 119, 20.83/6.34 "label": "INSTANCE with matching:\nT30 -> T245\nT29 -> T244\nX12 -> X244" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 740, 20.83/6.34 "to": 741, 20.83/6.34 "label": "SPLIT 1" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 740, 20.83/6.34 "to": 742, 20.83/6.34 "label": "SPLIT 2\nreplacements:X245 -> T250,\nT247 -> T251,\nT249 -> T252" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 741, 20.83/6.34 "to": 586, 20.83/6.34 "label": "INSTANCE with matching:\nT65 -> T248\nX93 -> X245" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 742, 20.83/6.34 "to": 743, 20.83/6.34 "label": "CASE" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 743, 20.83/6.34 "to": 744, 20.83/6.34 "label": "PARALLEL" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 743, 20.83/6.34 "to": 745, 20.83/6.34 "label": "PARALLEL" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 744, 20.83/6.34 "to": 746, 20.83/6.34 "label": "EVAL with clause\nmerge([], X270, X270).\nand substitutionT251 -> [],\nT250 -> T259,\nX270 -> T259,\nT224 -> T259" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 744, 20.83/6.34 "to": 747, 20.83/6.34 "label": "EVAL-BACKTRACK" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 745, 20.83/6.34 "to": 749, 20.83/6.34 "label": "PARALLEL" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 745, 20.83/6.34 "to": 750, 20.83/6.34 "label": "PARALLEL" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 746, 20.83/6.34 "to": 748, 20.83/6.34 "label": "SUCCESS" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 749, 20.83/6.34 "to": 751, 20.83/6.34 "label": "EVAL with clause\nmerge(X275, [], X275).\nand substitutionT251 -> T264,\nX275 -> T264,\nT250 -> [],\nT224 -> T264" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 749, 20.83/6.34 "to": 752, 20.83/6.34 "label": "EVAL-BACKTRACK" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 750, 20.83/6.34 "to": 754, 20.83/6.34 "label": "EVAL with clause\nmerge(.(X286, X287), .(X288, X289), .(X286, X290)) :- ','(=(X286, X288), merge(.(X286, X287), X289, X290)).\nand substitutionX286 -> T275,\nX287 -> T282,\nT251 -> .(T275, T282),\nX288 -> T280,\nX289 -> T281,\nT250 -> .(T280, T281),\nX290 -> T279,\nT224 -> .(T275, T279),\nT277 -> T280,\nT278 -> T281,\nT276 -> T282" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 750, 20.83/6.34 "to": 755, 20.83/6.34 "label": "EVAL-BACKTRACK" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 751, 20.83/6.34 "to": 753, 20.83/6.34 "label": "SUCCESS" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 754, 20.83/6.34 "to": 756, 20.83/6.34 "label": "UNIFY CASE with substitutionT275 -> T284,\nT280 -> T284,\nT281 -> T285,\nT282 -> T286" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 754, 20.83/6.34 "to": 757, 20.83/6.34 "label": "UNIFY-BACKTRACK" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 756, 20.83/6.34 "to": 758, 20.83/6.34 "label": "CASE" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 758, 20.83/6.34 "to": 759, 20.83/6.34 "label": "BACKTRACK\nfor clause: merge([], Xs, Xs)because of non-unification" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 759, 20.83/6.34 "to": 760, 20.83/6.34 "label": "PARALLEL" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 759, 20.83/6.34 "to": 761, 20.83/6.34 "label": "PARALLEL" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 760, 20.83/6.34 "to": 762, 20.83/6.34 "label": "EVAL with clause\nmerge(X298, [], X298).\nand substitutionT284 -> T295,\nT286 -> T296,\nX298 -> .(T295, T296),\nT285 -> [],\nT279 -> .(T295, T296)" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 760, 20.83/6.34 "to": 763, 20.83/6.34 "label": "EVAL-BACKTRACK" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 761, 20.83/6.34 "to": 765, 20.83/6.34 "label": "EVAL with clause\nmerge(.(X309, X310), .(X311, X312), .(X309, X313)) :- ','(=(X309, X311), merge(.(X309, X310), X312, X313)).\nand substitutionT284 -> T307,\nX309 -> T307,\nT286 -> T314,\nX310 -> T314,\nX311 -> T312,\nX312 -> T313,\nT285 -> .(T312, T313),\nX313 -> T311,\nT279 -> .(T307, T311),\nT309 -> T312,\nT310 -> T313,\nT308 -> T314" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 761, 20.83/6.34 "to": 766, 20.83/6.34 "label": "EVAL-BACKTRACK" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 762, 20.83/6.34 "to": 764, 20.83/6.34 "label": "SUCCESS" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 765, 20.83/6.34 "to": 767, 20.83/6.34 "label": "UNIFY CASE with substitutionT307 -> T316,\nT312 -> T316,\nT313 -> T317,\nT314 -> T318" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 765, 20.83/6.34 "to": 768, 20.83/6.34 "label": "UNIFY-BACKTRACK" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 767, 20.83/6.34 "to": 769, 20.83/6.34 "label": "CASE" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 769, 20.83/6.34 "to": 770, 20.83/6.34 "label": "BACKTRACK\nfor clause: merge([], Xs, Xs)because of non-unification" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 770, 20.83/6.34 "to": 771, 20.83/6.34 "label": "PARALLEL" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 770, 20.83/6.34 "to": 772, 20.83/6.34 "label": "PARALLEL" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 771, 20.83/6.34 "to": 773, 20.83/6.34 "label": "EVAL with clause\nmerge(X321, [], X321).\nand substitutionT316 -> T327,\nT318 -> T328,\nX321 -> .(T327, T328),\nT317 -> [],\nT311 -> .(T327, T328)" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 771, 20.83/6.34 "to": 774, 20.83/6.34 "label": "EVAL-BACKTRACK" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 772, 20.83/6.34 "to": 776, 20.83/6.34 "label": "EVAL with clause\nmerge(.(X332, X333), .(X334, X335), .(X332, X336)) :- ','(=(X332, X334), merge(.(X332, X333), X335, X336)).\nand substitutionT316 -> T339,\nX332 -> T339,\nT318 -> T346,\nX333 -> T346,\nX334 -> T344,\nX335 -> T345,\nT317 -> .(T344, T345),\nX336 -> T343,\nT311 -> .(T339, T343),\nT341 -> T344,\nT342 -> T345,\nT340 -> T346" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 772, 20.83/6.34 "to": 777, 20.83/6.34 "label": "EVAL-BACKTRACK" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 773, 20.83/6.34 "to": 775, 20.83/6.34 "label": "SUCCESS" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 776, 20.83/6.34 "to": 778, 20.83/6.34 "label": "UNIFY CASE with substitutionT339 -> T348,\nT344 -> T348,\nT345 -> T349,\nT346 -> T350" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 776, 20.83/6.34 "to": 779, 20.83/6.34 "label": "UNIFY-BACKTRACK" 20.83/6.34 }, 20.83/6.34 { 20.83/6.34 "from": 778, 20.83/6.34 "to": 767, 20.83/6.34 "label": "INSTANCE with matching:\nT316 -> T348\nT318 -> T350\nT317 -> T349\nT311 -> T343" 20.83/6.34 } 20.83/6.34 ], 20.83/6.34 "type": "Graph" 20.83/6.34 } 20.83/6.34 } 20.83/6.34 20.83/6.34 ---------------------------------------- 20.83/6.34 20.83/6.34 (171) 20.83/6.34 Obligation: 20.83/6.34 Triples: 20.83/6.34 20.83/6.34 splitA(.(X1, X2), .(X1, X3), X4) :- splitA(X2, X4, X3). 20.83/6.34 splitB(X1, X2, .(X1, X3), X4) :- splitA(X2, X4, X3). 20.83/6.34 pC(X1, X2, X3, X4, X5, X6, X7, X8) :- splitB(X1, .(X2, X3), X4, X5). 20.83/6.34 pC(X1, X2, X3, X4, X5, X6, X7, X8) :- ','(splitcB(X1, .(X2, X3), X4, X5), mergesortE(X4, X6)). 20.83/6.34 pC(X1, X2, X3, X4, X5, X6, X7, X8) :- ','(splitcB(X1, .(X2, X3), X4, X5), ','(mergesortcE(X4, X6), mergesortE(X5, X7))). 20.83/6.34 pC(X1, X2, X3, X4, X5, X6, X7, X8) :- ','(splitcB(X1, .(X2, X3), X4, X5), ','(mergesortcE(X4, X6), ','(mergesortcE(X5, X7), mergeD(X6, X7, X8)))). 20.83/6.34 mergesortE(.(X1, .(X2, X3)), X4) :- pC(X1, X2, X3, X5, X6, X7, X8, X4). 20.83/6.34 mergeD(.(X1, X2), .(X1, X3), .(X1, X4)) :- mergeD(.(X1, X2), X3, X4). 20.83/6.34 mergesortF(X1, .(X2, X3), X4) :- pC(X1, X2, X3, X5, X6, X7, X8, X4). 20.83/6.34 mergeH(X1, X2, .(X1, X3), .(X1, X4)) :- mergeH(X1, X2, X3, X4). 20.83/6.34 mergesortI(.(X1, .(X2, X3)), []) :- splitB(X2, X3, X4, X5). 20.83/6.34 mergesortI(.(X1, .(X2, X3)), []) :- ','(splitcB(X2, X3, X4, X5), mergesortF(X1, X5, X6)). 20.83/6.34 mergesortI(.(X1, .(X2, X3)), []) :- ','(splitcB(X2, X3, X4, X5), ','(mergesortcF(X1, X5, X6), mergesortE(X4, X7))). 20.83/6.34 mergesortI(.(X1, .(X2, X3)), []) :- ','(splitcB(X2, X3, X4, X5), ','(mergesortcF(X1, X5, X6), ','(mergesortcE(X4, X7), mergeG(X6, X7)))). 20.83/6.34 mergesortI(.(X1, .(X2, X3)), .(X4, [])) :- splitB(X2, X3, X5, X6). 20.83/6.34 mergesortI(.(X1, .(X2, X3)), .(X4, [])) :- ','(splitcB(X2, X3, X5, X6), mergesortF(X1, X6, X7)). 20.83/6.34 mergesortI(.(X1, .(X2, X3)), .(X4, [])) :- ','(splitcB(X2, X3, X5, X6), ','(mergesortcF(X1, X6, X7), mergesortE(X5, X8))). 20.83/6.34 mergesortI(.(X1, .(X2, X3)), .(X4, [])) :- ','(splitcB(X2, X3, X5, X6), ','(mergesortcF(X1, X6, .(X4, X7)), ','(mergesortcE(X5, .(X4, X8)), mergeG(.(X4, X7), X8)))). 20.83/6.34 mergesortI(.(X1, .(X2, X3)), X4) :- splitB(X2, X3, X5, X6). 20.83/6.34 mergesortI(.(X1, .(X2, X3)), X4) :- ','(splitcB(X2, X3, X5, X6), mergesortF(X1, X6, X7)). 20.83/6.34 mergesortI(.(X1, .(X2, X3)), X4) :- ','(splitcB(X2, X3, X5, X6), ','(mergesortcF(X1, X6, X7), mergesortE(X5, X8))). 20.83/6.34 mergesortI(.(X1, .(X2, X3)), .(X4, .(X4, X5))) :- ','(splitcB(X2, X3, X6, X7), ','(mergesortcF(X1, X7, .(X4, X8)), ','(mergesortcE(X6, .(X4, .(X4, X9))), mergeH(X4, X8, X9, X5)))). 20.83/6.34 20.83/6.34 Clauses: 20.83/6.34 20.83/6.34 splitcA([], [], []). 20.83/6.34 splitcA(.(X1, X2), .(X1, X3), X4) :- splitcA(X2, X4, X3). 20.83/6.34 splitcB(X1, X2, .(X1, X3), X4) :- splitcA(X2, X4, X3). 20.83/6.34 qcC(X1, X2, X3, X4, X5, X6, X7, X8) :- ','(splitcB(X1, .(X2, X3), X4, X5), ','(mergesortcE(X4, X6), ','(mergesortcE(X5, X7), mergecD(X6, X7, X8)))). 20.83/6.34 mergesortcE([], []). 20.83/6.34 mergesortcE(.(X1, []), .(X1, [])). 20.83/6.34 mergesortcE(.(X1, .(X2, X3)), X4) :- qcC(X1, X2, X3, X5, X6, X7, X8, X4). 20.83/6.34 mergecD([], X1, X1). 20.83/6.34 mergecD(X1, [], X1). 20.83/6.34 mergecD(.(X1, X2), .(X1, X3), .(X1, X4)) :- mergecD(.(X1, X2), X3, X4). 20.83/6.34 mergesortcF(X1, [], .(X1, [])). 20.83/6.34 mergesortcF(X1, .(X2, X3), X4) :- qcC(X1, X2, X3, X5, X6, X7, X8, X4). 20.83/6.34 mergecG([], []). 20.83/6.34 mergecG([], []). 20.83/6.34 mergecH(X1, X2, [], .(X1, X2)). 20.83/6.34 mergecH(X1, X2, .(X1, X3), .(X1, X4)) :- mergecH(X1, X2, X3, X4). 20.83/6.34 20.83/6.34 Afs: 20.83/6.34 20.83/6.34 mergesortI(x1, x2) = mergesortI(x2) 20.83/6.34 20.83/6.34 20.83/6.34 ---------------------------------------- 20.83/6.34 20.83/6.34 (172) UndefinedPredicateInTriplesTransformerProof (SOUND) 20.83/6.34 Deleted triples and predicates having undefined goals [DT09]. 20.83/6.34 ---------------------------------------- 20.83/6.34 20.83/6.34 (173) 20.83/6.34 Obligation: 20.83/6.34 Triples: 20.83/6.34 20.83/6.34 splitA(.(X1, X2), .(X1, X3), X4) :- splitA(X2, X4, X3). 20.83/6.34 splitB(X1, X2, .(X1, X3), X4) :- splitA(X2, X4, X3). 20.83/6.34 pC(X1, X2, X3, X4, X5, X6, X7, X8) :- splitB(X1, .(X2, X3), X4, X5). 20.83/6.34 pC(X1, X2, X3, X4, X5, X6, X7, X8) :- ','(splitcB(X1, .(X2, X3), X4, X5), mergesortE(X4, X6)). 20.83/6.34 pC(X1, X2, X3, X4, X5, X6, X7, X8) :- ','(splitcB(X1, .(X2, X3), X4, X5), ','(mergesortcE(X4, X6), mergesortE(X5, X7))). 20.83/6.34 pC(X1, X2, X3, X4, X5, X6, X7, X8) :- ','(splitcB(X1, .(X2, X3), X4, X5), ','(mergesortcE(X4, X6), ','(mergesortcE(X5, X7), mergeD(X6, X7, X8)))). 20.83/6.34 mergesortE(.(X1, .(X2, X3)), X4) :- pC(X1, X2, X3, X5, X6, X7, X8, X4). 20.83/6.34 mergeD(.(X1, X2), .(X1, X3), .(X1, X4)) :- mergeD(.(X1, X2), X3, X4). 20.83/6.34 mergesortF(X1, .(X2, X3), X4) :- pC(X1, X2, X3, X5, X6, X7, X8, X4). 20.83/6.34 mergeH(X1, X2, .(X1, X3), .(X1, X4)) :- mergeH(X1, X2, X3, X4). 20.83/6.34 mergesortI(.(X1, .(X2, X3)), []) :- splitB(X2, X3, X4, X5). 20.83/6.34 mergesortI(.(X1, .(X2, X3)), []) :- ','(splitcB(X2, X3, X4, X5), mergesortF(X1, X5, X6)). 20.83/6.34 mergesortI(.(X1, .(X2, X3)), []) :- ','(splitcB(X2, X3, X4, X5), ','(mergesortcF(X1, X5, X6), mergesortE(X4, X7))). 20.83/6.34 mergesortI(.(X1, .(X2, X3)), .(X4, [])) :- splitB(X2, X3, X5, X6). 20.83/6.34 mergesortI(.(X1, .(X2, X3)), .(X4, [])) :- ','(splitcB(X2, X3, X5, X6), mergesortF(X1, X6, X7)). 20.83/6.34 mergesortI(.(X1, .(X2, X3)), .(X4, [])) :- ','(splitcB(X2, X3, X5, X6), ','(mergesortcF(X1, X6, X7), mergesortE(X5, X8))). 20.83/6.34 mergesortI(.(X1, .(X2, X3)), X4) :- splitB(X2, X3, X5, X6). 20.83/6.34 mergesortI(.(X1, .(X2, X3)), X4) :- ','(splitcB(X2, X3, X5, X6), mergesortF(X1, X6, X7)). 20.83/6.34 mergesortI(.(X1, .(X2, X3)), X4) :- ','(splitcB(X2, X3, X5, X6), ','(mergesortcF(X1, X6, X7), mergesortE(X5, X8))). 20.83/6.34 mergesortI(.(X1, .(X2, X3)), .(X4, .(X4, X5))) :- ','(splitcB(X2, X3, X6, X7), ','(mergesortcF(X1, X7, .(X4, X8)), ','(mergesortcE(X6, .(X4, .(X4, X9))), mergeH(X4, X8, X9, X5)))). 20.83/6.34 20.83/6.34 Clauses: 20.83/6.34 20.83/6.34 splitcA([], [], []). 20.83/6.34 splitcA(.(X1, X2), .(X1, X3), X4) :- splitcA(X2, X4, X3). 20.83/6.34 splitcB(X1, X2, .(X1, X3), X4) :- splitcA(X2, X4, X3). 20.83/6.34 qcC(X1, X2, X3, X4, X5, X6, X7, X8) :- ','(splitcB(X1, .(X2, X3), X4, X5), ','(mergesortcE(X4, X6), ','(mergesortcE(X5, X7), mergecD(X6, X7, X8)))). 20.83/6.34 mergesortcE([], []). 20.83/6.34 mergesortcE(.(X1, []), .(X1, [])). 20.83/6.34 mergesortcE(.(X1, .(X2, X3)), X4) :- qcC(X1, X2, X3, X5, X6, X7, X8, X4). 20.83/6.34 mergecD([], X1, X1). 20.83/6.34 mergecD(X1, [], X1). 20.83/6.34 mergecD(.(X1, X2), .(X1, X3), .(X1, X4)) :- mergecD(.(X1, X2), X3, X4). 20.83/6.34 mergesortcF(X1, [], .(X1, [])). 20.83/6.34 mergesortcF(X1, .(X2, X3), X4) :- qcC(X1, X2, X3, X5, X6, X7, X8, X4). 20.83/6.34 mergecG([], []). 20.83/6.34 mergecG([], []). 20.83/6.34 mergecH(X1, X2, [], .(X1, X2)). 20.83/6.35 mergecH(X1, X2, .(X1, X3), .(X1, X4)) :- mergecH(X1, X2, X3, X4). 20.83/6.35 20.83/6.35 Afs: 20.83/6.35 20.83/6.35 mergesortI(x1, x2) = mergesortI(x2) 20.83/6.35 20.83/6.35 20.83/6.35 ---------------------------------------- 20.83/6.35 20.83/6.35 (174) TriplesToPiDPProof (SOUND) 20.83/6.35 We use the technique of [DT09]. With regard to the inferred argument filtering the predicates were used in the following modes: 20.83/6.35 20.83/6.35 mergesortI_in_2: (f,b) 20.83/6.35 20.83/6.35 splitB_in_4: (f,f,f,f) (f,b,f,f) 20.83/6.35 20.83/6.35 splitA_in_3: (f,f,f) (b,f,f) 20.83/6.35 20.83/6.35 splitcB_in_4: (f,f,f,f) (f,b,f,f) 20.83/6.35 20.83/6.35 splitcA_in_3: (f,f,f) (b,f,f) 20.83/6.35 20.83/6.35 mergesortF_in_3: (f,b,f) 20.83/6.35 20.83/6.35 pC_in_8: (f,f,b,f,f,f,f,f) 20.83/6.35 20.83/6.35 mergesortE_in_2: (b,f) 20.83/6.35 20.83/6.35 mergesortcE_in_2: (b,f) 20.83/6.35 20.83/6.35 qcC_in_8: (f,f,b,f,f,f,f,f) 20.83/6.35 20.83/6.35 mergecD_in_3: (b,b,f) 20.83/6.35 20.83/6.35 mergeD_in_3: (b,b,f) 20.83/6.35 20.83/6.35 mergesortcF_in_3: (f,b,f) 20.83/6.35 20.83/6.35 mergeH_in_4: (f,b,b,b) 20.83/6.35 20.83/6.35 Transforming TRIPLES into the following Term Rewriting System: 20.83/6.35 20.83/6.35 Pi DP problem: 20.83/6.35 The TRS P consists of the following rules: 20.83/6.35 20.83/6.35 MERGESORTI_IN_AG(.(X1, .(X2, X3)), []) -> U14_AG(X1, X2, X3, splitB_in_aaaa(X2, X3, X4, X5)) 20.83/6.35 MERGESORTI_IN_AG(.(X1, .(X2, X3)), []) -> SPLITB_IN_AAAA(X2, X3, X4, X5) 20.83/6.35 SPLITB_IN_AAAA(X1, X2, .(X1, X3), X4) -> U2_AAAA(X1, X2, X3, X4, splitA_in_aaa(X2, X4, X3)) 20.83/6.35 SPLITB_IN_AAAA(X1, X2, .(X1, X3), X4) -> SPLITA_IN_AAA(X2, X4, X3) 20.83/6.35 SPLITA_IN_AAA(.(X1, X2), .(X1, X3), X4) -> U1_AAA(X1, X2, X3, X4, splitA_in_aaa(X2, X4, X3)) 20.83/6.35 SPLITA_IN_AAA(.(X1, X2), .(X1, X3), X4) -> SPLITA_IN_AAA(X2, X4, X3) 20.83/6.35 MERGESORTI_IN_AG(.(X1, .(X2, X3)), []) -> U15_AG(X1, X2, X3, splitcB_in_aaaa(X2, X3, X4, X5)) 20.83/6.35 U15_AG(X1, X2, X3, splitcB_out_aaaa(X2, X3, X4, X5)) -> U16_AG(X1, X2, X3, mergesortF_in_aga(X1, X5, X6)) 20.83/6.35 U15_AG(X1, X2, X3, splitcB_out_aaaa(X2, X3, X4, X5)) -> MERGESORTF_IN_AGA(X1, X5, X6) 20.83/6.35 MERGESORTF_IN_AGA(X1, .(X2, X3), X4) -> U12_AGA(X1, X2, X3, X4, pC_in_aagaaaaa(X1, X2, X3, X5, X6, X7, X8, X4)) 20.83/6.35 MERGESORTF_IN_AGA(X1, .(X2, X3), X4) -> PC_IN_AAGAAAAA(X1, X2, X3, X5, X6, X7, X8, X4) 20.83/6.35 PC_IN_AAGAAAAA(X1, X2, X3, X4, X5, X6, X7, X8) -> U3_AAGAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, splitB_in_agaa(X1, .(X2, X3), X4, X5)) 20.83/6.35 PC_IN_AAGAAAAA(X1, X2, X3, X4, X5, X6, X7, X8) -> SPLITB_IN_AGAA(X1, .(X2, X3), X4, X5) 20.83/6.35 SPLITB_IN_AGAA(X1, X2, .(X1, X3), X4) -> U2_AGAA(X1, X2, X3, X4, splitA_in_gaa(X2, X4, X3)) 20.83/6.35 SPLITB_IN_AGAA(X1, X2, .(X1, X3), X4) -> SPLITA_IN_GAA(X2, X4, X3) 20.83/6.35 SPLITA_IN_GAA(.(X1, X2), .(X1, X3), X4) -> U1_GAA(X1, X2, X3, X4, splitA_in_gaa(X2, X4, X3)) 20.83/6.35 SPLITA_IN_GAA(.(X1, X2), .(X1, X3), X4) -> SPLITA_IN_GAA(X2, X4, X3) 20.83/6.35 PC_IN_AAGAAAAA(X1, X2, X3, X4, X5, X6, X7, X8) -> U4_AAGAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, splitcB_in_agaa(X1, .(X2, X3), X4, X5)) 20.83/6.35 U4_AAGAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, splitcB_out_agaa(X1, .(X2, X3), X4, X5)) -> U5_AAGAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, mergesortE_in_ga(X4, X6)) 20.83/6.35 U4_AAGAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, splitcB_out_agaa(X1, .(X2, X3), X4, X5)) -> MERGESORTE_IN_GA(X4, X6) 20.83/6.35 MERGESORTE_IN_GA(.(X1, .(X2, X3)), X4) -> U10_GA(X1, X2, X3, X4, pC_in_aagaaaaa(X1, X2, X3, X5, X6, X7, X8, X4)) 20.83/6.35 MERGESORTE_IN_GA(.(X1, .(X2, X3)), X4) -> PC_IN_AAGAAAAA(X1, X2, X3, X5, X6, X7, X8, X4) 20.83/6.35 U4_AAGAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, splitcB_out_agaa(X1, .(X2, X3), X4, X5)) -> U6_AAGAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_in_ga(X4, X6)) 20.83/6.35 U6_AAGAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_out_ga(X4, X6)) -> U7_AAGAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, mergesortE_in_ga(X5, X7)) 20.83/6.35 U6_AAGAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_out_ga(X4, X6)) -> MERGESORTE_IN_GA(X5, X7) 20.83/6.35 U6_AAGAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_out_ga(X4, X6)) -> U8_AAGAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_in_ga(X5, X7)) 20.83/6.35 U8_AAGAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_out_ga(X5, X7)) -> U9_AAGAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, mergeD_in_gga(X6, X7, X8)) 20.83/6.35 U8_AAGAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_out_ga(X5, X7)) -> MERGED_IN_GGA(X6, X7, X8) 20.83/6.35 MERGED_IN_GGA(.(X1, X2), .(X1, X3), .(X1, X4)) -> U11_GGA(X1, X2, X3, X4, mergeD_in_gga(.(X1, X2), X3, X4)) 20.83/6.35 MERGED_IN_GGA(.(X1, X2), .(X1, X3), .(X1, X4)) -> MERGED_IN_GGA(.(X1, X2), X3, X4) 20.83/6.35 U15_AG(X1, X2, X3, splitcB_out_aaaa(X2, X3, X4, X5)) -> U17_AG(X1, X2, X3, X4, mergesortcF_in_aga(X1, X5, X6)) 20.83/6.35 U17_AG(X1, X2, X3, X4, mergesortcF_out_aga(X1, X5, X6)) -> U18_AG(X1, X2, X3, mergesortE_in_ga(X4, X7)) 20.83/6.35 U17_AG(X1, X2, X3, X4, mergesortcF_out_aga(X1, X5, X6)) -> MERGESORTE_IN_GA(X4, X7) 20.83/6.35 MERGESORTI_IN_AG(.(X1, .(X2, X3)), .(X4, [])) -> U19_AG(X1, X2, X3, X4, splitB_in_aaaa(X2, X3, X5, X6)) 20.83/6.35 MERGESORTI_IN_AG(.(X1, .(X2, X3)), .(X4, [])) -> SPLITB_IN_AAAA(X2, X3, X5, X6) 20.83/6.35 MERGESORTI_IN_AG(.(X1, .(X2, X3)), .(X4, [])) -> U20_AG(X1, X2, X3, X4, splitcB_in_aaaa(X2, X3, X5, X6)) 20.83/6.35 U20_AG(X1, X2, X3, X4, splitcB_out_aaaa(X2, X3, X5, X6)) -> U21_AG(X1, X2, X3, X4, mergesortF_in_aga(X1, X6, X7)) 20.83/6.35 U20_AG(X1, X2, X3, X4, splitcB_out_aaaa(X2, X3, X5, X6)) -> MERGESORTF_IN_AGA(X1, X6, X7) 20.83/6.35 U20_AG(X1, X2, X3, X4, splitcB_out_aaaa(X2, X3, X5, X6)) -> U22_AG(X1, X2, X3, X4, X5, mergesortcF_in_aga(X1, X6, X7)) 20.83/6.35 U22_AG(X1, X2, X3, X4, X5, mergesortcF_out_aga(X1, X6, X7)) -> U23_AG(X1, X2, X3, X4, mergesortE_in_ga(X5, X8)) 20.83/6.35 U22_AG(X1, X2, X3, X4, X5, mergesortcF_out_aga(X1, X6, X7)) -> MERGESORTE_IN_GA(X5, X8) 20.83/6.35 MERGESORTI_IN_AG(.(X1, .(X2, X3)), X4) -> U24_AG(X1, X2, X3, X4, splitB_in_aaaa(X2, X3, X5, X6)) 20.83/6.35 MERGESORTI_IN_AG(.(X1, .(X2, X3)), X4) -> SPLITB_IN_AAAA(X2, X3, X5, X6) 20.83/6.35 MERGESORTI_IN_AG(.(X1, .(X2, X3)), X4) -> U25_AG(X1, X2, X3, X4, splitcB_in_aaaa(X2, X3, X5, X6)) 20.83/6.35 U25_AG(X1, X2, X3, X4, splitcB_out_aaaa(X2, X3, X5, X6)) -> U26_AG(X1, X2, X3, X4, mergesortF_in_aga(X1, X6, X7)) 20.83/6.35 U25_AG(X1, X2, X3, X4, splitcB_out_aaaa(X2, X3, X5, X6)) -> MERGESORTF_IN_AGA(X1, X6, X7) 20.83/6.35 U25_AG(X1, X2, X3, X4, splitcB_out_aaaa(X2, X3, X5, X6)) -> U27_AG(X1, X2, X3, X4, X5, mergesortcF_in_aga(X1, X6, X7)) 20.83/6.35 U27_AG(X1, X2, X3, X4, X5, mergesortcF_out_aga(X1, X6, X7)) -> U28_AG(X1, X2, X3, X4, mergesortE_in_ga(X5, X8)) 20.83/6.35 U27_AG(X1, X2, X3, X4, X5, mergesortcF_out_aga(X1, X6, X7)) -> MERGESORTE_IN_GA(X5, X8) 20.83/6.35 MERGESORTI_IN_AG(.(X1, .(X2, X3)), .(X4, .(X4, X5))) -> U29_AG(X1, X2, X3, X4, X5, splitcB_in_aaaa(X2, X3, X6, X7)) 20.83/6.35 U29_AG(X1, X2, X3, X4, X5, splitcB_out_aaaa(X2, X3, X6, X7)) -> U30_AG(X1, X2, X3, X4, X5, X6, mergesortcF_in_aga(X1, X7, .(X4, X8))) 20.83/6.35 U30_AG(X1, X2, X3, X4, X5, X6, mergesortcF_out_aga(X1, X7, .(X4, X8))) -> U31_AG(X1, X2, X3, X4, X5, X8, mergesortcE_in_ga(X6, .(X4, .(X4, X9)))) 20.83/6.35 U31_AG(X1, X2, X3, X4, X5, X8, mergesortcE_out_ga(X6, .(X4, .(X4, X9)))) -> U32_AG(X1, X2, X3, X4, X5, mergeH_in_aggg(X4, X8, X9, X5)) 20.83/6.35 U31_AG(X1, X2, X3, X4, X5, X8, mergesortcE_out_ga(X6, .(X4, .(X4, X9)))) -> MERGEH_IN_AGGG(X4, X8, X9, X5) 20.83/6.35 MERGEH_IN_AGGG(X1, X2, .(X1, X3), .(X1, X4)) -> U13_AGGG(X1, X2, X3, X4, mergeH_in_aggg(X1, X2, X3, X4)) 20.83/6.35 MERGEH_IN_AGGG(X1, X2, .(X1, X3), .(X1, X4)) -> MERGEH_IN_AGGG(X1, X2, X3, X4) 20.83/6.35 20.83/6.35 The TRS R consists of the following rules: 20.83/6.35 20.83/6.35 splitcB_in_aaaa(X1, X2, .(X1, X3), X4) -> U35_aaaa(X1, X2, X3, X4, splitcA_in_aaa(X2, X4, X3)) 20.83/6.35 splitcA_in_aaa([], [], []) -> splitcA_out_aaa([], [], []) 20.83/6.35 splitcA_in_aaa(.(X1, X2), .(X1, X3), X4) -> U34_aaa(X1, X2, X3, X4, splitcA_in_aaa(X2, X4, X3)) 20.83/6.35 U34_aaa(X1, X2, X3, X4, splitcA_out_aaa(X2, X4, X3)) -> splitcA_out_aaa(.(X1, X2), .(X1, X3), X4) 20.83/6.35 U35_aaaa(X1, X2, X3, X4, splitcA_out_aaa(X2, X4, X3)) -> splitcB_out_aaaa(X1, X2, .(X1, X3), X4) 20.83/6.35 splitcB_in_agaa(X1, X2, .(X1, X3), X4) -> U35_agaa(X1, X2, X3, X4, splitcA_in_gaa(X2, X4, X3)) 20.83/6.35 splitcA_in_gaa([], [], []) -> splitcA_out_gaa([], [], []) 20.83/6.35 splitcA_in_gaa(.(X1, X2), .(X1, X3), X4) -> U34_gaa(X1, X2, X3, X4, splitcA_in_gaa(X2, X4, X3)) 20.83/6.35 U34_gaa(X1, X2, X3, X4, splitcA_out_gaa(X2, X4, X3)) -> splitcA_out_gaa(.(X1, X2), .(X1, X3), X4) 20.83/6.35 U35_agaa(X1, X2, X3, X4, splitcA_out_gaa(X2, X4, X3)) -> splitcB_out_agaa(X1, X2, .(X1, X3), X4) 20.83/6.35 mergesortcE_in_ga([], []) -> mergesortcE_out_ga([], []) 20.83/6.35 mergesortcE_in_ga(.(X1, []), .(X1, [])) -> mergesortcE_out_ga(.(X1, []), .(X1, [])) 20.83/6.35 mergesortcE_in_ga(.(X1, .(X2, X3)), X4) -> U40_ga(X1, X2, X3, X4, qcC_in_aagaaaaa(X1, X2, X3, X5, X6, X7, X8, X4)) 20.83/6.35 qcC_in_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8) -> U36_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, splitcB_in_agaa(X1, .(X2, X3), X4, X5)) 20.83/6.35 U36_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, splitcB_out_agaa(X1, .(X2, X3), X4, X5)) -> U37_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_in_ga(X4, X6)) 20.83/6.35 U37_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_out_ga(X4, X6)) -> U38_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_in_ga(X5, X7)) 20.83/6.35 U38_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_out_ga(X5, X7)) -> U39_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, mergecD_in_gga(X6, X7, X8)) 20.83/6.35 mergecD_in_gga([], X1, X1) -> mergecD_out_gga([], X1, X1) 20.83/6.35 mergecD_in_gga(X1, [], X1) -> mergecD_out_gga(X1, [], X1) 20.83/6.35 mergecD_in_gga(.(X1, X2), .(X1, X3), .(X1, X4)) -> U41_gga(X1, X2, X3, X4, mergecD_in_gga(.(X1, X2), X3, X4)) 20.83/6.35 U41_gga(X1, X2, X3, X4, mergecD_out_gga(.(X1, X2), X3, X4)) -> mergecD_out_gga(.(X1, X2), .(X1, X3), .(X1, X4)) 20.83/6.35 U39_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, mergecD_out_gga(X6, X7, X8)) -> qcC_out_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8) 20.83/6.35 U40_ga(X1, X2, X3, X4, qcC_out_aagaaaaa(X1, X2, X3, X5, X6, X7, X8, X4)) -> mergesortcE_out_ga(.(X1, .(X2, X3)), X4) 20.83/6.35 mergesortcF_in_aga(X1, [], .(X1, [])) -> mergesortcF_out_aga(X1, [], .(X1, [])) 20.83/6.35 mergesortcF_in_aga(X1, .(X2, X3), X4) -> U42_aga(X1, X2, X3, X4, qcC_in_aagaaaaa(X1, X2, X3, X5, X6, X7, X8, X4)) 20.83/6.35 U42_aga(X1, X2, X3, X4, qcC_out_aagaaaaa(X1, X2, X3, X5, X6, X7, X8, X4)) -> mergesortcF_out_aga(X1, .(X2, X3), X4) 20.83/6.35 20.83/6.35 The argument filtering Pi contains the following mapping: 20.83/6.35 [] = [] 20.83/6.35 20.83/6.35 splitB_in_aaaa(x1, x2, x3, x4) = splitB_in_aaaa 20.83/6.35 20.83/6.35 splitA_in_aaa(x1, x2, x3) = splitA_in_aaa 20.83/6.35 20.83/6.35 .(x1, x2) = .(x2) 20.83/6.35 20.83/6.35 splitcB_in_aaaa(x1, x2, x3, x4) = splitcB_in_aaaa 20.83/6.35 20.83/6.35 U35_aaaa(x1, x2, x3, x4, x5) = U35_aaaa(x5) 20.83/6.35 20.83/6.35 splitcA_in_aaa(x1, x2, x3) = splitcA_in_aaa 20.83/6.35 20.83/6.35 splitcA_out_aaa(x1, x2, x3) = splitcA_out_aaa(x1, x2, x3) 20.83/6.35 20.83/6.35 U34_aaa(x1, x2, x3, x4, x5) = U34_aaa(x5) 20.83/6.35 20.83/6.35 splitcB_out_aaaa(x1, x2, x3, x4) = splitcB_out_aaaa(x2, x3, x4) 20.83/6.35 20.83/6.35 mergesortF_in_aga(x1, x2, x3) = mergesortF_in_aga(x2) 20.83/6.35 20.83/6.35 pC_in_aagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8) = pC_in_aagaaaaa(x3) 20.83/6.35 20.83/6.35 splitB_in_agaa(x1, x2, x3, x4) = splitB_in_agaa(x2) 20.83/6.35 20.83/6.35 splitA_in_gaa(x1, x2, x3) = splitA_in_gaa(x1) 20.83/6.35 20.83/6.35 splitcB_in_agaa(x1, x2, x3, x4) = splitcB_in_agaa(x2) 20.83/6.35 20.83/6.35 U35_agaa(x1, x2, x3, x4, x5) = U35_agaa(x2, x5) 20.83/6.35 20.83/6.35 splitcA_in_gaa(x1, x2, x3) = splitcA_in_gaa(x1) 20.83/6.35 20.83/6.35 splitcA_out_gaa(x1, x2, x3) = splitcA_out_gaa(x1, x2, x3) 20.83/6.35 20.83/6.35 U34_gaa(x1, x2, x3, x4, x5) = U34_gaa(x2, x5) 20.83/6.35 20.83/6.35 splitcB_out_agaa(x1, x2, x3, x4) = splitcB_out_agaa(x2, x3, x4) 20.83/6.35 20.83/6.35 mergesortE_in_ga(x1, x2) = mergesortE_in_ga(x1) 20.83/6.35 20.83/6.35 mergesortcE_in_ga(x1, x2) = mergesortcE_in_ga(x1) 20.83/6.35 20.83/6.35 mergesortcE_out_ga(x1, x2) = mergesortcE_out_ga(x1, x2) 20.83/6.35 20.83/6.35 U40_ga(x1, x2, x3, x4, x5) = U40_ga(x3, x5) 20.83/6.35 20.83/6.35 qcC_in_aagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8) = qcC_in_aagaaaaa(x3) 20.83/6.35 20.83/6.35 U36_aagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9) = U36_aagaaaaa(x3, x9) 20.83/6.35 20.83/6.35 U37_aagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9) = U37_aagaaaaa(x3, x4, x5, x9) 20.83/6.35 20.83/6.35 U38_aagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9) = U38_aagaaaaa(x3, x4, x5, x6, x9) 20.83/6.35 20.83/6.35 U39_aagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9) = U39_aagaaaaa(x3, x4, x5, x6, x7, x9) 20.83/6.35 20.83/6.35 mergecD_in_gga(x1, x2, x3) = mergecD_in_gga(x1, x2) 20.83/6.35 20.83/6.35 mergecD_out_gga(x1, x2, x3) = mergecD_out_gga(x1, x2, x3) 20.83/6.35 20.83/6.35 U41_gga(x1, x2, x3, x4, x5) = U41_gga(x2, x3, x5) 20.83/6.35 20.83/6.35 qcC_out_aagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8) = qcC_out_aagaaaaa(x3, x4, x5, x6, x7, x8) 20.83/6.35 20.83/6.35 mergeD_in_gga(x1, x2, x3) = mergeD_in_gga(x1, x2) 20.83/6.35 20.83/6.35 mergesortcF_in_aga(x1, x2, x3) = mergesortcF_in_aga(x2) 20.83/6.35 20.83/6.35 mergesortcF_out_aga(x1, x2, x3) = mergesortcF_out_aga(x2, x3) 20.83/6.35 20.83/6.35 U42_aga(x1, x2, x3, x4, x5) = U42_aga(x3, x5) 20.83/6.35 20.83/6.35 mergeH_in_aggg(x1, x2, x3, x4) = mergeH_in_aggg(x2, x3, x4) 20.83/6.35 20.83/6.35 MERGESORTI_IN_AG(x1, x2) = MERGESORTI_IN_AG(x2) 20.83/6.35 20.83/6.35 U14_AG(x1, x2, x3, x4) = U14_AG(x4) 20.83/6.35 20.83/6.35 SPLITB_IN_AAAA(x1, x2, x3, x4) = SPLITB_IN_AAAA 20.83/6.35 20.83/6.35 U2_AAAA(x1, x2, x3, x4, x5) = U2_AAAA(x5) 20.83/6.35 20.83/6.35 SPLITA_IN_AAA(x1, x2, x3) = SPLITA_IN_AAA 20.83/6.35 20.83/6.35 U1_AAA(x1, x2, x3, x4, x5) = U1_AAA(x5) 20.83/6.35 20.83/6.35 U15_AG(x1, x2, x3, x4) = U15_AG(x4) 20.83/6.35 20.83/6.35 U16_AG(x1, x2, x3, x4) = U16_AG(x3, x4) 20.83/6.35 20.83/6.35 MERGESORTF_IN_AGA(x1, x2, x3) = MERGESORTF_IN_AGA(x2) 20.83/6.35 20.83/6.35 U12_AGA(x1, x2, x3, x4, x5) = U12_AGA(x3, x5) 20.83/6.35 20.83/6.35 PC_IN_AAGAAAAA(x1, x2, x3, x4, x5, x6, x7, x8) = PC_IN_AAGAAAAA(x3) 20.83/6.35 20.83/6.35 U3_AAGAAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9) = U3_AAGAAAAA(x3, x9) 20.83/6.35 20.83/6.35 SPLITB_IN_AGAA(x1, x2, x3, x4) = SPLITB_IN_AGAA(x2) 20.83/6.35 20.83/6.35 U2_AGAA(x1, x2, x3, x4, x5) = U2_AGAA(x2, x5) 20.83/6.35 20.83/6.35 SPLITA_IN_GAA(x1, x2, x3) = SPLITA_IN_GAA(x1) 20.83/6.35 20.83/6.35 U1_GAA(x1, x2, x3, x4, x5) = U1_GAA(x2, x5) 20.83/6.35 20.83/6.35 U4_AAGAAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9) = U4_AAGAAAAA(x3, x9) 20.83/6.35 20.83/6.35 U5_AAGAAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9) = U5_AAGAAAAA(x3, x4, x5, x9) 20.83/6.35 20.83/6.35 MERGESORTE_IN_GA(x1, x2) = MERGESORTE_IN_GA(x1) 20.83/6.35 20.83/6.35 U10_GA(x1, x2, x3, x4, x5) = U10_GA(x3, x5) 20.83/6.35 20.83/6.35 U6_AAGAAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9) = U6_AAGAAAAA(x3, x4, x5, x9) 20.83/6.35 20.83/6.35 U7_AAGAAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9) = U7_AAGAAAAA(x3, x4, x5, x9) 20.83/6.35 20.83/6.35 U8_AAGAAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9) = U8_AAGAAAAA(x3, x4, x5, x6, x9) 20.83/6.35 20.83/6.35 U9_AAGAAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9) = U9_AAGAAAAA(x3, x4, x5, x9) 20.83/6.35 20.83/6.35 MERGED_IN_GGA(x1, x2, x3) = MERGED_IN_GGA(x1, x2) 20.83/6.35 20.83/6.35 U11_GGA(x1, x2, x3, x4, x5) = U11_GGA(x2, x3, x5) 20.83/6.35 20.83/6.35 U17_AG(x1, x2, x3, x4, x5) = U17_AG(x3, x4, x5) 20.83/6.35 20.83/6.35 U18_AG(x1, x2, x3, x4) = U18_AG(x3, x4) 20.83/6.35 20.83/6.35 U19_AG(x1, x2, x3, x4, x5) = U19_AG(x5) 20.83/6.35 20.83/6.35 U20_AG(x1, x2, x3, x4, x5) = U20_AG(x5) 20.83/6.35 20.83/6.35 U21_AG(x1, x2, x3, x4, x5) = U21_AG(x3, x5) 20.83/6.35 20.83/6.35 U22_AG(x1, x2, x3, x4, x5, x6) = U22_AG(x3, x5, x6) 20.83/6.35 20.83/6.35 U23_AG(x1, x2, x3, x4, x5) = U23_AG(x3, x5) 20.83/6.35 20.83/6.35 U24_AG(x1, x2, x3, x4, x5) = U24_AG(x4, x5) 20.83/6.35 20.83/6.35 U25_AG(x1, x2, x3, x4, x5) = U25_AG(x4, x5) 20.83/6.35 20.83/6.35 U26_AG(x1, x2, x3, x4, x5) = U26_AG(x3, x4, x5) 20.83/6.35 20.83/6.35 U27_AG(x1, x2, x3, x4, x5, x6) = U27_AG(x3, x4, x5, x6) 20.83/6.35 20.83/6.35 U28_AG(x1, x2, x3, x4, x5) = U28_AG(x3, x4, x5) 20.83/6.35 20.83/6.35 U29_AG(x1, x2, x3, x4, x5, x6) = U29_AG(x5, x6) 20.83/6.35 20.83/6.35 U30_AG(x1, x2, x3, x4, x5, x6, x7) = U30_AG(x3, x5, x6, x7) 20.83/6.35 20.83/6.35 U31_AG(x1, x2, x3, x4, x5, x6, x7) = U31_AG(x3, x5, x6, x7) 20.83/6.35 20.83/6.35 U32_AG(x1, x2, x3, x4, x5, x6) = U32_AG(x3, x5, x6) 20.83/6.35 20.83/6.35 MERGEH_IN_AGGG(x1, x2, x3, x4) = MERGEH_IN_AGGG(x2, x3, x4) 20.83/6.35 20.83/6.35 U13_AGGG(x1, x2, x3, x4, x5) = U13_AGGG(x2, x3, x4, x5) 20.83/6.35 20.83/6.35 20.83/6.35 We have to consider all (P,R,Pi)-chains 20.83/6.35 20.83/6.35 20.83/6.35 Infinitary Constructor Rewriting Termination of PiDP implies Termination of TRIPLES 20.83/6.35 20.83/6.35 20.83/6.35 20.83/6.35 ---------------------------------------- 20.83/6.35 20.83/6.35 (175) 20.83/6.35 Obligation: 20.83/6.35 Pi DP problem: 20.83/6.35 The TRS P consists of the following rules: 20.83/6.35 20.83/6.35 MERGESORTI_IN_AG(.(X1, .(X2, X3)), []) -> U14_AG(X1, X2, X3, splitB_in_aaaa(X2, X3, X4, X5)) 20.83/6.35 MERGESORTI_IN_AG(.(X1, .(X2, X3)), []) -> SPLITB_IN_AAAA(X2, X3, X4, X5) 20.83/6.35 SPLITB_IN_AAAA(X1, X2, .(X1, X3), X4) -> U2_AAAA(X1, X2, X3, X4, splitA_in_aaa(X2, X4, X3)) 20.83/6.35 SPLITB_IN_AAAA(X1, X2, .(X1, X3), X4) -> SPLITA_IN_AAA(X2, X4, X3) 20.83/6.35 SPLITA_IN_AAA(.(X1, X2), .(X1, X3), X4) -> U1_AAA(X1, X2, X3, X4, splitA_in_aaa(X2, X4, X3)) 20.83/6.35 SPLITA_IN_AAA(.(X1, X2), .(X1, X3), X4) -> SPLITA_IN_AAA(X2, X4, X3) 20.83/6.35 MERGESORTI_IN_AG(.(X1, .(X2, X3)), []) -> U15_AG(X1, X2, X3, splitcB_in_aaaa(X2, X3, X4, X5)) 20.83/6.35 U15_AG(X1, X2, X3, splitcB_out_aaaa(X2, X3, X4, X5)) -> U16_AG(X1, X2, X3, mergesortF_in_aga(X1, X5, X6)) 20.83/6.35 U15_AG(X1, X2, X3, splitcB_out_aaaa(X2, X3, X4, X5)) -> MERGESORTF_IN_AGA(X1, X5, X6) 20.83/6.35 MERGESORTF_IN_AGA(X1, .(X2, X3), X4) -> U12_AGA(X1, X2, X3, X4, pC_in_aagaaaaa(X1, X2, X3, X5, X6, X7, X8, X4)) 20.83/6.35 MERGESORTF_IN_AGA(X1, .(X2, X3), X4) -> PC_IN_AAGAAAAA(X1, X2, X3, X5, X6, X7, X8, X4) 20.83/6.35 PC_IN_AAGAAAAA(X1, X2, X3, X4, X5, X6, X7, X8) -> U3_AAGAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, splitB_in_agaa(X1, .(X2, X3), X4, X5)) 20.83/6.35 PC_IN_AAGAAAAA(X1, X2, X3, X4, X5, X6, X7, X8) -> SPLITB_IN_AGAA(X1, .(X2, X3), X4, X5) 20.83/6.35 SPLITB_IN_AGAA(X1, X2, .(X1, X3), X4) -> U2_AGAA(X1, X2, X3, X4, splitA_in_gaa(X2, X4, X3)) 20.83/6.35 SPLITB_IN_AGAA(X1, X2, .(X1, X3), X4) -> SPLITA_IN_GAA(X2, X4, X3) 20.83/6.35 SPLITA_IN_GAA(.(X1, X2), .(X1, X3), X4) -> U1_GAA(X1, X2, X3, X4, splitA_in_gaa(X2, X4, X3)) 20.83/6.35 SPLITA_IN_GAA(.(X1, X2), .(X1, X3), X4) -> SPLITA_IN_GAA(X2, X4, X3) 20.83/6.35 PC_IN_AAGAAAAA(X1, X2, X3, X4, X5, X6, X7, X8) -> U4_AAGAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, splitcB_in_agaa(X1, .(X2, X3), X4, X5)) 20.83/6.35 U4_AAGAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, splitcB_out_agaa(X1, .(X2, X3), X4, X5)) -> U5_AAGAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, mergesortE_in_ga(X4, X6)) 20.83/6.35 U4_AAGAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, splitcB_out_agaa(X1, .(X2, X3), X4, X5)) -> MERGESORTE_IN_GA(X4, X6) 20.83/6.35 MERGESORTE_IN_GA(.(X1, .(X2, X3)), X4) -> U10_GA(X1, X2, X3, X4, pC_in_aagaaaaa(X1, X2, X3, X5, X6, X7, X8, X4)) 20.83/6.35 MERGESORTE_IN_GA(.(X1, .(X2, X3)), X4) -> PC_IN_AAGAAAAA(X1, X2, X3, X5, X6, X7, X8, X4) 20.83/6.35 U4_AAGAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, splitcB_out_agaa(X1, .(X2, X3), X4, X5)) -> U6_AAGAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_in_ga(X4, X6)) 20.83/6.35 U6_AAGAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_out_ga(X4, X6)) -> U7_AAGAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, mergesortE_in_ga(X5, X7)) 20.83/6.35 U6_AAGAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_out_ga(X4, X6)) -> MERGESORTE_IN_GA(X5, X7) 20.83/6.35 U6_AAGAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_out_ga(X4, X6)) -> U8_AAGAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_in_ga(X5, X7)) 20.83/6.35 U8_AAGAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_out_ga(X5, X7)) -> U9_AAGAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, mergeD_in_gga(X6, X7, X8)) 20.83/6.35 U8_AAGAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_out_ga(X5, X7)) -> MERGED_IN_GGA(X6, X7, X8) 20.83/6.35 MERGED_IN_GGA(.(X1, X2), .(X1, X3), .(X1, X4)) -> U11_GGA(X1, X2, X3, X4, mergeD_in_gga(.(X1, X2), X3, X4)) 20.83/6.35 MERGED_IN_GGA(.(X1, X2), .(X1, X3), .(X1, X4)) -> MERGED_IN_GGA(.(X1, X2), X3, X4) 20.83/6.35 U15_AG(X1, X2, X3, splitcB_out_aaaa(X2, X3, X4, X5)) -> U17_AG(X1, X2, X3, X4, mergesortcF_in_aga(X1, X5, X6)) 20.83/6.35 U17_AG(X1, X2, X3, X4, mergesortcF_out_aga(X1, X5, X6)) -> U18_AG(X1, X2, X3, mergesortE_in_ga(X4, X7)) 20.83/6.35 U17_AG(X1, X2, X3, X4, mergesortcF_out_aga(X1, X5, X6)) -> MERGESORTE_IN_GA(X4, X7) 20.83/6.35 MERGESORTI_IN_AG(.(X1, .(X2, X3)), .(X4, [])) -> U19_AG(X1, X2, X3, X4, splitB_in_aaaa(X2, X3, X5, X6)) 20.83/6.35 MERGESORTI_IN_AG(.(X1, .(X2, X3)), .(X4, [])) -> SPLITB_IN_AAAA(X2, X3, X5, X6) 20.83/6.35 MERGESORTI_IN_AG(.(X1, .(X2, X3)), .(X4, [])) -> U20_AG(X1, X2, X3, X4, splitcB_in_aaaa(X2, X3, X5, X6)) 20.83/6.35 U20_AG(X1, X2, X3, X4, splitcB_out_aaaa(X2, X3, X5, X6)) -> U21_AG(X1, X2, X3, X4, mergesortF_in_aga(X1, X6, X7)) 20.83/6.35 U20_AG(X1, X2, X3, X4, splitcB_out_aaaa(X2, X3, X5, X6)) -> MERGESORTF_IN_AGA(X1, X6, X7) 20.83/6.35 U20_AG(X1, X2, X3, X4, splitcB_out_aaaa(X2, X3, X5, X6)) -> U22_AG(X1, X2, X3, X4, X5, mergesortcF_in_aga(X1, X6, X7)) 20.83/6.35 U22_AG(X1, X2, X3, X4, X5, mergesortcF_out_aga(X1, X6, X7)) -> U23_AG(X1, X2, X3, X4, mergesortE_in_ga(X5, X8)) 20.83/6.35 U22_AG(X1, X2, X3, X4, X5, mergesortcF_out_aga(X1, X6, X7)) -> MERGESORTE_IN_GA(X5, X8) 20.83/6.35 MERGESORTI_IN_AG(.(X1, .(X2, X3)), X4) -> U24_AG(X1, X2, X3, X4, splitB_in_aaaa(X2, X3, X5, X6)) 20.83/6.35 MERGESORTI_IN_AG(.(X1, .(X2, X3)), X4) -> SPLITB_IN_AAAA(X2, X3, X5, X6) 20.83/6.35 MERGESORTI_IN_AG(.(X1, .(X2, X3)), X4) -> U25_AG(X1, X2, X3, X4, splitcB_in_aaaa(X2, X3, X5, X6)) 20.83/6.35 U25_AG(X1, X2, X3, X4, splitcB_out_aaaa(X2, X3, X5, X6)) -> U26_AG(X1, X2, X3, X4, mergesortF_in_aga(X1, X6, X7)) 20.83/6.35 U25_AG(X1, X2, X3, X4, splitcB_out_aaaa(X2, X3, X5, X6)) -> MERGESORTF_IN_AGA(X1, X6, X7) 20.83/6.35 U25_AG(X1, X2, X3, X4, splitcB_out_aaaa(X2, X3, X5, X6)) -> U27_AG(X1, X2, X3, X4, X5, mergesortcF_in_aga(X1, X6, X7)) 20.83/6.35 U27_AG(X1, X2, X3, X4, X5, mergesortcF_out_aga(X1, X6, X7)) -> U28_AG(X1, X2, X3, X4, mergesortE_in_ga(X5, X8)) 20.83/6.35 U27_AG(X1, X2, X3, X4, X5, mergesortcF_out_aga(X1, X6, X7)) -> MERGESORTE_IN_GA(X5, X8) 20.83/6.35 MERGESORTI_IN_AG(.(X1, .(X2, X3)), .(X4, .(X4, X5))) -> U29_AG(X1, X2, X3, X4, X5, splitcB_in_aaaa(X2, X3, X6, X7)) 20.83/6.35 U29_AG(X1, X2, X3, X4, X5, splitcB_out_aaaa(X2, X3, X6, X7)) -> U30_AG(X1, X2, X3, X4, X5, X6, mergesortcF_in_aga(X1, X7, .(X4, X8))) 20.83/6.35 U30_AG(X1, X2, X3, X4, X5, X6, mergesortcF_out_aga(X1, X7, .(X4, X8))) -> U31_AG(X1, X2, X3, X4, X5, X8, mergesortcE_in_ga(X6, .(X4, .(X4, X9)))) 20.83/6.35 U31_AG(X1, X2, X3, X4, X5, X8, mergesortcE_out_ga(X6, .(X4, .(X4, X9)))) -> U32_AG(X1, X2, X3, X4, X5, mergeH_in_aggg(X4, X8, X9, X5)) 20.83/6.35 U31_AG(X1, X2, X3, X4, X5, X8, mergesortcE_out_ga(X6, .(X4, .(X4, X9)))) -> MERGEH_IN_AGGG(X4, X8, X9, X5) 20.83/6.35 MERGEH_IN_AGGG(X1, X2, .(X1, X3), .(X1, X4)) -> U13_AGGG(X1, X2, X3, X4, mergeH_in_aggg(X1, X2, X3, X4)) 20.83/6.35 MERGEH_IN_AGGG(X1, X2, .(X1, X3), .(X1, X4)) -> MERGEH_IN_AGGG(X1, X2, X3, X4) 20.83/6.35 20.83/6.35 The TRS R consists of the following rules: 20.83/6.35 20.83/6.35 splitcB_in_aaaa(X1, X2, .(X1, X3), X4) -> U35_aaaa(X1, X2, X3, X4, splitcA_in_aaa(X2, X4, X3)) 20.83/6.35 splitcA_in_aaa([], [], []) -> splitcA_out_aaa([], [], []) 20.83/6.35 splitcA_in_aaa(.(X1, X2), .(X1, X3), X4) -> U34_aaa(X1, X2, X3, X4, splitcA_in_aaa(X2, X4, X3)) 20.83/6.35 U34_aaa(X1, X2, X3, X4, splitcA_out_aaa(X2, X4, X3)) -> splitcA_out_aaa(.(X1, X2), .(X1, X3), X4) 20.83/6.35 U35_aaaa(X1, X2, X3, X4, splitcA_out_aaa(X2, X4, X3)) -> splitcB_out_aaaa(X1, X2, .(X1, X3), X4) 20.83/6.35 splitcB_in_agaa(X1, X2, .(X1, X3), X4) -> U35_agaa(X1, X2, X3, X4, splitcA_in_gaa(X2, X4, X3)) 20.83/6.35 splitcA_in_gaa([], [], []) -> splitcA_out_gaa([], [], []) 20.83/6.35 splitcA_in_gaa(.(X1, X2), .(X1, X3), X4) -> U34_gaa(X1, X2, X3, X4, splitcA_in_gaa(X2, X4, X3)) 20.83/6.35 U34_gaa(X1, X2, X3, X4, splitcA_out_gaa(X2, X4, X3)) -> splitcA_out_gaa(.(X1, X2), .(X1, X3), X4) 20.83/6.35 U35_agaa(X1, X2, X3, X4, splitcA_out_gaa(X2, X4, X3)) -> splitcB_out_agaa(X1, X2, .(X1, X3), X4) 20.83/6.35 mergesortcE_in_ga([], []) -> mergesortcE_out_ga([], []) 20.83/6.35 mergesortcE_in_ga(.(X1, []), .(X1, [])) -> mergesortcE_out_ga(.(X1, []), .(X1, [])) 20.83/6.35 mergesortcE_in_ga(.(X1, .(X2, X3)), X4) -> U40_ga(X1, X2, X3, X4, qcC_in_aagaaaaa(X1, X2, X3, X5, X6, X7, X8, X4)) 20.83/6.35 qcC_in_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8) -> U36_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, splitcB_in_agaa(X1, .(X2, X3), X4, X5)) 20.83/6.35 U36_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, splitcB_out_agaa(X1, .(X2, X3), X4, X5)) -> U37_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_in_ga(X4, X6)) 20.83/6.35 U37_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_out_ga(X4, X6)) -> U38_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_in_ga(X5, X7)) 20.83/6.35 U38_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_out_ga(X5, X7)) -> U39_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, mergecD_in_gga(X6, X7, X8)) 20.83/6.35 mergecD_in_gga([], X1, X1) -> mergecD_out_gga([], X1, X1) 20.83/6.35 mergecD_in_gga(X1, [], X1) -> mergecD_out_gga(X1, [], X1) 20.83/6.35 mergecD_in_gga(.(X1, X2), .(X1, X3), .(X1, X4)) -> U41_gga(X1, X2, X3, X4, mergecD_in_gga(.(X1, X2), X3, X4)) 20.83/6.35 U41_gga(X1, X2, X3, X4, mergecD_out_gga(.(X1, X2), X3, X4)) -> mergecD_out_gga(.(X1, X2), .(X1, X3), .(X1, X4)) 20.83/6.35 U39_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, mergecD_out_gga(X6, X7, X8)) -> qcC_out_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8) 20.83/6.35 U40_ga(X1, X2, X3, X4, qcC_out_aagaaaaa(X1, X2, X3, X5, X6, X7, X8, X4)) -> mergesortcE_out_ga(.(X1, .(X2, X3)), X4) 20.83/6.35 mergesortcF_in_aga(X1, [], .(X1, [])) -> mergesortcF_out_aga(X1, [], .(X1, [])) 20.83/6.35 mergesortcF_in_aga(X1, .(X2, X3), X4) -> U42_aga(X1, X2, X3, X4, qcC_in_aagaaaaa(X1, X2, X3, X5, X6, X7, X8, X4)) 20.83/6.35 U42_aga(X1, X2, X3, X4, qcC_out_aagaaaaa(X1, X2, X3, X5, X6, X7, X8, X4)) -> mergesortcF_out_aga(X1, .(X2, X3), X4) 20.83/6.35 20.83/6.35 The argument filtering Pi contains the following mapping: 20.83/6.35 [] = [] 20.83/6.35 20.83/6.35 splitB_in_aaaa(x1, x2, x3, x4) = splitB_in_aaaa 20.83/6.35 20.83/6.35 splitA_in_aaa(x1, x2, x3) = splitA_in_aaa 20.83/6.35 20.83/6.35 .(x1, x2) = .(x2) 20.83/6.35 20.83/6.35 splitcB_in_aaaa(x1, x2, x3, x4) = splitcB_in_aaaa 20.83/6.35 20.83/6.35 U35_aaaa(x1, x2, x3, x4, x5) = U35_aaaa(x5) 20.83/6.35 20.83/6.35 splitcA_in_aaa(x1, x2, x3) = splitcA_in_aaa 20.83/6.35 20.83/6.35 splitcA_out_aaa(x1, x2, x3) = splitcA_out_aaa(x1, x2, x3) 20.83/6.35 20.83/6.35 U34_aaa(x1, x2, x3, x4, x5) = U34_aaa(x5) 20.83/6.35 20.83/6.35 splitcB_out_aaaa(x1, x2, x3, x4) = splitcB_out_aaaa(x2, x3, x4) 20.83/6.35 20.83/6.35 mergesortF_in_aga(x1, x2, x3) = mergesortF_in_aga(x2) 20.83/6.35 20.83/6.35 pC_in_aagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8) = pC_in_aagaaaaa(x3) 20.83/6.35 20.83/6.35 splitB_in_agaa(x1, x2, x3, x4) = splitB_in_agaa(x2) 20.83/6.35 20.83/6.35 splitA_in_gaa(x1, x2, x3) = splitA_in_gaa(x1) 20.83/6.35 20.83/6.35 splitcB_in_agaa(x1, x2, x3, x4) = splitcB_in_agaa(x2) 20.83/6.35 20.83/6.35 U35_agaa(x1, x2, x3, x4, x5) = U35_agaa(x2, x5) 20.83/6.35 20.83/6.35 splitcA_in_gaa(x1, x2, x3) = splitcA_in_gaa(x1) 20.83/6.35 20.83/6.35 splitcA_out_gaa(x1, x2, x3) = splitcA_out_gaa(x1, x2, x3) 20.83/6.35 20.83/6.35 U34_gaa(x1, x2, x3, x4, x5) = U34_gaa(x2, x5) 20.83/6.35 20.83/6.35 splitcB_out_agaa(x1, x2, x3, x4) = splitcB_out_agaa(x2, x3, x4) 20.83/6.35 20.83/6.35 mergesortE_in_ga(x1, x2) = mergesortE_in_ga(x1) 20.83/6.35 20.83/6.35 mergesortcE_in_ga(x1, x2) = mergesortcE_in_ga(x1) 20.83/6.35 20.83/6.35 mergesortcE_out_ga(x1, x2) = mergesortcE_out_ga(x1, x2) 20.83/6.35 20.83/6.35 U40_ga(x1, x2, x3, x4, x5) = U40_ga(x3, x5) 20.83/6.35 20.83/6.35 qcC_in_aagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8) = qcC_in_aagaaaaa(x3) 20.83/6.35 20.83/6.35 U36_aagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9) = U36_aagaaaaa(x3, x9) 20.83/6.35 20.83/6.35 U37_aagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9) = U37_aagaaaaa(x3, x4, x5, x9) 20.83/6.35 20.83/6.35 U38_aagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9) = U38_aagaaaaa(x3, x4, x5, x6, x9) 20.83/6.35 20.83/6.35 U39_aagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9) = U39_aagaaaaa(x3, x4, x5, x6, x7, x9) 20.83/6.35 20.83/6.35 mergecD_in_gga(x1, x2, x3) = mergecD_in_gga(x1, x2) 20.83/6.35 20.83/6.35 mergecD_out_gga(x1, x2, x3) = mergecD_out_gga(x1, x2, x3) 20.83/6.35 20.83/6.35 U41_gga(x1, x2, x3, x4, x5) = U41_gga(x2, x3, x5) 20.83/6.35 20.83/6.35 qcC_out_aagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8) = qcC_out_aagaaaaa(x3, x4, x5, x6, x7, x8) 20.83/6.35 20.83/6.35 mergeD_in_gga(x1, x2, x3) = mergeD_in_gga(x1, x2) 20.83/6.35 20.83/6.35 mergesortcF_in_aga(x1, x2, x3) = mergesortcF_in_aga(x2) 20.83/6.35 20.83/6.35 mergesortcF_out_aga(x1, x2, x3) = mergesortcF_out_aga(x2, x3) 20.83/6.35 20.83/6.35 U42_aga(x1, x2, x3, x4, x5) = U42_aga(x3, x5) 20.83/6.35 20.83/6.35 mergeH_in_aggg(x1, x2, x3, x4) = mergeH_in_aggg(x2, x3, x4) 20.83/6.35 20.83/6.35 MERGESORTI_IN_AG(x1, x2) = MERGESORTI_IN_AG(x2) 20.83/6.35 20.83/6.35 U14_AG(x1, x2, x3, x4) = U14_AG(x4) 20.83/6.35 20.83/6.35 SPLITB_IN_AAAA(x1, x2, x3, x4) = SPLITB_IN_AAAA 20.83/6.35 20.83/6.35 U2_AAAA(x1, x2, x3, x4, x5) = U2_AAAA(x5) 20.83/6.35 20.83/6.35 SPLITA_IN_AAA(x1, x2, x3) = SPLITA_IN_AAA 20.83/6.35 20.83/6.35 U1_AAA(x1, x2, x3, x4, x5) = U1_AAA(x5) 20.83/6.35 20.83/6.35 U15_AG(x1, x2, x3, x4) = U15_AG(x4) 20.83/6.35 20.83/6.35 U16_AG(x1, x2, x3, x4) = U16_AG(x3, x4) 20.83/6.35 20.83/6.35 MERGESORTF_IN_AGA(x1, x2, x3) = MERGESORTF_IN_AGA(x2) 20.83/6.35 20.83/6.35 U12_AGA(x1, x2, x3, x4, x5) = U12_AGA(x3, x5) 20.83/6.35 20.83/6.35 PC_IN_AAGAAAAA(x1, x2, x3, x4, x5, x6, x7, x8) = PC_IN_AAGAAAAA(x3) 20.83/6.35 20.83/6.35 U3_AAGAAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9) = U3_AAGAAAAA(x3, x9) 20.83/6.35 20.83/6.35 SPLITB_IN_AGAA(x1, x2, x3, x4) = SPLITB_IN_AGAA(x2) 20.83/6.35 20.83/6.35 U2_AGAA(x1, x2, x3, x4, x5) = U2_AGAA(x2, x5) 20.83/6.35 20.83/6.35 SPLITA_IN_GAA(x1, x2, x3) = SPLITA_IN_GAA(x1) 20.83/6.35 20.83/6.35 U1_GAA(x1, x2, x3, x4, x5) = U1_GAA(x2, x5) 20.83/6.35 20.83/6.35 U4_AAGAAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9) = U4_AAGAAAAA(x3, x9) 20.83/6.35 20.83/6.35 U5_AAGAAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9) = U5_AAGAAAAA(x3, x4, x5, x9) 20.83/6.35 20.83/6.35 MERGESORTE_IN_GA(x1, x2) = MERGESORTE_IN_GA(x1) 20.83/6.35 20.83/6.35 U10_GA(x1, x2, x3, x4, x5) = U10_GA(x3, x5) 20.83/6.35 20.83/6.35 U6_AAGAAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9) = U6_AAGAAAAA(x3, x4, x5, x9) 20.83/6.35 20.83/6.35 U7_AAGAAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9) = U7_AAGAAAAA(x3, x4, x5, x9) 20.83/6.35 20.83/6.35 U8_AAGAAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9) = U8_AAGAAAAA(x3, x4, x5, x6, x9) 20.83/6.35 20.83/6.35 U9_AAGAAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9) = U9_AAGAAAAA(x3, x4, x5, x9) 20.83/6.35 20.83/6.35 MERGED_IN_GGA(x1, x2, x3) = MERGED_IN_GGA(x1, x2) 20.83/6.35 20.83/6.35 U11_GGA(x1, x2, x3, x4, x5) = U11_GGA(x2, x3, x5) 20.83/6.35 20.83/6.35 U17_AG(x1, x2, x3, x4, x5) = U17_AG(x3, x4, x5) 20.83/6.35 20.83/6.35 U18_AG(x1, x2, x3, x4) = U18_AG(x3, x4) 20.83/6.35 20.83/6.35 U19_AG(x1, x2, x3, x4, x5) = U19_AG(x5) 20.83/6.35 20.83/6.35 U20_AG(x1, x2, x3, x4, x5) = U20_AG(x5) 20.83/6.35 20.83/6.35 U21_AG(x1, x2, x3, x4, x5) = U21_AG(x3, x5) 20.83/6.35 20.83/6.35 U22_AG(x1, x2, x3, x4, x5, x6) = U22_AG(x3, x5, x6) 20.83/6.35 20.83/6.35 U23_AG(x1, x2, x3, x4, x5) = U23_AG(x3, x5) 20.83/6.35 20.83/6.35 U24_AG(x1, x2, x3, x4, x5) = U24_AG(x4, x5) 20.83/6.35 20.83/6.35 U25_AG(x1, x2, x3, x4, x5) = U25_AG(x4, x5) 20.83/6.35 20.83/6.35 U26_AG(x1, x2, x3, x4, x5) = U26_AG(x3, x4, x5) 20.83/6.35 20.83/6.35 U27_AG(x1, x2, x3, x4, x5, x6) = U27_AG(x3, x4, x5, x6) 20.83/6.35 20.83/6.35 U28_AG(x1, x2, x3, x4, x5) = U28_AG(x3, x4, x5) 20.83/6.35 20.83/6.35 U29_AG(x1, x2, x3, x4, x5, x6) = U29_AG(x5, x6) 20.83/6.35 20.83/6.35 U30_AG(x1, x2, x3, x4, x5, x6, x7) = U30_AG(x3, x5, x6, x7) 20.83/6.35 20.83/6.35 U31_AG(x1, x2, x3, x4, x5, x6, x7) = U31_AG(x3, x5, x6, x7) 20.83/6.35 20.83/6.35 U32_AG(x1, x2, x3, x4, x5, x6) = U32_AG(x3, x5, x6) 20.83/6.35 20.83/6.35 MERGEH_IN_AGGG(x1, x2, x3, x4) = MERGEH_IN_AGGG(x2, x3, x4) 20.83/6.35 20.83/6.35 U13_AGGG(x1, x2, x3, x4, x5) = U13_AGGG(x2, x3, x4, x5) 20.83/6.35 20.83/6.35 20.83/6.35 We have to consider all (P,R,Pi)-chains 20.83/6.35 ---------------------------------------- 20.83/6.35 20.83/6.35 (176) DependencyGraphProof (EQUIVALENT) 20.83/6.35 The approximation of the Dependency Graph [LOPSTR] contains 5 SCCs with 47 less nodes. 20.83/6.35 ---------------------------------------- 20.83/6.35 20.83/6.35 (177) 20.83/6.35 Complex Obligation (AND) 20.83/6.35 20.83/6.35 ---------------------------------------- 20.83/6.35 20.83/6.35 (178) 20.83/6.35 Obligation: 20.83/6.35 Pi DP problem: 20.83/6.35 The TRS P consists of the following rules: 20.83/6.35 20.83/6.35 MERGEH_IN_AGGG(X1, X2, .(X1, X3), .(X1, X4)) -> MERGEH_IN_AGGG(X1, X2, X3, X4) 20.83/6.35 20.83/6.35 The TRS R consists of the following rules: 20.83/6.35 20.83/6.35 splitcB_in_aaaa(X1, X2, .(X1, X3), X4) -> U35_aaaa(X1, X2, X3, X4, splitcA_in_aaa(X2, X4, X3)) 20.83/6.35 splitcA_in_aaa([], [], []) -> splitcA_out_aaa([], [], []) 20.83/6.35 splitcA_in_aaa(.(X1, X2), .(X1, X3), X4) -> U34_aaa(X1, X2, X3, X4, splitcA_in_aaa(X2, X4, X3)) 20.83/6.35 U34_aaa(X1, X2, X3, X4, splitcA_out_aaa(X2, X4, X3)) -> splitcA_out_aaa(.(X1, X2), .(X1, X3), X4) 20.83/6.35 U35_aaaa(X1, X2, X3, X4, splitcA_out_aaa(X2, X4, X3)) -> splitcB_out_aaaa(X1, X2, .(X1, X3), X4) 20.83/6.35 splitcB_in_agaa(X1, X2, .(X1, X3), X4) -> U35_agaa(X1, X2, X3, X4, splitcA_in_gaa(X2, X4, X3)) 20.83/6.35 splitcA_in_gaa([], [], []) -> splitcA_out_gaa([], [], []) 20.83/6.35 splitcA_in_gaa(.(X1, X2), .(X1, X3), X4) -> U34_gaa(X1, X2, X3, X4, splitcA_in_gaa(X2, X4, X3)) 20.83/6.35 U34_gaa(X1, X2, X3, X4, splitcA_out_gaa(X2, X4, X3)) -> splitcA_out_gaa(.(X1, X2), .(X1, X3), X4) 20.83/6.35 U35_agaa(X1, X2, X3, X4, splitcA_out_gaa(X2, X4, X3)) -> splitcB_out_agaa(X1, X2, .(X1, X3), X4) 20.83/6.35 mergesortcE_in_ga([], []) -> mergesortcE_out_ga([], []) 20.83/6.35 mergesortcE_in_ga(.(X1, []), .(X1, [])) -> mergesortcE_out_ga(.(X1, []), .(X1, [])) 20.83/6.35 mergesortcE_in_ga(.(X1, .(X2, X3)), X4) -> U40_ga(X1, X2, X3, X4, qcC_in_aagaaaaa(X1, X2, X3, X5, X6, X7, X8, X4)) 20.83/6.35 qcC_in_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8) -> U36_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, splitcB_in_agaa(X1, .(X2, X3), X4, X5)) 20.83/6.35 U36_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, splitcB_out_agaa(X1, .(X2, X3), X4, X5)) -> U37_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_in_ga(X4, X6)) 20.83/6.35 U37_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_out_ga(X4, X6)) -> U38_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_in_ga(X5, X7)) 20.83/6.35 U38_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_out_ga(X5, X7)) -> U39_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, mergecD_in_gga(X6, X7, X8)) 20.83/6.35 mergecD_in_gga([], X1, X1) -> mergecD_out_gga([], X1, X1) 20.83/6.35 mergecD_in_gga(X1, [], X1) -> mergecD_out_gga(X1, [], X1) 20.83/6.35 mergecD_in_gga(.(X1, X2), .(X1, X3), .(X1, X4)) -> U41_gga(X1, X2, X3, X4, mergecD_in_gga(.(X1, X2), X3, X4)) 20.83/6.35 U41_gga(X1, X2, X3, X4, mergecD_out_gga(.(X1, X2), X3, X4)) -> mergecD_out_gga(.(X1, X2), .(X1, X3), .(X1, X4)) 20.83/6.35 U39_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, mergecD_out_gga(X6, X7, X8)) -> qcC_out_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8) 20.83/6.35 U40_ga(X1, X2, X3, X4, qcC_out_aagaaaaa(X1, X2, X3, X5, X6, X7, X8, X4)) -> mergesortcE_out_ga(.(X1, .(X2, X3)), X4) 20.83/6.35 mergesortcF_in_aga(X1, [], .(X1, [])) -> mergesortcF_out_aga(X1, [], .(X1, [])) 20.83/6.35 mergesortcF_in_aga(X1, .(X2, X3), X4) -> U42_aga(X1, X2, X3, X4, qcC_in_aagaaaaa(X1, X2, X3, X5, X6, X7, X8, X4)) 20.83/6.35 U42_aga(X1, X2, X3, X4, qcC_out_aagaaaaa(X1, X2, X3, X5, X6, X7, X8, X4)) -> mergesortcF_out_aga(X1, .(X2, X3), X4) 20.83/6.35 20.83/6.35 The argument filtering Pi contains the following mapping: 20.83/6.35 [] = [] 20.83/6.35 20.83/6.35 .(x1, x2) = .(x2) 20.83/6.35 20.83/6.35 splitcB_in_aaaa(x1, x2, x3, x4) = splitcB_in_aaaa 20.83/6.35 20.83/6.35 U35_aaaa(x1, x2, x3, x4, x5) = U35_aaaa(x5) 20.83/6.35 20.83/6.35 splitcA_in_aaa(x1, x2, x3) = splitcA_in_aaa 20.83/6.35 20.83/6.35 splitcA_out_aaa(x1, x2, x3) = splitcA_out_aaa(x1, x2, x3) 20.83/6.35 20.83/6.35 U34_aaa(x1, x2, x3, x4, x5) = U34_aaa(x5) 20.83/6.35 20.83/6.35 splitcB_out_aaaa(x1, x2, x3, x4) = splitcB_out_aaaa(x2, x3, x4) 20.83/6.35 20.83/6.35 splitcB_in_agaa(x1, x2, x3, x4) = splitcB_in_agaa(x2) 20.83/6.35 20.83/6.35 U35_agaa(x1, x2, x3, x4, x5) = U35_agaa(x2, x5) 20.83/6.35 20.83/6.35 splitcA_in_gaa(x1, x2, x3) = splitcA_in_gaa(x1) 20.83/6.35 20.83/6.35 splitcA_out_gaa(x1, x2, x3) = splitcA_out_gaa(x1, x2, x3) 20.83/6.35 20.83/6.35 U34_gaa(x1, x2, x3, x4, x5) = U34_gaa(x2, x5) 20.83/6.35 20.83/6.35 splitcB_out_agaa(x1, x2, x3, x4) = splitcB_out_agaa(x2, x3, x4) 20.83/6.35 20.83/6.35 mergesortcE_in_ga(x1, x2) = mergesortcE_in_ga(x1) 20.83/6.35 20.83/6.35 mergesortcE_out_ga(x1, x2) = mergesortcE_out_ga(x1, x2) 20.83/6.35 20.83/6.35 U40_ga(x1, x2, x3, x4, x5) = U40_ga(x3, x5) 20.83/6.35 20.83/6.35 qcC_in_aagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8) = qcC_in_aagaaaaa(x3) 20.83/6.35 20.83/6.35 U36_aagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9) = U36_aagaaaaa(x3, x9) 20.83/6.35 20.83/6.35 U37_aagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9) = U37_aagaaaaa(x3, x4, x5, x9) 20.83/6.35 20.83/6.35 U38_aagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9) = U38_aagaaaaa(x3, x4, x5, x6, x9) 20.83/6.35 20.83/6.35 U39_aagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9) = U39_aagaaaaa(x3, x4, x5, x6, x7, x9) 20.83/6.35 20.83/6.35 mergecD_in_gga(x1, x2, x3) = mergecD_in_gga(x1, x2) 20.83/6.35 20.83/6.35 mergecD_out_gga(x1, x2, x3) = mergecD_out_gga(x1, x2, x3) 20.83/6.35 20.83/6.35 U41_gga(x1, x2, x3, x4, x5) = U41_gga(x2, x3, x5) 20.83/6.35 20.83/6.35 qcC_out_aagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8) = qcC_out_aagaaaaa(x3, x4, x5, x6, x7, x8) 20.83/6.35 20.83/6.35 mergesortcF_in_aga(x1, x2, x3) = mergesortcF_in_aga(x2) 20.83/6.35 20.83/6.35 mergesortcF_out_aga(x1, x2, x3) = mergesortcF_out_aga(x2, x3) 20.83/6.35 20.83/6.35 U42_aga(x1, x2, x3, x4, x5) = U42_aga(x3, x5) 20.83/6.35 20.83/6.35 MERGEH_IN_AGGG(x1, x2, x3, x4) = MERGEH_IN_AGGG(x2, x3, x4) 20.83/6.35 20.83/6.35 20.83/6.35 We have to consider all (P,R,Pi)-chains 20.83/6.35 ---------------------------------------- 20.83/6.35 20.83/6.35 (179) UsableRulesProof (EQUIVALENT) 20.83/6.35 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 20.83/6.35 ---------------------------------------- 20.83/6.35 20.83/6.35 (180) 20.83/6.35 Obligation: 20.83/6.35 Pi DP problem: 20.83/6.35 The TRS P consists of the following rules: 20.83/6.35 20.83/6.35 MERGEH_IN_AGGG(X1, X2, .(X1, X3), .(X1, X4)) -> MERGEH_IN_AGGG(X1, X2, X3, X4) 20.83/6.35 20.83/6.35 R is empty. 20.83/6.35 The argument filtering Pi contains the following mapping: 20.83/6.35 .(x1, x2) = .(x2) 20.83/6.35 20.83/6.35 MERGEH_IN_AGGG(x1, x2, x3, x4) = MERGEH_IN_AGGG(x2, x3, x4) 20.83/6.35 20.83/6.35 20.83/6.35 We have to consider all (P,R,Pi)-chains 20.83/6.35 ---------------------------------------- 20.83/6.35 20.83/6.35 (181) PiDPToQDPProof (SOUND) 20.83/6.35 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 20.83/6.35 ---------------------------------------- 20.83/6.35 20.83/6.35 (182) 20.83/6.35 Obligation: 20.83/6.35 Q DP problem: 20.83/6.35 The TRS P consists of the following rules: 20.83/6.35 20.83/6.35 MERGEH_IN_AGGG(X2, .(X3), .(X4)) -> MERGEH_IN_AGGG(X2, X3, X4) 20.83/6.35 20.83/6.35 R is empty. 20.83/6.35 Q is empty. 20.83/6.35 We have to consider all (P,Q,R)-chains. 20.83/6.35 ---------------------------------------- 20.83/6.35 20.83/6.35 (183) QDPSizeChangeProof (EQUIVALENT) 20.83/6.35 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. 20.83/6.35 20.83/6.35 From the DPs we obtained the following set of size-change graphs: 20.83/6.35 *MERGEH_IN_AGGG(X2, .(X3), .(X4)) -> MERGEH_IN_AGGG(X2, X3, X4) 20.83/6.35 The graph contains the following edges 1 >= 1, 2 > 2, 3 > 3 20.83/6.35 20.83/6.35 20.83/6.35 ---------------------------------------- 20.83/6.35 20.83/6.35 (184) 20.83/6.35 YES 20.83/6.35 20.83/6.35 ---------------------------------------- 20.83/6.35 20.83/6.35 (185) 20.83/6.35 Obligation: 20.83/6.35 Pi DP problem: 20.83/6.35 The TRS P consists of the following rules: 20.83/6.35 20.83/6.35 MERGED_IN_GGA(.(X1, X2), .(X1, X3), .(X1, X4)) -> MERGED_IN_GGA(.(X1, X2), X3, X4) 20.83/6.35 20.83/6.35 The TRS R consists of the following rules: 20.83/6.35 20.83/6.35 splitcB_in_aaaa(X1, X2, .(X1, X3), X4) -> U35_aaaa(X1, X2, X3, X4, splitcA_in_aaa(X2, X4, X3)) 20.83/6.35 splitcA_in_aaa([], [], []) -> splitcA_out_aaa([], [], []) 20.83/6.35 splitcA_in_aaa(.(X1, X2), .(X1, X3), X4) -> U34_aaa(X1, X2, X3, X4, splitcA_in_aaa(X2, X4, X3)) 20.83/6.35 U34_aaa(X1, X2, X3, X4, splitcA_out_aaa(X2, X4, X3)) -> splitcA_out_aaa(.(X1, X2), .(X1, X3), X4) 20.83/6.35 U35_aaaa(X1, X2, X3, X4, splitcA_out_aaa(X2, X4, X3)) -> splitcB_out_aaaa(X1, X2, .(X1, X3), X4) 20.83/6.35 splitcB_in_agaa(X1, X2, .(X1, X3), X4) -> U35_agaa(X1, X2, X3, X4, splitcA_in_gaa(X2, X4, X3)) 20.83/6.35 splitcA_in_gaa([], [], []) -> splitcA_out_gaa([], [], []) 20.83/6.35 splitcA_in_gaa(.(X1, X2), .(X1, X3), X4) -> U34_gaa(X1, X2, X3, X4, splitcA_in_gaa(X2, X4, X3)) 20.83/6.35 U34_gaa(X1, X2, X3, X4, splitcA_out_gaa(X2, X4, X3)) -> splitcA_out_gaa(.(X1, X2), .(X1, X3), X4) 20.83/6.35 U35_agaa(X1, X2, X3, X4, splitcA_out_gaa(X2, X4, X3)) -> splitcB_out_agaa(X1, X2, .(X1, X3), X4) 20.83/6.35 mergesortcE_in_ga([], []) -> mergesortcE_out_ga([], []) 20.83/6.35 mergesortcE_in_ga(.(X1, []), .(X1, [])) -> mergesortcE_out_ga(.(X1, []), .(X1, [])) 20.83/6.35 mergesortcE_in_ga(.(X1, .(X2, X3)), X4) -> U40_ga(X1, X2, X3, X4, qcC_in_aagaaaaa(X1, X2, X3, X5, X6, X7, X8, X4)) 20.83/6.35 qcC_in_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8) -> U36_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, splitcB_in_agaa(X1, .(X2, X3), X4, X5)) 20.83/6.35 U36_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, splitcB_out_agaa(X1, .(X2, X3), X4, X5)) -> U37_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_in_ga(X4, X6)) 20.83/6.35 U37_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_out_ga(X4, X6)) -> U38_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_in_ga(X5, X7)) 20.83/6.35 U38_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_out_ga(X5, X7)) -> U39_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, mergecD_in_gga(X6, X7, X8)) 20.83/6.35 mergecD_in_gga([], X1, X1) -> mergecD_out_gga([], X1, X1) 20.83/6.35 mergecD_in_gga(X1, [], X1) -> mergecD_out_gga(X1, [], X1) 20.83/6.35 mergecD_in_gga(.(X1, X2), .(X1, X3), .(X1, X4)) -> U41_gga(X1, X2, X3, X4, mergecD_in_gga(.(X1, X2), X3, X4)) 20.83/6.35 U41_gga(X1, X2, X3, X4, mergecD_out_gga(.(X1, X2), X3, X4)) -> mergecD_out_gga(.(X1, X2), .(X1, X3), .(X1, X4)) 20.83/6.35 U39_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, mergecD_out_gga(X6, X7, X8)) -> qcC_out_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8) 20.83/6.35 U40_ga(X1, X2, X3, X4, qcC_out_aagaaaaa(X1, X2, X3, X5, X6, X7, X8, X4)) -> mergesortcE_out_ga(.(X1, .(X2, X3)), X4) 20.83/6.35 mergesortcF_in_aga(X1, [], .(X1, [])) -> mergesortcF_out_aga(X1, [], .(X1, [])) 20.83/6.35 mergesortcF_in_aga(X1, .(X2, X3), X4) -> U42_aga(X1, X2, X3, X4, qcC_in_aagaaaaa(X1, X2, X3, X5, X6, X7, X8, X4)) 20.83/6.35 U42_aga(X1, X2, X3, X4, qcC_out_aagaaaaa(X1, X2, X3, X5, X6, X7, X8, X4)) -> mergesortcF_out_aga(X1, .(X2, X3), X4) 20.83/6.35 20.83/6.35 The argument filtering Pi contains the following mapping: 20.83/6.35 [] = [] 20.83/6.35 20.83/6.35 .(x1, x2) = .(x2) 20.83/6.35 20.83/6.35 splitcB_in_aaaa(x1, x2, x3, x4) = splitcB_in_aaaa 20.83/6.35 20.83/6.35 U35_aaaa(x1, x2, x3, x4, x5) = U35_aaaa(x5) 20.83/6.35 20.83/6.35 splitcA_in_aaa(x1, x2, x3) = splitcA_in_aaa 20.83/6.35 20.83/6.35 splitcA_out_aaa(x1, x2, x3) = splitcA_out_aaa(x1, x2, x3) 20.83/6.35 20.83/6.35 U34_aaa(x1, x2, x3, x4, x5) = U34_aaa(x5) 20.83/6.35 20.83/6.35 splitcB_out_aaaa(x1, x2, x3, x4) = splitcB_out_aaaa(x2, x3, x4) 20.83/6.35 20.83/6.35 splitcB_in_agaa(x1, x2, x3, x4) = splitcB_in_agaa(x2) 20.83/6.35 20.83/6.35 U35_agaa(x1, x2, x3, x4, x5) = U35_agaa(x2, x5) 20.83/6.35 20.83/6.35 splitcA_in_gaa(x1, x2, x3) = splitcA_in_gaa(x1) 20.83/6.35 20.83/6.35 splitcA_out_gaa(x1, x2, x3) = splitcA_out_gaa(x1, x2, x3) 20.83/6.35 20.83/6.35 U34_gaa(x1, x2, x3, x4, x5) = U34_gaa(x2, x5) 20.83/6.35 20.83/6.35 splitcB_out_agaa(x1, x2, x3, x4) = splitcB_out_agaa(x2, x3, x4) 20.83/6.35 20.83/6.35 mergesortcE_in_ga(x1, x2) = mergesortcE_in_ga(x1) 20.83/6.35 20.83/6.35 mergesortcE_out_ga(x1, x2) = mergesortcE_out_ga(x1, x2) 20.83/6.35 20.83/6.35 U40_ga(x1, x2, x3, x4, x5) = U40_ga(x3, x5) 20.83/6.35 20.83/6.35 qcC_in_aagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8) = qcC_in_aagaaaaa(x3) 20.83/6.35 20.83/6.35 U36_aagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9) = U36_aagaaaaa(x3, x9) 20.83/6.35 20.83/6.35 U37_aagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9) = U37_aagaaaaa(x3, x4, x5, x9) 20.83/6.35 20.83/6.35 U38_aagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9) = U38_aagaaaaa(x3, x4, x5, x6, x9) 20.83/6.35 20.83/6.35 U39_aagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9) = U39_aagaaaaa(x3, x4, x5, x6, x7, x9) 20.83/6.35 20.83/6.35 mergecD_in_gga(x1, x2, x3) = mergecD_in_gga(x1, x2) 20.83/6.35 20.83/6.35 mergecD_out_gga(x1, x2, x3) = mergecD_out_gga(x1, x2, x3) 20.83/6.35 20.83/6.35 U41_gga(x1, x2, x3, x4, x5) = U41_gga(x2, x3, x5) 20.83/6.35 20.83/6.35 qcC_out_aagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8) = qcC_out_aagaaaaa(x3, x4, x5, x6, x7, x8) 20.83/6.35 20.83/6.35 mergesortcF_in_aga(x1, x2, x3) = mergesortcF_in_aga(x2) 20.83/6.35 20.83/6.35 mergesortcF_out_aga(x1, x2, x3) = mergesortcF_out_aga(x2, x3) 20.83/6.35 20.83/6.35 U42_aga(x1, x2, x3, x4, x5) = U42_aga(x3, x5) 20.83/6.35 20.83/6.35 MERGED_IN_GGA(x1, x2, x3) = MERGED_IN_GGA(x1, x2) 20.83/6.35 20.83/6.35 20.83/6.35 We have to consider all (P,R,Pi)-chains 20.83/6.35 ---------------------------------------- 20.83/6.35 20.83/6.35 (186) UsableRulesProof (EQUIVALENT) 20.83/6.35 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 20.83/6.35 ---------------------------------------- 20.83/6.35 20.83/6.35 (187) 20.83/6.35 Obligation: 20.83/6.35 Pi DP problem: 20.83/6.35 The TRS P consists of the following rules: 20.83/6.35 20.83/6.35 MERGED_IN_GGA(.(X1, X2), .(X1, X3), .(X1, X4)) -> MERGED_IN_GGA(.(X1, X2), X3, X4) 20.83/6.35 20.83/6.35 R is empty. 20.83/6.35 The argument filtering Pi contains the following mapping: 20.83/6.35 .(x1, x2) = .(x2) 20.83/6.35 20.83/6.35 MERGED_IN_GGA(x1, x2, x3) = MERGED_IN_GGA(x1, x2) 20.83/6.35 20.83/6.35 20.83/6.35 We have to consider all (P,R,Pi)-chains 20.83/6.35 ---------------------------------------- 20.83/6.35 20.83/6.35 (188) PiDPToQDPProof (SOUND) 20.83/6.35 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 20.83/6.35 ---------------------------------------- 20.83/6.35 20.83/6.35 (189) 20.83/6.35 Obligation: 20.83/6.35 Q DP problem: 20.83/6.35 The TRS P consists of the following rules: 20.83/6.35 20.83/6.35 MERGED_IN_GGA(.(X2), .(X3)) -> MERGED_IN_GGA(.(X2), X3) 20.83/6.35 20.83/6.35 R is empty. 20.83/6.35 Q is empty. 20.83/6.35 We have to consider all (P,Q,R)-chains. 20.83/6.35 ---------------------------------------- 20.83/6.35 20.83/6.35 (190) QDPSizeChangeProof (EQUIVALENT) 20.83/6.35 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. 20.83/6.35 20.83/6.35 From the DPs we obtained the following set of size-change graphs: 20.83/6.35 *MERGED_IN_GGA(.(X2), .(X3)) -> MERGED_IN_GGA(.(X2), X3) 20.83/6.35 The graph contains the following edges 1 >= 1, 2 > 2 20.83/6.35 20.83/6.35 20.83/6.35 ---------------------------------------- 20.83/6.35 20.83/6.35 (191) 20.83/6.35 YES 20.83/6.35 20.83/6.35 ---------------------------------------- 20.83/6.35 20.83/6.35 (192) 20.83/6.35 Obligation: 20.83/6.35 Pi DP problem: 20.83/6.35 The TRS P consists of the following rules: 20.83/6.35 20.83/6.35 SPLITA_IN_GAA(.(X1, X2), .(X1, X3), X4) -> SPLITA_IN_GAA(X2, X4, X3) 20.83/6.35 20.83/6.35 The TRS R consists of the following rules: 20.83/6.35 20.83/6.35 splitcB_in_aaaa(X1, X2, .(X1, X3), X4) -> U35_aaaa(X1, X2, X3, X4, splitcA_in_aaa(X2, X4, X3)) 20.83/6.35 splitcA_in_aaa([], [], []) -> splitcA_out_aaa([], [], []) 20.83/6.35 splitcA_in_aaa(.(X1, X2), .(X1, X3), X4) -> U34_aaa(X1, X2, X3, X4, splitcA_in_aaa(X2, X4, X3)) 20.83/6.35 U34_aaa(X1, X2, X3, X4, splitcA_out_aaa(X2, X4, X3)) -> splitcA_out_aaa(.(X1, X2), .(X1, X3), X4) 20.83/6.35 U35_aaaa(X1, X2, X3, X4, splitcA_out_aaa(X2, X4, X3)) -> splitcB_out_aaaa(X1, X2, .(X1, X3), X4) 20.83/6.35 splitcB_in_agaa(X1, X2, .(X1, X3), X4) -> U35_agaa(X1, X2, X3, X4, splitcA_in_gaa(X2, X4, X3)) 20.83/6.35 splitcA_in_gaa([], [], []) -> splitcA_out_gaa([], [], []) 20.83/6.35 splitcA_in_gaa(.(X1, X2), .(X1, X3), X4) -> U34_gaa(X1, X2, X3, X4, splitcA_in_gaa(X2, X4, X3)) 20.83/6.35 U34_gaa(X1, X2, X3, X4, splitcA_out_gaa(X2, X4, X3)) -> splitcA_out_gaa(.(X1, X2), .(X1, X3), X4) 20.83/6.35 U35_agaa(X1, X2, X3, X4, splitcA_out_gaa(X2, X4, X3)) -> splitcB_out_agaa(X1, X2, .(X1, X3), X4) 20.83/6.35 mergesortcE_in_ga([], []) -> mergesortcE_out_ga([], []) 20.83/6.35 mergesortcE_in_ga(.(X1, []), .(X1, [])) -> mergesortcE_out_ga(.(X1, []), .(X1, [])) 20.83/6.35 mergesortcE_in_ga(.(X1, .(X2, X3)), X4) -> U40_ga(X1, X2, X3, X4, qcC_in_aagaaaaa(X1, X2, X3, X5, X6, X7, X8, X4)) 20.83/6.35 qcC_in_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8) -> U36_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, splitcB_in_agaa(X1, .(X2, X3), X4, X5)) 20.83/6.35 U36_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, splitcB_out_agaa(X1, .(X2, X3), X4, X5)) -> U37_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_in_ga(X4, X6)) 20.83/6.35 U37_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_out_ga(X4, X6)) -> U38_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_in_ga(X5, X7)) 20.83/6.35 U38_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_out_ga(X5, X7)) -> U39_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, mergecD_in_gga(X6, X7, X8)) 20.83/6.35 mergecD_in_gga([], X1, X1) -> mergecD_out_gga([], X1, X1) 20.83/6.35 mergecD_in_gga(X1, [], X1) -> mergecD_out_gga(X1, [], X1) 20.83/6.35 mergecD_in_gga(.(X1, X2), .(X1, X3), .(X1, X4)) -> U41_gga(X1, X2, X3, X4, mergecD_in_gga(.(X1, X2), X3, X4)) 20.83/6.35 U41_gga(X1, X2, X3, X4, mergecD_out_gga(.(X1, X2), X3, X4)) -> mergecD_out_gga(.(X1, X2), .(X1, X3), .(X1, X4)) 20.83/6.35 U39_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, mergecD_out_gga(X6, X7, X8)) -> qcC_out_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8) 20.83/6.35 U40_ga(X1, X2, X3, X4, qcC_out_aagaaaaa(X1, X2, X3, X5, X6, X7, X8, X4)) -> mergesortcE_out_ga(.(X1, .(X2, X3)), X4) 20.83/6.35 mergesortcF_in_aga(X1, [], .(X1, [])) -> mergesortcF_out_aga(X1, [], .(X1, [])) 20.83/6.35 mergesortcF_in_aga(X1, .(X2, X3), X4) -> U42_aga(X1, X2, X3, X4, qcC_in_aagaaaaa(X1, X2, X3, X5, X6, X7, X8, X4)) 20.83/6.35 U42_aga(X1, X2, X3, X4, qcC_out_aagaaaaa(X1, X2, X3, X5, X6, X7, X8, X4)) -> mergesortcF_out_aga(X1, .(X2, X3), X4) 20.83/6.35 20.83/6.35 The argument filtering Pi contains the following mapping: 20.83/6.35 [] = [] 20.83/6.35 20.83/6.35 .(x1, x2) = .(x2) 20.83/6.35 20.83/6.35 splitcB_in_aaaa(x1, x2, x3, x4) = splitcB_in_aaaa 20.83/6.35 20.83/6.35 U35_aaaa(x1, x2, x3, x4, x5) = U35_aaaa(x5) 20.83/6.35 20.83/6.35 splitcA_in_aaa(x1, x2, x3) = splitcA_in_aaa 20.83/6.35 20.83/6.35 splitcA_out_aaa(x1, x2, x3) = splitcA_out_aaa(x1, x2, x3) 20.83/6.35 20.83/6.35 U34_aaa(x1, x2, x3, x4, x5) = U34_aaa(x5) 20.83/6.35 20.83/6.35 splitcB_out_aaaa(x1, x2, x3, x4) = splitcB_out_aaaa(x2, x3, x4) 20.83/6.35 20.83/6.35 splitcB_in_agaa(x1, x2, x3, x4) = splitcB_in_agaa(x2) 20.83/6.35 20.83/6.35 U35_agaa(x1, x2, x3, x4, x5) = U35_agaa(x2, x5) 20.83/6.35 20.83/6.35 splitcA_in_gaa(x1, x2, x3) = splitcA_in_gaa(x1) 20.83/6.35 20.83/6.35 splitcA_out_gaa(x1, x2, x3) = splitcA_out_gaa(x1, x2, x3) 20.83/6.35 20.83/6.35 U34_gaa(x1, x2, x3, x4, x5) = U34_gaa(x2, x5) 20.83/6.35 20.83/6.35 splitcB_out_agaa(x1, x2, x3, x4) = splitcB_out_agaa(x2, x3, x4) 20.83/6.35 20.83/6.35 mergesortcE_in_ga(x1, x2) = mergesortcE_in_ga(x1) 20.83/6.35 20.83/6.35 mergesortcE_out_ga(x1, x2) = mergesortcE_out_ga(x1, x2) 20.83/6.35 20.83/6.35 U40_ga(x1, x2, x3, x4, x5) = U40_ga(x3, x5) 20.83/6.35 20.83/6.35 qcC_in_aagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8) = qcC_in_aagaaaaa(x3) 20.83/6.35 20.83/6.35 U36_aagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9) = U36_aagaaaaa(x3, x9) 20.83/6.35 20.83/6.35 U37_aagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9) = U37_aagaaaaa(x3, x4, x5, x9) 20.83/6.35 20.83/6.35 U38_aagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9) = U38_aagaaaaa(x3, x4, x5, x6, x9) 20.83/6.35 20.83/6.35 U39_aagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9) = U39_aagaaaaa(x3, x4, x5, x6, x7, x9) 20.83/6.35 20.83/6.35 mergecD_in_gga(x1, x2, x3) = mergecD_in_gga(x1, x2) 20.83/6.35 20.83/6.35 mergecD_out_gga(x1, x2, x3) = mergecD_out_gga(x1, x2, x3) 20.83/6.35 20.83/6.35 U41_gga(x1, x2, x3, x4, x5) = U41_gga(x2, x3, x5) 20.83/6.35 20.83/6.35 qcC_out_aagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8) = qcC_out_aagaaaaa(x3, x4, x5, x6, x7, x8) 20.83/6.35 20.83/6.35 mergesortcF_in_aga(x1, x2, x3) = mergesortcF_in_aga(x2) 20.83/6.35 20.83/6.35 mergesortcF_out_aga(x1, x2, x3) = mergesortcF_out_aga(x2, x3) 20.83/6.35 20.83/6.35 U42_aga(x1, x2, x3, x4, x5) = U42_aga(x3, x5) 20.83/6.35 20.83/6.35 SPLITA_IN_GAA(x1, x2, x3) = SPLITA_IN_GAA(x1) 20.83/6.35 20.83/6.35 20.83/6.35 We have to consider all (P,R,Pi)-chains 20.83/6.35 ---------------------------------------- 20.83/6.35 20.83/6.35 (193) UsableRulesProof (EQUIVALENT) 20.83/6.35 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 20.83/6.35 ---------------------------------------- 20.83/6.35 20.83/6.35 (194) 20.83/6.35 Obligation: 20.83/6.35 Pi DP problem: 20.83/6.35 The TRS P consists of the following rules: 20.83/6.35 20.83/6.35 SPLITA_IN_GAA(.(X1, X2), .(X1, X3), X4) -> SPLITA_IN_GAA(X2, X4, X3) 20.83/6.35 20.83/6.35 R is empty. 20.83/6.35 The argument filtering Pi contains the following mapping: 20.83/6.35 .(x1, x2) = .(x2) 20.83/6.35 20.83/6.35 SPLITA_IN_GAA(x1, x2, x3) = SPLITA_IN_GAA(x1) 20.83/6.35 20.83/6.35 20.83/6.35 We have to consider all (P,R,Pi)-chains 20.83/6.35 ---------------------------------------- 20.83/6.35 20.83/6.35 (195) PiDPToQDPProof (SOUND) 20.83/6.35 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 20.83/6.35 ---------------------------------------- 20.83/6.35 20.83/6.35 (196) 20.83/6.35 Obligation: 20.83/6.35 Q DP problem: 20.83/6.35 The TRS P consists of the following rules: 20.83/6.35 20.83/6.35 SPLITA_IN_GAA(.(X2)) -> SPLITA_IN_GAA(X2) 20.83/6.35 20.83/6.35 R is empty. 20.83/6.35 Q is empty. 20.83/6.35 We have to consider all (P,Q,R)-chains. 20.83/6.35 ---------------------------------------- 20.83/6.35 20.83/6.35 (197) QDPSizeChangeProof (EQUIVALENT) 20.83/6.35 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. 20.83/6.35 20.83/6.35 From the DPs we obtained the following set of size-change graphs: 20.83/6.35 *SPLITA_IN_GAA(.(X2)) -> SPLITA_IN_GAA(X2) 20.83/6.35 The graph contains the following edges 1 > 1 20.83/6.35 20.83/6.35 20.83/6.35 ---------------------------------------- 20.83/6.35 20.83/6.35 (198) 20.83/6.35 YES 20.83/6.35 20.83/6.35 ---------------------------------------- 20.83/6.35 20.83/6.35 (199) 20.83/6.35 Obligation: 20.83/6.35 Pi DP problem: 20.83/6.35 The TRS P consists of the following rules: 20.83/6.35 20.83/6.35 PC_IN_AAGAAAAA(X1, X2, X3, X4, X5, X6, X7, X8) -> U4_AAGAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, splitcB_in_agaa(X1, .(X2, X3), X4, X5)) 20.83/6.35 U4_AAGAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, splitcB_out_agaa(X1, .(X2, X3), X4, X5)) -> MERGESORTE_IN_GA(X4, X6) 20.83/6.35 MERGESORTE_IN_GA(.(X1, .(X2, X3)), X4) -> PC_IN_AAGAAAAA(X1, X2, X3, X5, X6, X7, X8, X4) 20.83/6.35 U4_AAGAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, splitcB_out_agaa(X1, .(X2, X3), X4, X5)) -> U6_AAGAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_in_ga(X4, X6)) 20.83/6.35 U6_AAGAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_out_ga(X4, X6)) -> MERGESORTE_IN_GA(X5, X7) 20.83/6.35 20.83/6.35 The TRS R consists of the following rules: 20.83/6.35 20.83/6.35 splitcB_in_aaaa(X1, X2, .(X1, X3), X4) -> U35_aaaa(X1, X2, X3, X4, splitcA_in_aaa(X2, X4, X3)) 20.83/6.35 splitcA_in_aaa([], [], []) -> splitcA_out_aaa([], [], []) 20.83/6.35 splitcA_in_aaa(.(X1, X2), .(X1, X3), X4) -> U34_aaa(X1, X2, X3, X4, splitcA_in_aaa(X2, X4, X3)) 20.83/6.35 U34_aaa(X1, X2, X3, X4, splitcA_out_aaa(X2, X4, X3)) -> splitcA_out_aaa(.(X1, X2), .(X1, X3), X4) 20.83/6.35 U35_aaaa(X1, X2, X3, X4, splitcA_out_aaa(X2, X4, X3)) -> splitcB_out_aaaa(X1, X2, .(X1, X3), X4) 20.83/6.35 splitcB_in_agaa(X1, X2, .(X1, X3), X4) -> U35_agaa(X1, X2, X3, X4, splitcA_in_gaa(X2, X4, X3)) 20.83/6.35 splitcA_in_gaa([], [], []) -> splitcA_out_gaa([], [], []) 20.83/6.35 splitcA_in_gaa(.(X1, X2), .(X1, X3), X4) -> U34_gaa(X1, X2, X3, X4, splitcA_in_gaa(X2, X4, X3)) 20.83/6.35 U34_gaa(X1, X2, X3, X4, splitcA_out_gaa(X2, X4, X3)) -> splitcA_out_gaa(.(X1, X2), .(X1, X3), X4) 20.83/6.35 U35_agaa(X1, X2, X3, X4, splitcA_out_gaa(X2, X4, X3)) -> splitcB_out_agaa(X1, X2, .(X1, X3), X4) 20.83/6.35 mergesortcE_in_ga([], []) -> mergesortcE_out_ga([], []) 20.83/6.35 mergesortcE_in_ga(.(X1, []), .(X1, [])) -> mergesortcE_out_ga(.(X1, []), .(X1, [])) 20.83/6.35 mergesortcE_in_ga(.(X1, .(X2, X3)), X4) -> U40_ga(X1, X2, X3, X4, qcC_in_aagaaaaa(X1, X2, X3, X5, X6, X7, X8, X4)) 20.83/6.35 qcC_in_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8) -> U36_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, splitcB_in_agaa(X1, .(X2, X3), X4, X5)) 20.83/6.35 U36_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, splitcB_out_agaa(X1, .(X2, X3), X4, X5)) -> U37_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_in_ga(X4, X6)) 20.83/6.35 U37_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_out_ga(X4, X6)) -> U38_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_in_ga(X5, X7)) 20.83/6.35 U38_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_out_ga(X5, X7)) -> U39_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, mergecD_in_gga(X6, X7, X8)) 20.83/6.35 mergecD_in_gga([], X1, X1) -> mergecD_out_gga([], X1, X1) 20.83/6.35 mergecD_in_gga(X1, [], X1) -> mergecD_out_gga(X1, [], X1) 20.83/6.35 mergecD_in_gga(.(X1, X2), .(X1, X3), .(X1, X4)) -> U41_gga(X1, X2, X3, X4, mergecD_in_gga(.(X1, X2), X3, X4)) 20.83/6.35 U41_gga(X1, X2, X3, X4, mergecD_out_gga(.(X1, X2), X3, X4)) -> mergecD_out_gga(.(X1, X2), .(X1, X3), .(X1, X4)) 20.83/6.35 U39_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, mergecD_out_gga(X6, X7, X8)) -> qcC_out_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8) 20.83/6.35 U40_ga(X1, X2, X3, X4, qcC_out_aagaaaaa(X1, X2, X3, X5, X6, X7, X8, X4)) -> mergesortcE_out_ga(.(X1, .(X2, X3)), X4) 20.83/6.35 mergesortcF_in_aga(X1, [], .(X1, [])) -> mergesortcF_out_aga(X1, [], .(X1, [])) 20.83/6.35 mergesortcF_in_aga(X1, .(X2, X3), X4) -> U42_aga(X1, X2, X3, X4, qcC_in_aagaaaaa(X1, X2, X3, X5, X6, X7, X8, X4)) 20.83/6.35 U42_aga(X1, X2, X3, X4, qcC_out_aagaaaaa(X1, X2, X3, X5, X6, X7, X8, X4)) -> mergesortcF_out_aga(X1, .(X2, X3), X4) 20.83/6.35 20.83/6.35 The argument filtering Pi contains the following mapping: 20.83/6.35 [] = [] 20.83/6.35 20.83/6.35 .(x1, x2) = .(x2) 20.83/6.35 20.83/6.35 splitcB_in_aaaa(x1, x2, x3, x4) = splitcB_in_aaaa 20.83/6.35 20.83/6.35 U35_aaaa(x1, x2, x3, x4, x5) = U35_aaaa(x5) 20.83/6.35 20.83/6.35 splitcA_in_aaa(x1, x2, x3) = splitcA_in_aaa 20.83/6.35 20.83/6.35 splitcA_out_aaa(x1, x2, x3) = splitcA_out_aaa(x1, x2, x3) 20.83/6.35 20.83/6.35 U34_aaa(x1, x2, x3, x4, x5) = U34_aaa(x5) 20.83/6.35 20.83/6.35 splitcB_out_aaaa(x1, x2, x3, x4) = splitcB_out_aaaa(x2, x3, x4) 20.83/6.35 20.83/6.35 splitcB_in_agaa(x1, x2, x3, x4) = splitcB_in_agaa(x2) 20.83/6.35 20.83/6.35 U35_agaa(x1, x2, x3, x4, x5) = U35_agaa(x2, x5) 20.83/6.35 20.83/6.35 splitcA_in_gaa(x1, x2, x3) = splitcA_in_gaa(x1) 20.83/6.35 20.83/6.35 splitcA_out_gaa(x1, x2, x3) = splitcA_out_gaa(x1, x2, x3) 20.83/6.35 20.83/6.35 U34_gaa(x1, x2, x3, x4, x5) = U34_gaa(x2, x5) 20.83/6.35 20.83/6.35 splitcB_out_agaa(x1, x2, x3, x4) = splitcB_out_agaa(x2, x3, x4) 20.83/6.35 20.83/6.35 mergesortcE_in_ga(x1, x2) = mergesortcE_in_ga(x1) 20.83/6.35 20.83/6.35 mergesortcE_out_ga(x1, x2) = mergesortcE_out_ga(x1, x2) 20.83/6.35 20.83/6.35 U40_ga(x1, x2, x3, x4, x5) = U40_ga(x3, x5) 20.83/6.35 20.83/6.35 qcC_in_aagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8) = qcC_in_aagaaaaa(x3) 20.83/6.35 20.83/6.35 U36_aagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9) = U36_aagaaaaa(x3, x9) 20.83/6.35 20.83/6.35 U37_aagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9) = U37_aagaaaaa(x3, x4, x5, x9) 20.83/6.35 20.83/6.35 U38_aagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9) = U38_aagaaaaa(x3, x4, x5, x6, x9) 20.83/6.35 20.83/6.35 U39_aagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9) = U39_aagaaaaa(x3, x4, x5, x6, x7, x9) 20.83/6.35 20.83/6.35 mergecD_in_gga(x1, x2, x3) = mergecD_in_gga(x1, x2) 20.83/6.35 20.83/6.35 mergecD_out_gga(x1, x2, x3) = mergecD_out_gga(x1, x2, x3) 20.83/6.35 20.83/6.35 U41_gga(x1, x2, x3, x4, x5) = U41_gga(x2, x3, x5) 20.83/6.35 20.83/6.35 qcC_out_aagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8) = qcC_out_aagaaaaa(x3, x4, x5, x6, x7, x8) 20.83/6.35 20.83/6.35 mergesortcF_in_aga(x1, x2, x3) = mergesortcF_in_aga(x2) 20.83/6.35 20.83/6.35 mergesortcF_out_aga(x1, x2, x3) = mergesortcF_out_aga(x2, x3) 20.83/6.35 20.83/6.35 U42_aga(x1, x2, x3, x4, x5) = U42_aga(x3, x5) 20.83/6.35 20.83/6.35 PC_IN_AAGAAAAA(x1, x2, x3, x4, x5, x6, x7, x8) = PC_IN_AAGAAAAA(x3) 20.83/6.35 20.83/6.35 U4_AAGAAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9) = U4_AAGAAAAA(x3, x9) 20.83/6.35 20.83/6.35 MERGESORTE_IN_GA(x1, x2) = MERGESORTE_IN_GA(x1) 20.83/6.35 20.83/6.35 U6_AAGAAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9) = U6_AAGAAAAA(x3, x4, x5, x9) 20.83/6.35 20.83/6.35 20.83/6.35 We have to consider all (P,R,Pi)-chains 20.83/6.35 ---------------------------------------- 20.83/6.35 20.83/6.35 (200) UsableRulesProof (EQUIVALENT) 20.83/6.35 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 20.83/6.35 ---------------------------------------- 20.83/6.35 20.83/6.35 (201) 20.83/6.35 Obligation: 20.83/6.35 Pi DP problem: 20.83/6.35 The TRS P consists of the following rules: 20.83/6.35 20.83/6.35 PC_IN_AAGAAAAA(X1, X2, X3, X4, X5, X6, X7, X8) -> U4_AAGAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, splitcB_in_agaa(X1, .(X2, X3), X4, X5)) 20.83/6.35 U4_AAGAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, splitcB_out_agaa(X1, .(X2, X3), X4, X5)) -> MERGESORTE_IN_GA(X4, X6) 20.83/6.35 MERGESORTE_IN_GA(.(X1, .(X2, X3)), X4) -> PC_IN_AAGAAAAA(X1, X2, X3, X5, X6, X7, X8, X4) 20.83/6.35 U4_AAGAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, splitcB_out_agaa(X1, .(X2, X3), X4, X5)) -> U6_AAGAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_in_ga(X4, X6)) 20.83/6.35 U6_AAGAAAAA(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_out_ga(X4, X6)) -> MERGESORTE_IN_GA(X5, X7) 20.83/6.35 20.83/6.35 The TRS R consists of the following rules: 20.83/6.35 20.83/6.35 splitcB_in_agaa(X1, X2, .(X1, X3), X4) -> U35_agaa(X1, X2, X3, X4, splitcA_in_gaa(X2, X4, X3)) 20.83/6.35 mergesortcE_in_ga([], []) -> mergesortcE_out_ga([], []) 20.83/6.35 mergesortcE_in_ga(.(X1, []), .(X1, [])) -> mergesortcE_out_ga(.(X1, []), .(X1, [])) 20.83/6.35 mergesortcE_in_ga(.(X1, .(X2, X3)), X4) -> U40_ga(X1, X2, X3, X4, qcC_in_aagaaaaa(X1, X2, X3, X5, X6, X7, X8, X4)) 20.83/6.35 U35_agaa(X1, X2, X3, X4, splitcA_out_gaa(X2, X4, X3)) -> splitcB_out_agaa(X1, X2, .(X1, X3), X4) 20.83/6.35 U40_ga(X1, X2, X3, X4, qcC_out_aagaaaaa(X1, X2, X3, X5, X6, X7, X8, X4)) -> mergesortcE_out_ga(.(X1, .(X2, X3)), X4) 20.83/6.35 splitcA_in_gaa([], [], []) -> splitcA_out_gaa([], [], []) 20.83/6.35 splitcA_in_gaa(.(X1, X2), .(X1, X3), X4) -> U34_gaa(X1, X2, X3, X4, splitcA_in_gaa(X2, X4, X3)) 20.83/6.35 qcC_in_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8) -> U36_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, splitcB_in_agaa(X1, .(X2, X3), X4, X5)) 20.83/6.35 U34_gaa(X1, X2, X3, X4, splitcA_out_gaa(X2, X4, X3)) -> splitcA_out_gaa(.(X1, X2), .(X1, X3), X4) 20.83/6.35 U36_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, splitcB_out_agaa(X1, .(X2, X3), X4, X5)) -> U37_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_in_ga(X4, X6)) 20.83/6.35 U37_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_out_ga(X4, X6)) -> U38_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_in_ga(X5, X7)) 20.83/6.35 U38_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_out_ga(X5, X7)) -> U39_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, mergecD_in_gga(X6, X7, X8)) 20.83/6.35 U39_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, mergecD_out_gga(X6, X7, X8)) -> qcC_out_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8) 20.83/6.35 mergecD_in_gga([], X1, X1) -> mergecD_out_gga([], X1, X1) 20.83/6.35 mergecD_in_gga(X1, [], X1) -> mergecD_out_gga(X1, [], X1) 20.83/6.35 mergecD_in_gga(.(X1, X2), .(X1, X3), .(X1, X4)) -> U41_gga(X1, X2, X3, X4, mergecD_in_gga(.(X1, X2), X3, X4)) 20.83/6.35 U41_gga(X1, X2, X3, X4, mergecD_out_gga(.(X1, X2), X3, X4)) -> mergecD_out_gga(.(X1, X2), .(X1, X3), .(X1, X4)) 20.83/6.35 20.83/6.35 The argument filtering Pi contains the following mapping: 20.83/6.35 [] = [] 20.83/6.35 20.83/6.35 .(x1, x2) = .(x2) 20.83/6.35 20.83/6.35 splitcB_in_agaa(x1, x2, x3, x4) = splitcB_in_agaa(x2) 20.83/6.35 20.83/6.35 U35_agaa(x1, x2, x3, x4, x5) = U35_agaa(x2, x5) 20.83/6.35 20.83/6.35 splitcA_in_gaa(x1, x2, x3) = splitcA_in_gaa(x1) 20.83/6.35 20.83/6.35 splitcA_out_gaa(x1, x2, x3) = splitcA_out_gaa(x1, x2, x3) 20.83/6.35 20.83/6.35 U34_gaa(x1, x2, x3, x4, x5) = U34_gaa(x2, x5) 20.83/6.35 20.83/6.35 splitcB_out_agaa(x1, x2, x3, x4) = splitcB_out_agaa(x2, x3, x4) 20.83/6.35 20.83/6.35 mergesortcE_in_ga(x1, x2) = mergesortcE_in_ga(x1) 20.83/6.35 20.83/6.35 mergesortcE_out_ga(x1, x2) = mergesortcE_out_ga(x1, x2) 20.83/6.35 20.83/6.35 U40_ga(x1, x2, x3, x4, x5) = U40_ga(x3, x5) 20.83/6.35 20.83/6.35 qcC_in_aagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8) = qcC_in_aagaaaaa(x3) 20.83/6.35 20.83/6.35 U36_aagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9) = U36_aagaaaaa(x3, x9) 20.83/6.35 20.83/6.35 U37_aagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9) = U37_aagaaaaa(x3, x4, x5, x9) 20.83/6.35 20.83/6.35 U38_aagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9) = U38_aagaaaaa(x3, x4, x5, x6, x9) 20.83/6.35 20.83/6.35 U39_aagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9) = U39_aagaaaaa(x3, x4, x5, x6, x7, x9) 20.83/6.35 20.83/6.35 mergecD_in_gga(x1, x2, x3) = mergecD_in_gga(x1, x2) 20.83/6.35 20.83/6.35 mergecD_out_gga(x1, x2, x3) = mergecD_out_gga(x1, x2, x3) 20.83/6.35 20.83/6.35 U41_gga(x1, x2, x3, x4, x5) = U41_gga(x2, x3, x5) 20.83/6.35 20.83/6.35 qcC_out_aagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8) = qcC_out_aagaaaaa(x3, x4, x5, x6, x7, x8) 20.83/6.35 20.83/6.35 PC_IN_AAGAAAAA(x1, x2, x3, x4, x5, x6, x7, x8) = PC_IN_AAGAAAAA(x3) 20.83/6.35 20.83/6.35 U4_AAGAAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9) = U4_AAGAAAAA(x3, x9) 20.83/6.35 20.83/6.35 MERGESORTE_IN_GA(x1, x2) = MERGESORTE_IN_GA(x1) 20.83/6.35 20.83/6.35 U6_AAGAAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9) = U6_AAGAAAAA(x3, x4, x5, x9) 20.83/6.35 20.83/6.35 20.83/6.35 We have to consider all (P,R,Pi)-chains 20.83/6.35 ---------------------------------------- 20.83/6.35 20.83/6.35 (202) PiDPToQDPProof (SOUND) 20.83/6.35 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 20.83/6.35 ---------------------------------------- 20.83/6.35 20.83/6.35 (203) 20.83/6.35 Obligation: 20.83/6.35 Q DP problem: 20.83/6.35 The TRS P consists of the following rules: 20.83/6.35 20.83/6.35 PC_IN_AAGAAAAA(X3) -> U4_AAGAAAAA(X3, splitcB_in_agaa(.(X3))) 20.83/6.35 U4_AAGAAAAA(X3, splitcB_out_agaa(.(X3), X4, X5)) -> MERGESORTE_IN_GA(X4) 20.83/6.35 MERGESORTE_IN_GA(.(.(X3))) -> PC_IN_AAGAAAAA(X3) 20.83/6.35 U4_AAGAAAAA(X3, splitcB_out_agaa(.(X3), X4, X5)) -> U6_AAGAAAAA(X3, X4, X5, mergesortcE_in_ga(X4)) 20.83/6.35 U6_AAGAAAAA(X3, X4, X5, mergesortcE_out_ga(X4, X6)) -> MERGESORTE_IN_GA(X5) 20.83/6.35 20.83/6.35 The TRS R consists of the following rules: 20.83/6.35 20.83/6.35 splitcB_in_agaa(X2) -> U35_agaa(X2, splitcA_in_gaa(X2)) 20.83/6.35 mergesortcE_in_ga([]) -> mergesortcE_out_ga([], []) 20.83/6.35 mergesortcE_in_ga(.([])) -> mergesortcE_out_ga(.([]), .([])) 20.83/6.35 mergesortcE_in_ga(.(.(X3))) -> U40_ga(X3, qcC_in_aagaaaaa(X3)) 20.83/6.35 U35_agaa(X2, splitcA_out_gaa(X2, X4, X3)) -> splitcB_out_agaa(X2, .(X3), X4) 20.83/6.35 U40_ga(X3, qcC_out_aagaaaaa(X3, X5, X6, X7, X8, X4)) -> mergesortcE_out_ga(.(.(X3)), X4) 20.83/6.35 splitcA_in_gaa([]) -> splitcA_out_gaa([], [], []) 20.83/6.35 splitcA_in_gaa(.(X2)) -> U34_gaa(X2, splitcA_in_gaa(X2)) 20.83/6.35 qcC_in_aagaaaaa(X3) -> U36_aagaaaaa(X3, splitcB_in_agaa(.(X3))) 20.83/6.35 U34_gaa(X2, splitcA_out_gaa(X2, X4, X3)) -> splitcA_out_gaa(.(X2), .(X3), X4) 20.83/6.35 U36_aagaaaaa(X3, splitcB_out_agaa(.(X3), X4, X5)) -> U37_aagaaaaa(X3, X4, X5, mergesortcE_in_ga(X4)) 20.83/6.35 U37_aagaaaaa(X3, X4, X5, mergesortcE_out_ga(X4, X6)) -> U38_aagaaaaa(X3, X4, X5, X6, mergesortcE_in_ga(X5)) 20.83/6.35 U38_aagaaaaa(X3, X4, X5, X6, mergesortcE_out_ga(X5, X7)) -> U39_aagaaaaa(X3, X4, X5, X6, X7, mergecD_in_gga(X6, X7)) 20.83/6.35 U39_aagaaaaa(X3, X4, X5, X6, X7, mergecD_out_gga(X6, X7, X8)) -> qcC_out_aagaaaaa(X3, X4, X5, X6, X7, X8) 20.83/6.35 mergecD_in_gga([], X1) -> mergecD_out_gga([], X1, X1) 20.83/6.35 mergecD_in_gga(X1, []) -> mergecD_out_gga(X1, [], X1) 20.83/6.35 mergecD_in_gga(.(X2), .(X3)) -> U41_gga(X2, X3, mergecD_in_gga(.(X2), X3)) 20.83/6.35 U41_gga(X2, X3, mergecD_out_gga(.(X2), X3, X4)) -> mergecD_out_gga(.(X2), .(X3), .(X4)) 20.83/6.35 20.83/6.35 The set Q consists of the following terms: 20.83/6.35 20.83/6.35 splitcB_in_agaa(x0) 20.83/6.35 mergesortcE_in_ga(x0) 20.83/6.35 U35_agaa(x0, x1) 20.83/6.35 U40_ga(x0, x1) 20.83/6.35 splitcA_in_gaa(x0) 20.83/6.35 qcC_in_aagaaaaa(x0) 20.83/6.35 U34_gaa(x0, x1) 20.83/6.35 U36_aagaaaaa(x0, x1) 20.83/6.35 U37_aagaaaaa(x0, x1, x2, x3) 20.83/6.35 U38_aagaaaaa(x0, x1, x2, x3, x4) 20.83/6.35 U39_aagaaaaa(x0, x1, x2, x3, x4, x5) 20.83/6.35 mergecD_in_gga(x0, x1) 20.83/6.35 U41_gga(x0, x1, x2) 20.83/6.35 20.83/6.35 We have to consider all (P,Q,R)-chains. 20.83/6.35 ---------------------------------------- 20.83/6.35 20.83/6.35 (204) TransformationProof (EQUIVALENT) 20.83/6.35 By rewriting [LPAR04] the rule PC_IN_AAGAAAAA(X3) -> U4_AAGAAAAA(X3, splitcB_in_agaa(.(X3))) at position [1] we obtained the following new rules [LPAR04]: 20.83/6.35 20.83/6.35 (PC_IN_AAGAAAAA(X3) -> U4_AAGAAAAA(X3, U35_agaa(.(X3), splitcA_in_gaa(.(X3)))),PC_IN_AAGAAAAA(X3) -> U4_AAGAAAAA(X3, U35_agaa(.(X3), splitcA_in_gaa(.(X3))))) 20.83/6.35 20.83/6.35 20.83/6.35 ---------------------------------------- 20.83/6.35 20.83/6.35 (205) 20.83/6.35 Obligation: 20.83/6.35 Q DP problem: 20.83/6.35 The TRS P consists of the following rules: 20.83/6.35 20.83/6.35 U4_AAGAAAAA(X3, splitcB_out_agaa(.(X3), X4, X5)) -> MERGESORTE_IN_GA(X4) 20.83/6.35 MERGESORTE_IN_GA(.(.(X3))) -> PC_IN_AAGAAAAA(X3) 20.83/6.35 U4_AAGAAAAA(X3, splitcB_out_agaa(.(X3), X4, X5)) -> U6_AAGAAAAA(X3, X4, X5, mergesortcE_in_ga(X4)) 20.83/6.35 U6_AAGAAAAA(X3, X4, X5, mergesortcE_out_ga(X4, X6)) -> MERGESORTE_IN_GA(X5) 20.83/6.35 PC_IN_AAGAAAAA(X3) -> U4_AAGAAAAA(X3, U35_agaa(.(X3), splitcA_in_gaa(.(X3)))) 20.83/6.35 20.83/6.35 The TRS R consists of the following rules: 20.83/6.35 20.83/6.35 splitcB_in_agaa(X2) -> U35_agaa(X2, splitcA_in_gaa(X2)) 20.83/6.35 mergesortcE_in_ga([]) -> mergesortcE_out_ga([], []) 20.83/6.35 mergesortcE_in_ga(.([])) -> mergesortcE_out_ga(.([]), .([])) 20.83/6.35 mergesortcE_in_ga(.(.(X3))) -> U40_ga(X3, qcC_in_aagaaaaa(X3)) 20.83/6.35 U35_agaa(X2, splitcA_out_gaa(X2, X4, X3)) -> splitcB_out_agaa(X2, .(X3), X4) 20.83/6.35 U40_ga(X3, qcC_out_aagaaaaa(X3, X5, X6, X7, X8, X4)) -> mergesortcE_out_ga(.(.(X3)), X4) 20.83/6.35 splitcA_in_gaa([]) -> splitcA_out_gaa([], [], []) 20.83/6.35 splitcA_in_gaa(.(X2)) -> U34_gaa(X2, splitcA_in_gaa(X2)) 20.83/6.35 qcC_in_aagaaaaa(X3) -> U36_aagaaaaa(X3, splitcB_in_agaa(.(X3))) 20.83/6.35 U34_gaa(X2, splitcA_out_gaa(X2, X4, X3)) -> splitcA_out_gaa(.(X2), .(X3), X4) 20.83/6.35 U36_aagaaaaa(X3, splitcB_out_agaa(.(X3), X4, X5)) -> U37_aagaaaaa(X3, X4, X5, mergesortcE_in_ga(X4)) 20.83/6.35 U37_aagaaaaa(X3, X4, X5, mergesortcE_out_ga(X4, X6)) -> U38_aagaaaaa(X3, X4, X5, X6, mergesortcE_in_ga(X5)) 20.83/6.35 U38_aagaaaaa(X3, X4, X5, X6, mergesortcE_out_ga(X5, X7)) -> U39_aagaaaaa(X3, X4, X5, X6, X7, mergecD_in_gga(X6, X7)) 20.83/6.35 U39_aagaaaaa(X3, X4, X5, X6, X7, mergecD_out_gga(X6, X7, X8)) -> qcC_out_aagaaaaa(X3, X4, X5, X6, X7, X8) 20.83/6.35 mergecD_in_gga([], X1) -> mergecD_out_gga([], X1, X1) 20.83/6.35 mergecD_in_gga(X1, []) -> mergecD_out_gga(X1, [], X1) 20.83/6.35 mergecD_in_gga(.(X2), .(X3)) -> U41_gga(X2, X3, mergecD_in_gga(.(X2), X3)) 20.83/6.35 U41_gga(X2, X3, mergecD_out_gga(.(X2), X3, X4)) -> mergecD_out_gga(.(X2), .(X3), .(X4)) 20.83/6.35 20.83/6.35 The set Q consists of the following terms: 20.83/6.35 20.83/6.35 splitcB_in_agaa(x0) 20.83/6.35 mergesortcE_in_ga(x0) 20.83/6.35 U35_agaa(x0, x1) 20.83/6.35 U40_ga(x0, x1) 20.83/6.35 splitcA_in_gaa(x0) 20.83/6.35 qcC_in_aagaaaaa(x0) 20.83/6.35 U34_gaa(x0, x1) 20.83/6.35 U36_aagaaaaa(x0, x1) 20.83/6.35 U37_aagaaaaa(x0, x1, x2, x3) 20.83/6.35 U38_aagaaaaa(x0, x1, x2, x3, x4) 20.83/6.35 U39_aagaaaaa(x0, x1, x2, x3, x4, x5) 20.83/6.35 mergecD_in_gga(x0, x1) 20.83/6.35 U41_gga(x0, x1, x2) 20.83/6.35 20.83/6.35 We have to consider all (P,Q,R)-chains. 20.83/6.35 ---------------------------------------- 20.83/6.35 20.83/6.35 (206) TransformationProof (EQUIVALENT) 20.83/6.35 By rewriting [LPAR04] the rule PC_IN_AAGAAAAA(X3) -> U4_AAGAAAAA(X3, U35_agaa(.(X3), splitcA_in_gaa(.(X3)))) at position [1,1] we obtained the following new rules [LPAR04]: 20.83/6.35 20.83/6.35 (PC_IN_AAGAAAAA(X3) -> U4_AAGAAAAA(X3, U35_agaa(.(X3), U34_gaa(X3, splitcA_in_gaa(X3)))),PC_IN_AAGAAAAA(X3) -> U4_AAGAAAAA(X3, U35_agaa(.(X3), U34_gaa(X3, splitcA_in_gaa(X3))))) 20.83/6.35 20.83/6.35 20.83/6.35 ---------------------------------------- 20.83/6.35 20.83/6.35 (207) 20.83/6.35 Obligation: 20.83/6.35 Q DP problem: 20.83/6.35 The TRS P consists of the following rules: 20.83/6.35 20.83/6.35 U4_AAGAAAAA(X3, splitcB_out_agaa(.(X3), X4, X5)) -> MERGESORTE_IN_GA(X4) 20.83/6.35 MERGESORTE_IN_GA(.(.(X3))) -> PC_IN_AAGAAAAA(X3) 20.83/6.35 U4_AAGAAAAA(X3, splitcB_out_agaa(.(X3), X4, X5)) -> U6_AAGAAAAA(X3, X4, X5, mergesortcE_in_ga(X4)) 20.83/6.35 U6_AAGAAAAA(X3, X4, X5, mergesortcE_out_ga(X4, X6)) -> MERGESORTE_IN_GA(X5) 20.83/6.35 PC_IN_AAGAAAAA(X3) -> U4_AAGAAAAA(X3, U35_agaa(.(X3), U34_gaa(X3, splitcA_in_gaa(X3)))) 20.83/6.35 20.83/6.35 The TRS R consists of the following rules: 20.83/6.35 20.83/6.35 splitcB_in_agaa(X2) -> U35_agaa(X2, splitcA_in_gaa(X2)) 20.83/6.35 mergesortcE_in_ga([]) -> mergesortcE_out_ga([], []) 20.83/6.35 mergesortcE_in_ga(.([])) -> mergesortcE_out_ga(.([]), .([])) 20.83/6.35 mergesortcE_in_ga(.(.(X3))) -> U40_ga(X3, qcC_in_aagaaaaa(X3)) 20.83/6.35 U35_agaa(X2, splitcA_out_gaa(X2, X4, X3)) -> splitcB_out_agaa(X2, .(X3), X4) 20.83/6.35 U40_ga(X3, qcC_out_aagaaaaa(X3, X5, X6, X7, X8, X4)) -> mergesortcE_out_ga(.(.(X3)), X4) 20.83/6.35 splitcA_in_gaa([]) -> splitcA_out_gaa([], [], []) 20.83/6.35 splitcA_in_gaa(.(X2)) -> U34_gaa(X2, splitcA_in_gaa(X2)) 20.83/6.35 qcC_in_aagaaaaa(X3) -> U36_aagaaaaa(X3, splitcB_in_agaa(.(X3))) 20.83/6.35 U34_gaa(X2, splitcA_out_gaa(X2, X4, X3)) -> splitcA_out_gaa(.(X2), .(X3), X4) 20.83/6.35 U36_aagaaaaa(X3, splitcB_out_agaa(.(X3), X4, X5)) -> U37_aagaaaaa(X3, X4, X5, mergesortcE_in_ga(X4)) 20.83/6.35 U37_aagaaaaa(X3, X4, X5, mergesortcE_out_ga(X4, X6)) -> U38_aagaaaaa(X3, X4, X5, X6, mergesortcE_in_ga(X5)) 20.83/6.35 U38_aagaaaaa(X3, X4, X5, X6, mergesortcE_out_ga(X5, X7)) -> U39_aagaaaaa(X3, X4, X5, X6, X7, mergecD_in_gga(X6, X7)) 20.83/6.35 U39_aagaaaaa(X3, X4, X5, X6, X7, mergecD_out_gga(X6, X7, X8)) -> qcC_out_aagaaaaa(X3, X4, X5, X6, X7, X8) 20.83/6.35 mergecD_in_gga([], X1) -> mergecD_out_gga([], X1, X1) 20.83/6.35 mergecD_in_gga(X1, []) -> mergecD_out_gga(X1, [], X1) 20.83/6.35 mergecD_in_gga(.(X2), .(X3)) -> U41_gga(X2, X3, mergecD_in_gga(.(X2), X3)) 20.83/6.35 U41_gga(X2, X3, mergecD_out_gga(.(X2), X3, X4)) -> mergecD_out_gga(.(X2), .(X3), .(X4)) 20.83/6.35 20.83/6.35 The set Q consists of the following terms: 20.83/6.35 20.83/6.35 splitcB_in_agaa(x0) 20.83/6.35 mergesortcE_in_ga(x0) 20.83/6.35 U35_agaa(x0, x1) 20.83/6.35 U40_ga(x0, x1) 20.83/6.35 splitcA_in_gaa(x0) 20.83/6.35 qcC_in_aagaaaaa(x0) 20.83/6.35 U34_gaa(x0, x1) 20.83/6.35 U36_aagaaaaa(x0, x1) 20.83/6.35 U37_aagaaaaa(x0, x1, x2, x3) 20.83/6.35 U38_aagaaaaa(x0, x1, x2, x3, x4) 20.83/6.35 U39_aagaaaaa(x0, x1, x2, x3, x4, x5) 20.83/6.35 mergecD_in_gga(x0, x1) 20.83/6.35 U41_gga(x0, x1, x2) 20.83/6.35 20.83/6.35 We have to consider all (P,Q,R)-chains. 20.83/6.35 ---------------------------------------- 20.83/6.35 20.83/6.35 (208) QDPQMonotonicMRRProof (EQUIVALENT) 20.83/6.35 By using the Q-monotonic rule removal processor with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented such that it always occurs at a strongly monotonic position in a (P,Q,R)-chain. 20.83/6.35 20.83/6.35 Strictly oriented dependency pairs: 20.83/6.35 20.83/6.35 MERGESORTE_IN_GA(.(.(X3))) -> PC_IN_AAGAAAAA(X3) 20.83/6.35 20.83/6.35 20.83/6.35 Used ordering: Polynomial interpretation [POLO]: 20.83/6.35 20.83/6.35 POL(.(x_1)) = 1 + 2*x_1 20.83/6.35 POL(MERGESORTE_IN_GA(x_1)) = x_1 20.83/6.35 POL(PC_IN_AAGAAAAA(x_1)) = 2 + 2*x_1 20.83/6.35 POL(U34_gaa(x_1, x_2)) = 1 + 2*x_2 20.83/6.35 POL(U35_agaa(x_1, x_2)) = 1 + x_2 20.83/6.35 POL(U36_aagaaaaa(x_1, x_2)) = 2 20.83/6.35 POL(U37_aagaaaaa(x_1, x_2, x_3, x_4)) = 1 20.83/6.35 POL(U38_aagaaaaa(x_1, x_2, x_3, x_4, x_5)) = 1 20.83/6.35 POL(U39_aagaaaaa(x_1, x_2, x_3, x_4, x_5, x_6)) = 0 20.83/6.35 POL(U40_ga(x_1, x_2)) = 0 20.83/6.35 POL(U41_gga(x_1, x_2, x_3)) = 0 20.83/6.35 POL(U4_AAGAAAAA(x_1, x_2)) = x_2 20.83/6.35 POL(U6_AAGAAAAA(x_1, x_2, x_3, x_4)) = x_3 20.83/6.35 POL([]) = 0 20.83/6.35 POL(mergecD_in_gga(x_1, x_2)) = 0 20.83/6.35 POL(mergecD_out_gga(x_1, x_2, x_3)) = 0 20.83/6.35 POL(mergesortcE_in_ga(x_1)) = 0 20.83/6.35 POL(mergesortcE_out_ga(x_1, x_2)) = 0 20.83/6.35 POL(qcC_in_aagaaaaa(x_1)) = 2 20.83/6.35 POL(qcC_out_aagaaaaa(x_1, x_2, x_3, x_4, x_5, x_6)) = 0 20.83/6.35 POL(splitcA_in_gaa(x_1)) = x_1 20.83/6.35 POL(splitcA_out_gaa(x_1, x_2, x_3)) = x_2 + 2*x_3 20.83/6.35 POL(splitcB_in_agaa(x_1)) = 2 + x_1 20.83/6.35 POL(splitcB_out_agaa(x_1, x_2, x_3)) = x_2 + x_3 20.83/6.35 20.83/6.35 20.83/6.35 ---------------------------------------- 20.83/6.35 20.83/6.35 (209) 20.83/6.35 Obligation: 20.83/6.35 Q DP problem: 20.83/6.35 The TRS P consists of the following rules: 20.83/6.35 20.83/6.35 U4_AAGAAAAA(X3, splitcB_out_agaa(.(X3), X4, X5)) -> MERGESORTE_IN_GA(X4) 20.83/6.35 U4_AAGAAAAA(X3, splitcB_out_agaa(.(X3), X4, X5)) -> U6_AAGAAAAA(X3, X4, X5, mergesortcE_in_ga(X4)) 20.83/6.35 U6_AAGAAAAA(X3, X4, X5, mergesortcE_out_ga(X4, X6)) -> MERGESORTE_IN_GA(X5) 20.83/6.35 PC_IN_AAGAAAAA(X3) -> U4_AAGAAAAA(X3, U35_agaa(.(X3), U34_gaa(X3, splitcA_in_gaa(X3)))) 20.83/6.35 20.83/6.35 The TRS R consists of the following rules: 20.83/6.35 20.83/6.35 splitcB_in_agaa(X2) -> U35_agaa(X2, splitcA_in_gaa(X2)) 20.83/6.35 mergesortcE_in_ga([]) -> mergesortcE_out_ga([], []) 20.83/6.35 mergesortcE_in_ga(.([])) -> mergesortcE_out_ga(.([]), .([])) 20.83/6.35 mergesortcE_in_ga(.(.(X3))) -> U40_ga(X3, qcC_in_aagaaaaa(X3)) 20.83/6.35 U35_agaa(X2, splitcA_out_gaa(X2, X4, X3)) -> splitcB_out_agaa(X2, .(X3), X4) 20.83/6.35 U40_ga(X3, qcC_out_aagaaaaa(X3, X5, X6, X7, X8, X4)) -> mergesortcE_out_ga(.(.(X3)), X4) 20.83/6.35 splitcA_in_gaa([]) -> splitcA_out_gaa([], [], []) 20.83/6.35 splitcA_in_gaa(.(X2)) -> U34_gaa(X2, splitcA_in_gaa(X2)) 20.83/6.35 qcC_in_aagaaaaa(X3) -> U36_aagaaaaa(X3, splitcB_in_agaa(.(X3))) 20.83/6.35 U34_gaa(X2, splitcA_out_gaa(X2, X4, X3)) -> splitcA_out_gaa(.(X2), .(X3), X4) 20.83/6.35 U36_aagaaaaa(X3, splitcB_out_agaa(.(X3), X4, X5)) -> U37_aagaaaaa(X3, X4, X5, mergesortcE_in_ga(X4)) 20.83/6.35 U37_aagaaaaa(X3, X4, X5, mergesortcE_out_ga(X4, X6)) -> U38_aagaaaaa(X3, X4, X5, X6, mergesortcE_in_ga(X5)) 20.83/6.35 U38_aagaaaaa(X3, X4, X5, X6, mergesortcE_out_ga(X5, X7)) -> U39_aagaaaaa(X3, X4, X5, X6, X7, mergecD_in_gga(X6, X7)) 20.83/6.35 U39_aagaaaaa(X3, X4, X5, X6, X7, mergecD_out_gga(X6, X7, X8)) -> qcC_out_aagaaaaa(X3, X4, X5, X6, X7, X8) 20.83/6.35 mergecD_in_gga([], X1) -> mergecD_out_gga([], X1, X1) 20.83/6.35 mergecD_in_gga(X1, []) -> mergecD_out_gga(X1, [], X1) 20.83/6.35 mergecD_in_gga(.(X2), .(X3)) -> U41_gga(X2, X3, mergecD_in_gga(.(X2), X3)) 20.83/6.35 U41_gga(X2, X3, mergecD_out_gga(.(X2), X3, X4)) -> mergecD_out_gga(.(X2), .(X3), .(X4)) 20.83/6.35 20.83/6.35 The set Q consists of the following terms: 20.83/6.35 20.83/6.35 splitcB_in_agaa(x0) 20.83/6.35 mergesortcE_in_ga(x0) 20.83/6.35 U35_agaa(x0, x1) 20.83/6.35 U40_ga(x0, x1) 20.83/6.35 splitcA_in_gaa(x0) 20.83/6.35 qcC_in_aagaaaaa(x0) 20.83/6.35 U34_gaa(x0, x1) 20.83/6.35 U36_aagaaaaa(x0, x1) 20.83/6.35 U37_aagaaaaa(x0, x1, x2, x3) 20.83/6.35 U38_aagaaaaa(x0, x1, x2, x3, x4) 20.83/6.35 U39_aagaaaaa(x0, x1, x2, x3, x4, x5) 20.83/6.35 mergecD_in_gga(x0, x1) 20.83/6.35 U41_gga(x0, x1, x2) 20.83/6.35 20.83/6.35 We have to consider all (P,Q,R)-chains. 20.83/6.35 ---------------------------------------- 20.83/6.35 20.83/6.35 (210) DependencyGraphProof (EQUIVALENT) 20.83/6.35 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 4 less nodes. 20.83/6.35 ---------------------------------------- 20.83/6.35 20.83/6.35 (211) 20.83/6.35 TRUE 20.83/6.35 20.83/6.35 ---------------------------------------- 20.83/6.35 20.83/6.35 (212) 20.83/6.35 Obligation: 20.83/6.35 Pi DP problem: 20.83/6.35 The TRS P consists of the following rules: 20.83/6.35 20.83/6.35 SPLITA_IN_AAA(.(X1, X2), .(X1, X3), X4) -> SPLITA_IN_AAA(X2, X4, X3) 20.83/6.35 20.83/6.35 The TRS R consists of the following rules: 20.83/6.35 20.83/6.35 splitcB_in_aaaa(X1, X2, .(X1, X3), X4) -> U35_aaaa(X1, X2, X3, X4, splitcA_in_aaa(X2, X4, X3)) 20.83/6.35 splitcA_in_aaa([], [], []) -> splitcA_out_aaa([], [], []) 20.83/6.35 splitcA_in_aaa(.(X1, X2), .(X1, X3), X4) -> U34_aaa(X1, X2, X3, X4, splitcA_in_aaa(X2, X4, X3)) 20.83/6.35 U34_aaa(X1, X2, X3, X4, splitcA_out_aaa(X2, X4, X3)) -> splitcA_out_aaa(.(X1, X2), .(X1, X3), X4) 20.83/6.35 U35_aaaa(X1, X2, X3, X4, splitcA_out_aaa(X2, X4, X3)) -> splitcB_out_aaaa(X1, X2, .(X1, X3), X4) 20.83/6.35 splitcB_in_agaa(X1, X2, .(X1, X3), X4) -> U35_agaa(X1, X2, X3, X4, splitcA_in_gaa(X2, X4, X3)) 20.83/6.35 splitcA_in_gaa([], [], []) -> splitcA_out_gaa([], [], []) 20.83/6.35 splitcA_in_gaa(.(X1, X2), .(X1, X3), X4) -> U34_gaa(X1, X2, X3, X4, splitcA_in_gaa(X2, X4, X3)) 20.83/6.35 U34_gaa(X1, X2, X3, X4, splitcA_out_gaa(X2, X4, X3)) -> splitcA_out_gaa(.(X1, X2), .(X1, X3), X4) 20.83/6.35 U35_agaa(X1, X2, X3, X4, splitcA_out_gaa(X2, X4, X3)) -> splitcB_out_agaa(X1, X2, .(X1, X3), X4) 20.83/6.35 mergesortcE_in_ga([], []) -> mergesortcE_out_ga([], []) 20.83/6.35 mergesortcE_in_ga(.(X1, []), .(X1, [])) -> mergesortcE_out_ga(.(X1, []), .(X1, [])) 20.83/6.35 mergesortcE_in_ga(.(X1, .(X2, X3)), X4) -> U40_ga(X1, X2, X3, X4, qcC_in_aagaaaaa(X1, X2, X3, X5, X6, X7, X8, X4)) 20.83/6.35 qcC_in_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8) -> U36_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, splitcB_in_agaa(X1, .(X2, X3), X4, X5)) 20.83/6.35 U36_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, splitcB_out_agaa(X1, .(X2, X3), X4, X5)) -> U37_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_in_ga(X4, X6)) 20.83/6.35 U37_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_out_ga(X4, X6)) -> U38_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_in_ga(X5, X7)) 20.83/6.35 U38_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcE_out_ga(X5, X7)) -> U39_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, mergecD_in_gga(X6, X7, X8)) 20.83/6.35 mergecD_in_gga([], X1, X1) -> mergecD_out_gga([], X1, X1) 20.83/6.35 mergecD_in_gga(X1, [], X1) -> mergecD_out_gga(X1, [], X1) 20.83/6.35 mergecD_in_gga(.(X1, X2), .(X1, X3), .(X1, X4)) -> U41_gga(X1, X2, X3, X4, mergecD_in_gga(.(X1, X2), X3, X4)) 20.83/6.35 U41_gga(X1, X2, X3, X4, mergecD_out_gga(.(X1, X2), X3, X4)) -> mergecD_out_gga(.(X1, X2), .(X1, X3), .(X1, X4)) 20.83/6.35 U39_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8, mergecD_out_gga(X6, X7, X8)) -> qcC_out_aagaaaaa(X1, X2, X3, X4, X5, X6, X7, X8) 20.83/6.35 U40_ga(X1, X2, X3, X4, qcC_out_aagaaaaa(X1, X2, X3, X5, X6, X7, X8, X4)) -> mergesortcE_out_ga(.(X1, .(X2, X3)), X4) 20.83/6.35 mergesortcF_in_aga(X1, [], .(X1, [])) -> mergesortcF_out_aga(X1, [], .(X1, [])) 20.83/6.35 mergesortcF_in_aga(X1, .(X2, X3), X4) -> U42_aga(X1, X2, X3, X4, qcC_in_aagaaaaa(X1, X2, X3, X5, X6, X7, X8, X4)) 20.83/6.35 U42_aga(X1, X2, X3, X4, qcC_out_aagaaaaa(X1, X2, X3, X5, X6, X7, X8, X4)) -> mergesortcF_out_aga(X1, .(X2, X3), X4) 20.83/6.35 20.83/6.35 The argument filtering Pi contains the following mapping: 20.83/6.35 [] = [] 20.83/6.35 20.83/6.35 .(x1, x2) = .(x2) 20.83/6.35 20.83/6.35 splitcB_in_aaaa(x1, x2, x3, x4) = splitcB_in_aaaa 20.83/6.35 20.83/6.35 U35_aaaa(x1, x2, x3, x4, x5) = U35_aaaa(x5) 20.83/6.35 20.83/6.35 splitcA_in_aaa(x1, x2, x3) = splitcA_in_aaa 20.83/6.35 20.83/6.35 splitcA_out_aaa(x1, x2, x3) = splitcA_out_aaa(x1, x2, x3) 20.83/6.35 20.83/6.35 U34_aaa(x1, x2, x3, x4, x5) = U34_aaa(x5) 20.83/6.35 20.83/6.35 splitcB_out_aaaa(x1, x2, x3, x4) = splitcB_out_aaaa(x2, x3, x4) 20.83/6.35 20.83/6.35 splitcB_in_agaa(x1, x2, x3, x4) = splitcB_in_agaa(x2) 20.83/6.35 20.83/6.35 U35_agaa(x1, x2, x3, x4, x5) = U35_agaa(x2, x5) 20.83/6.35 20.83/6.35 splitcA_in_gaa(x1, x2, x3) = splitcA_in_gaa(x1) 20.83/6.35 20.83/6.35 splitcA_out_gaa(x1, x2, x3) = splitcA_out_gaa(x1, x2, x3) 20.83/6.35 20.83/6.35 U34_gaa(x1, x2, x3, x4, x5) = U34_gaa(x2, x5) 20.83/6.35 20.83/6.35 splitcB_out_agaa(x1, x2, x3, x4) = splitcB_out_agaa(x2, x3, x4) 20.83/6.35 20.83/6.35 mergesortcE_in_ga(x1, x2) = mergesortcE_in_ga(x1) 20.83/6.35 20.83/6.35 mergesortcE_out_ga(x1, x2) = mergesortcE_out_ga(x1, x2) 20.83/6.35 20.83/6.35 U40_ga(x1, x2, x3, x4, x5) = U40_ga(x3, x5) 20.83/6.35 20.83/6.35 qcC_in_aagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8) = qcC_in_aagaaaaa(x3) 20.83/6.35 20.83/6.35 U36_aagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9) = U36_aagaaaaa(x3, x9) 20.83/6.35 20.83/6.35 U37_aagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9) = U37_aagaaaaa(x3, x4, x5, x9) 20.83/6.35 20.83/6.35 U38_aagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9) = U38_aagaaaaa(x3, x4, x5, x6, x9) 20.83/6.35 20.83/6.35 U39_aagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9) = U39_aagaaaaa(x3, x4, x5, x6, x7, x9) 20.83/6.35 20.83/6.35 mergecD_in_gga(x1, x2, x3) = mergecD_in_gga(x1, x2) 20.83/6.35 20.83/6.35 mergecD_out_gga(x1, x2, x3) = mergecD_out_gga(x1, x2, x3) 20.83/6.35 20.83/6.35 U41_gga(x1, x2, x3, x4, x5) = U41_gga(x2, x3, x5) 20.83/6.35 20.83/6.35 qcC_out_aagaaaaa(x1, x2, x3, x4, x5, x6, x7, x8) = qcC_out_aagaaaaa(x3, x4, x5, x6, x7, x8) 20.83/6.35 20.83/6.35 mergesortcF_in_aga(x1, x2, x3) = mergesortcF_in_aga(x2) 20.83/6.35 20.83/6.35 mergesortcF_out_aga(x1, x2, x3) = mergesortcF_out_aga(x2, x3) 20.83/6.35 20.83/6.35 U42_aga(x1, x2, x3, x4, x5) = U42_aga(x3, x5) 20.83/6.35 20.83/6.35 SPLITA_IN_AAA(x1, x2, x3) = SPLITA_IN_AAA 20.83/6.35 20.83/6.35 20.83/6.35 We have to consider all (P,R,Pi)-chains 20.83/6.35 ---------------------------------------- 20.83/6.35 20.83/6.35 (213) UsableRulesProof (EQUIVALENT) 20.83/6.35 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 20.83/6.35 ---------------------------------------- 20.83/6.35 20.83/6.35 (214) 20.83/6.35 Obligation: 20.83/6.35 Pi DP problem: 20.83/6.35 The TRS P consists of the following rules: 20.83/6.35 20.83/6.35 SPLITA_IN_AAA(.(X1, X2), .(X1, X3), X4) -> SPLITA_IN_AAA(X2, X4, X3) 20.83/6.35 20.83/6.35 R is empty. 20.83/6.35 The argument filtering Pi contains the following mapping: 20.83/6.35 .(x1, x2) = .(x2) 20.83/6.35 20.83/6.35 SPLITA_IN_AAA(x1, x2, x3) = SPLITA_IN_AAA 20.83/6.35 20.83/6.35 20.83/6.35 We have to consider all (P,R,Pi)-chains 20.83/6.35 ---------------------------------------- 20.83/6.35 20.83/6.35 (215) PiDPToQDPProof (SOUND) 20.83/6.35 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 20.83/6.35 ---------------------------------------- 20.83/6.35 20.83/6.35 (216) 20.83/6.35 Obligation: 20.83/6.35 Q DP problem: 20.83/6.35 The TRS P consists of the following rules: 20.83/6.35 20.83/6.35 SPLITA_IN_AAA -> SPLITA_IN_AAA 20.83/6.35 20.83/6.35 R is empty. 20.83/6.35 Q is empty. 20.83/6.35 We have to consider all (P,Q,R)-chains. 20.83/6.35 ---------------------------------------- 20.83/6.35 20.83/6.35 (217) NonTerminationLoopProof (COMPLETE) 20.83/6.35 We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. 20.83/6.35 Found a loop by semiunifying a rule from P directly. 20.83/6.35 20.83/6.35 s = SPLITA_IN_AAA evaluates to t =SPLITA_IN_AAA 20.83/6.35 20.83/6.35 Thus s starts an infinite chain as s semiunifies with t with the following substitutions: 20.83/6.35 * Matcher: [ ] 20.83/6.35 * Semiunifier: [ ] 20.83/6.35 20.83/6.35 -------------------------------------------------------------------------------- 20.83/6.35 Rewriting sequence 20.83/6.35 20.83/6.35 The DP semiunifies directly so there is only one rewrite step from SPLITA_IN_AAA to SPLITA_IN_AAA. 20.83/6.35 20.83/6.35 20.83/6.35 20.83/6.35 20.83/6.35 ---------------------------------------- 20.83/6.35 20.83/6.35 (218) 20.83/6.35 NO 21.02/6.48 EOF