27.88/8.07 MAYBE 27.88/8.09 proof of /export/starexec/sandbox/benchmark/theBenchmark.pl 27.88/8.09 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 27.88/8.09 27.88/8.09 27.88/8.09 Left Termination of the query pattern 27.88/8.09 27.88/8.09 color_map(a,g) 27.88/8.09 27.88/8.09 w.r.t. the given Prolog program could not be shown: 27.88/8.09 27.88/8.09 (0) Prolog 27.88/8.09 (1) PrologToPiTRSProof [SOUND, 0 ms] 27.88/8.09 (2) PiTRS 27.88/8.09 (3) DependencyPairsProof [EQUIVALENT, 4 ms] 27.88/8.09 (4) PiDP 27.88/8.09 (5) DependencyGraphProof [EQUIVALENT, 0 ms] 27.88/8.09 (6) AND 27.88/8.09 (7) PiDP 27.88/8.09 (8) UsableRulesProof [EQUIVALENT, 0 ms] 27.88/8.09 (9) PiDP 27.88/8.09 (10) PiDPToQDPProof [SOUND, 0 ms] 27.88/8.09 (11) QDP 27.88/8.09 (12) QDPSizeChangeProof [EQUIVALENT, 0 ms] 27.88/8.09 (13) YES 27.88/8.09 (14) PiDP 27.88/8.09 (15) UsableRulesProof [EQUIVALENT, 0 ms] 27.88/8.09 (16) PiDP 27.88/8.09 (17) PiDPToQDPProof [SOUND, 0 ms] 27.88/8.09 (18) QDP 27.88/8.09 (19) TransformationProof [SOUND, 0 ms] 27.88/8.09 (20) QDP 27.88/8.09 (21) TransformationProof [EQUIVALENT, 0 ms] 27.88/8.09 (22) QDP 27.88/8.09 (23) NonTerminationLoopProof [COMPLETE, 0 ms] 27.88/8.09 (24) NO 27.88/8.09 (25) PiDP 27.88/8.09 (26) UsableRulesProof [EQUIVALENT, 0 ms] 27.88/8.09 (27) PiDP 27.88/8.09 (28) PiDPToQDPProof [SOUND, 0 ms] 27.88/8.09 (29) QDP 27.88/8.09 (30) QDPSizeChangeProof [EQUIVALENT, 0 ms] 27.88/8.09 (31) YES 27.88/8.09 (32) PiDP 27.88/8.09 (33) UsableRulesProof [EQUIVALENT, 0 ms] 27.88/8.09 (34) PiDP 27.88/8.09 (35) PiDPToQDPProof [SOUND, 0 ms] 27.88/8.09 (36) QDP 27.88/8.09 (37) PrologToPiTRSProof [SOUND, 0 ms] 27.88/8.09 (38) PiTRS 27.88/8.09 (39) DependencyPairsProof [EQUIVALENT, 6 ms] 27.88/8.09 (40) PiDP 27.88/8.09 (41) DependencyGraphProof [EQUIVALENT, 0 ms] 27.88/8.09 (42) AND 27.88/8.09 (43) PiDP 27.88/8.09 (44) UsableRulesProof [EQUIVALENT, 0 ms] 27.88/8.09 (45) PiDP 27.88/8.09 (46) PiDPToQDPProof [SOUND, 0 ms] 27.88/8.09 (47) QDP 27.88/8.09 (48) QDPSizeChangeProof [EQUIVALENT, 0 ms] 27.88/8.09 (49) YES 27.88/8.09 (50) PiDP 27.88/8.09 (51) UsableRulesProof [EQUIVALENT, 0 ms] 27.88/8.09 (52) PiDP 27.88/8.09 (53) PiDPToQDPProof [SOUND, 0 ms] 27.88/8.09 (54) QDP 27.88/8.09 (55) TransformationProof [SOUND, 0 ms] 27.88/8.09 (56) QDP 27.88/8.09 (57) TransformationProof [EQUIVALENT, 0 ms] 27.88/8.09 (58) QDP 27.88/8.09 (59) PiDP 27.88/8.09 (60) UsableRulesProof [EQUIVALENT, 0 ms] 27.88/8.09 (61) PiDP 27.88/8.09 (62) PiDP 27.88/8.09 (63) UsableRulesProof [EQUIVALENT, 0 ms] 27.88/8.09 (64) PiDP 27.88/8.09 (65) PrologToDTProblemTransformerProof [SOUND, 0 ms] 27.88/8.09 (66) TRIPLES 27.88/8.09 (67) TriplesToPiDPProof [SOUND, 0 ms] 27.88/8.09 (68) PiDP 27.88/8.09 (69) DependencyGraphProof [EQUIVALENT, 0 ms] 27.88/8.09 (70) AND 27.88/8.09 (71) PiDP 27.88/8.09 (72) UsableRulesProof [EQUIVALENT, 0 ms] 27.88/8.09 (73) PiDP 27.88/8.09 (74) PiDPToQDPProof [SOUND, 0 ms] 27.88/8.09 (75) QDP 27.88/8.09 (76) QDPSizeChangeProof [EQUIVALENT, 0 ms] 27.88/8.09 (77) YES 27.88/8.09 (78) PiDP 27.88/8.09 (79) UsableRulesProof [EQUIVALENT, 0 ms] 27.88/8.09 (80) PiDP 27.88/8.09 (81) PiDPToQDPProof [SOUND, 0 ms] 27.88/8.09 (82) QDP 27.88/8.09 (83) TransformationProof [SOUND, 0 ms] 27.88/8.09 (84) QDP 27.88/8.09 (85) TransformationProof [EQUIVALENT, 0 ms] 27.88/8.09 (86) QDP 27.88/8.09 (87) PiDP 27.88/8.09 (88) UsableRulesProof [EQUIVALENT, 0 ms] 27.88/8.09 (89) PiDP 27.88/8.09 (90) PiDP 27.88/8.09 (91) PrologToTRSTransformerProof [SOUND, 34 ms] 27.88/8.09 (92) QTRS 27.88/8.09 (93) DependencyPairsProof [EQUIVALENT, 0 ms] 27.88/8.09 (94) QDP 27.88/8.09 (95) DependencyGraphProof [EQUIVALENT, 0 ms] 27.88/8.09 (96) AND 27.88/8.09 (97) QDP 27.88/8.09 (98) UsableRulesProof [EQUIVALENT, 0 ms] 27.88/8.09 (99) QDP 27.88/8.09 (100) QDPSizeChangeProof [EQUIVALENT, 0 ms] 27.88/8.09 (101) YES 27.88/8.09 (102) QDP 27.88/8.09 (103) NonTerminationLoopProof [COMPLETE, 10 ms] 27.88/8.09 (104) NO 27.88/8.09 (105) QDP 27.88/8.09 (106) UsableRulesProof [EQUIVALENT, 0 ms] 27.88/8.09 (107) QDP 27.88/8.09 (108) QDPSizeChangeProof [EQUIVALENT, 0 ms] 27.88/8.09 (109) YES 27.88/8.09 (110) QDP 27.88/8.09 (111) NonTerminationLoopProof [COMPLETE, 1 ms] 27.88/8.09 (112) NO 27.88/8.09 (113) PrologToIRSwTTransformerProof [SOUND, 20 ms] 27.88/8.09 (114) AND 27.88/8.09 (115) IRSwT 27.88/8.09 (116) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms] 27.88/8.09 (117) TRUE 27.88/8.09 (118) IRSwT 27.88/8.09 (119) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms] 27.88/8.09 (120) TRUE 27.88/8.09 (121) IRSwT 27.88/8.09 (122) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms] 27.88/8.09 (123) IRSwT 27.88/8.09 (124) IntTRSCompressionProof [EQUIVALENT, 22 ms] 27.88/8.09 (125) IRSwT 27.88/8.09 (126) IRSFormatTransformerProof [EQUIVALENT, 0 ms] 27.88/8.09 (127) IRSwT 27.88/8.09 (128) IRSwTTerminationDigraphProof [EQUIVALENT, 8 ms] 27.88/8.09 (129) IRSwT 27.88/8.09 (130) IntTRSUnneededArgumentFilterProof [EQUIVALENT, 19 ms] 27.88/8.09 (131) IRSwT 27.88/8.09 (132) TempFilterProof [SOUND, 3 ms] 27.88/8.09 (133) IRSwT 27.88/8.09 (134) IRSwTToQDPProof [SOUND, 0 ms] 27.88/8.09 (135) QDP 27.88/8.09 (136) QDPSizeChangeProof [EQUIVALENT, 0 ms] 27.88/8.09 (137) YES 27.88/8.09 (138) IRSwT 27.88/8.09 (139) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms] 27.88/8.09 (140) IRSwT 27.88/8.09 (141) IntTRSCompressionProof [EQUIVALENT, 26 ms] 27.88/8.09 (142) IRSwT 27.88/8.09 (143) IRSFormatTransformerProof [EQUIVALENT, 0 ms] 27.88/8.09 (144) IRSwT 27.88/8.09 (145) IRSwTTerminationDigraphProof [EQUIVALENT, 62 ms] 27.88/8.09 (146) IRSwT 27.88/8.09 (147) IntTRSUnneededArgumentFilterProof [EQUIVALENT, 0 ms] 27.88/8.09 (148) IRSwT 27.88/8.09 27.88/8.09 27.88/8.09 ---------------------------------------- 27.88/8.09 27.88/8.09 (0) 27.88/8.09 Obligation: 27.88/8.09 Clauses: 27.88/8.09 27.88/8.09 color_map(.(Region, Regions), Colors) :- ','(color_region(Region, Colors), color_map(Regions, Colors)). 27.88/8.09 color_map([], Colors). 27.88/8.09 color_region(region(Color, Neighbors), Colors) :- ','(select(Color, Colors, Colors1), members(Neighbors, Colors1)). 27.88/8.09 select(X, .(X, Xs), Xs). 27.88/8.09 select(X, .(Y, Ys), .(Y, Zs)) :- select(X, Ys, Zs). 27.88/8.09 members(.(X, Xs), Ys) :- ','(member(X, Ys), members(Xs, Ys)). 27.88/8.09 members([], Ys). 27.88/8.09 member(X, .(X, X1)). 27.88/8.09 member(X, .(X2, T)) :- member(X, T). 27.88/8.09 test_color(Name, Pairs) :- ','(colors(Name, Colors), ','(color_map(Map, Colors), ','(map(Name, Symbols, Map), symbols(Symbols, Map, Pairs)))). 27.88/8.09 symbols([], [], []). 27.88/8.09 symbols(.(S, Ss), .(region(C, N), Rs), .(pair(S, C), Ps)) :- symbols(Ss, Rs, Ps). 27.88/8.09 map(test, .(a, .(b, .(c, .(d, .(e, .(f, [])))))), .(region(A, .(B, .(C, .(D, [])))), .(region(B, .(A, .(C, .(E, [])))), .(region(C, .(A, .(B, .(D, .(E, .(F, [])))))), .(region(D, .(A, .(C, .(F, [])))), .(region(E, .(B, .(C, .(F, [])))), .(region(F, .(C, .(D, .(E, [])))), []))))))). 27.88/8.09 map(west_europe, .(portugal, .(spain, .(france, .(belgium, .(holland, .(west_germany, .(luxembourg, .(italy, .(switzerland, .(austria, [])))))))))), .(region(P, .(E, [])), .(region(E, .(F, .(P, []))), .(region(F, .(E, .(I, .(S, .(B, .(WG, .(L, []))))))), .(region(B, .(F, .(H, .(L, .(WG, []))))), .(region(H, .(B, .(WG, []))), .(region(WG, .(F, .(A, .(S, .(H, .(B, .(L, []))))))), .(region(L, .(F, .(B, .(WG, [])))), .(region(I, .(F, .(A, .(S, [])))), .(region(S, .(F, .(I, .(A, .(WG, []))))), .(region(A, .(I, .(S, .(WG, [])))), []))))))))))). 27.88/8.09 colors(X, .(red, .(yellow, .(blue, .(white, []))))). 27.88/8.09 27.88/8.09 27.88/8.09 Query: color_map(a,g) 27.88/8.09 ---------------------------------------- 27.88/8.09 27.88/8.09 (1) PrologToPiTRSProof (SOUND) 27.88/8.09 We use the technique of [TOCL09]. With regard to the inferred argument filtering the predicates were used in the following modes: 27.88/8.09 27.88/8.09 color_map_in_2: (f,b) 27.88/8.09 27.88/8.09 color_region_in_2: (f,b) 27.88/8.09 27.88/8.09 select_in_3: (f,b,f) 27.88/8.09 27.88/8.09 members_in_2: (f,b) 27.88/8.09 27.88/8.09 member_in_2: (f,b) 27.88/8.09 27.88/8.09 Transforming Prolog into the following Term Rewriting System: 27.88/8.09 27.88/8.09 Pi-finite rewrite system: 27.88/8.09 The TRS R consists of the following rules: 27.88/8.09 27.88/8.09 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 27.88/8.09 color_region_in_ag(region(Color, Neighbors), Colors) -> U3_ag(Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 27.88/8.09 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 27.88/8.09 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 27.88/8.09 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 27.88/8.09 U3_ag(Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 27.88/8.09 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 27.88/8.09 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 27.88/8.09 member_in_ag(X, .(X2, T)) -> U8_ag(X, X2, T, member_in_ag(X, T)) 27.88/8.09 U8_ag(X, X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 27.88/8.09 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 27.88/8.09 members_in_ag([], Ys) -> members_out_ag([], Ys) 27.88/8.09 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 27.88/8.09 U4_ag(Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Color, Neighbors), Colors) 27.88/8.09 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 27.88/8.09 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 27.88/8.09 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 27.88/8.09 27.88/8.09 The argument filtering Pi contains the following mapping: 27.88/8.09 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 27.88/8.09 27.88/8.09 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 27.88/8.09 27.88/8.09 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 27.88/8.09 27.88/8.09 U3_ag(x1, x2, x3, x4) = U3_ag(x4) 27.88/8.09 27.88/8.09 select_in_aga(x1, x2, x3) = select_in_aga(x2) 27.88/8.09 27.88/8.09 .(x1, x2) = .(x1, x2) 27.88/8.09 27.88/8.09 select_out_aga(x1, x2, x3) = select_out_aga(x1, x3) 27.88/8.09 27.88/8.09 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x5) 27.88/8.09 27.88/8.09 U4_ag(x1, x2, x3, x4) = U4_ag(x1, x4) 27.88/8.09 27.88/8.09 members_in_ag(x1, x2) = members_in_ag(x2) 27.88/8.09 27.88/8.09 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 27.88/8.09 27.88/8.09 member_in_ag(x1, x2) = member_in_ag(x2) 27.88/8.09 27.88/8.09 member_out_ag(x1, x2) = member_out_ag(x1) 27.88/8.09 27.88/8.09 U8_ag(x1, x2, x3, x4) = U8_ag(x4) 27.88/8.09 27.88/8.09 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x4) 27.88/8.09 27.88/8.09 members_out_ag(x1, x2) = members_out_ag(x1) 27.88/8.09 27.88/8.09 color_region_out_ag(x1, x2) = color_region_out_ag(x1) 27.88/8.09 27.88/8.09 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x4) 27.88/8.09 27.88/8.09 color_map_out_ag(x1, x2) = color_map_out_ag(x1) 27.88/8.09 27.88/8.09 region(x1, x2) = region(x1, x2) 27.88/8.09 27.88/8.09 27.88/8.09 27.88/8.09 27.88/8.09 27.88/8.09 Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog 27.88/8.09 27.88/8.09 27.88/8.09 27.88/8.09 ---------------------------------------- 27.88/8.09 27.88/8.09 (2) 27.88/8.09 Obligation: 27.88/8.09 Pi-finite rewrite system: 27.88/8.09 The TRS R consists of the following rules: 27.88/8.09 27.88/8.09 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 27.88/8.09 color_region_in_ag(region(Color, Neighbors), Colors) -> U3_ag(Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 27.88/8.09 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 27.88/8.09 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 27.88/8.09 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 27.88/8.09 U3_ag(Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 27.88/8.09 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 27.88/8.09 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 27.88/8.09 member_in_ag(X, .(X2, T)) -> U8_ag(X, X2, T, member_in_ag(X, T)) 27.88/8.09 U8_ag(X, X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 27.88/8.09 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 27.88/8.09 members_in_ag([], Ys) -> members_out_ag([], Ys) 27.88/8.09 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 27.88/8.09 U4_ag(Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Color, Neighbors), Colors) 27.88/8.09 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 27.88/8.09 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 27.88/8.09 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 27.88/8.09 27.88/8.09 The argument filtering Pi contains the following mapping: 27.88/8.09 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 27.88/8.09 27.88/8.09 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 27.88/8.09 27.88/8.09 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 27.88/8.09 27.88/8.09 U3_ag(x1, x2, x3, x4) = U3_ag(x4) 27.88/8.09 27.88/8.09 select_in_aga(x1, x2, x3) = select_in_aga(x2) 27.88/8.09 27.88/8.09 .(x1, x2) = .(x1, x2) 27.88/8.09 27.88/8.09 select_out_aga(x1, x2, x3) = select_out_aga(x1, x3) 27.88/8.09 27.88/8.09 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x5) 27.88/8.09 27.88/8.09 U4_ag(x1, x2, x3, x4) = U4_ag(x1, x4) 27.88/8.09 27.88/8.09 members_in_ag(x1, x2) = members_in_ag(x2) 27.88/8.09 27.88/8.09 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 27.88/8.09 27.88/8.09 member_in_ag(x1, x2) = member_in_ag(x2) 27.88/8.09 27.88/8.09 member_out_ag(x1, x2) = member_out_ag(x1) 27.88/8.09 27.88/8.09 U8_ag(x1, x2, x3, x4) = U8_ag(x4) 27.88/8.09 27.88/8.09 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x4) 27.88/8.09 27.88/8.09 members_out_ag(x1, x2) = members_out_ag(x1) 27.88/8.09 27.88/8.09 color_region_out_ag(x1, x2) = color_region_out_ag(x1) 27.88/8.09 27.88/8.09 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x4) 27.88/8.09 27.88/8.09 color_map_out_ag(x1, x2) = color_map_out_ag(x1) 27.88/8.09 27.88/8.09 region(x1, x2) = region(x1, x2) 27.88/8.09 27.88/8.09 27.88/8.09 27.88/8.09 ---------------------------------------- 27.88/8.09 27.88/8.09 (3) DependencyPairsProof (EQUIVALENT) 27.88/8.09 Using Dependency Pairs [AG00,LOPSTR] we result in the following initial DP problem: 27.88/8.09 Pi DP problem: 27.88/8.09 The TRS P consists of the following rules: 27.88/8.09 27.88/8.09 COLOR_MAP_IN_AG(.(Region, Regions), Colors) -> U1_AG(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 27.88/8.09 COLOR_MAP_IN_AG(.(Region, Regions), Colors) -> COLOR_REGION_IN_AG(Region, Colors) 27.88/8.09 COLOR_REGION_IN_AG(region(Color, Neighbors), Colors) -> U3_AG(Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 27.88/8.09 COLOR_REGION_IN_AG(region(Color, Neighbors), Colors) -> SELECT_IN_AGA(Color, Colors, Colors1) 27.88/8.09 SELECT_IN_AGA(X, .(Y, Ys), .(Y, Zs)) -> U5_AGA(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 27.88/8.09 SELECT_IN_AGA(X, .(Y, Ys), .(Y, Zs)) -> SELECT_IN_AGA(X, Ys, Zs) 27.88/8.09 U3_AG(Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_AG(Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 27.88/8.09 U3_AG(Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> MEMBERS_IN_AG(Neighbors, Colors1) 27.88/8.09 MEMBERS_IN_AG(.(X, Xs), Ys) -> U6_AG(X, Xs, Ys, member_in_ag(X, Ys)) 27.88/8.09 MEMBERS_IN_AG(.(X, Xs), Ys) -> MEMBER_IN_AG(X, Ys) 27.88/8.09 MEMBER_IN_AG(X, .(X2, T)) -> U8_AG(X, X2, T, member_in_ag(X, T)) 27.88/8.09 MEMBER_IN_AG(X, .(X2, T)) -> MEMBER_IN_AG(X, T) 27.88/8.09 U6_AG(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_AG(X, Xs, Ys, members_in_ag(Xs, Ys)) 27.88/8.09 U6_AG(X, Xs, Ys, member_out_ag(X, Ys)) -> MEMBERS_IN_AG(Xs, Ys) 27.88/8.09 U1_AG(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_AG(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 27.88/8.09 U1_AG(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> COLOR_MAP_IN_AG(Regions, Colors) 27.88/8.09 27.88/8.09 The TRS R consists of the following rules: 27.88/8.09 27.88/8.09 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 27.88/8.09 color_region_in_ag(region(Color, Neighbors), Colors) -> U3_ag(Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 27.88/8.09 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 27.88/8.09 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 27.88/8.09 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 27.88/8.09 U3_ag(Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 27.88/8.09 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 27.88/8.09 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 27.88/8.09 member_in_ag(X, .(X2, T)) -> U8_ag(X, X2, T, member_in_ag(X, T)) 27.88/8.09 U8_ag(X, X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 27.88/8.09 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 27.88/8.09 members_in_ag([], Ys) -> members_out_ag([], Ys) 27.88/8.09 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 27.88/8.09 U4_ag(Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Color, Neighbors), Colors) 27.88/8.09 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 27.88/8.09 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 27.88/8.09 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 27.88/8.09 27.88/8.09 The argument filtering Pi contains the following mapping: 27.88/8.09 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 27.88/8.09 27.88/8.09 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 27.88/8.09 27.88/8.09 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 27.88/8.09 27.88/8.09 U3_ag(x1, x2, x3, x4) = U3_ag(x4) 27.88/8.09 27.88/8.09 select_in_aga(x1, x2, x3) = select_in_aga(x2) 27.88/8.09 27.88/8.09 .(x1, x2) = .(x1, x2) 27.88/8.09 27.88/8.09 select_out_aga(x1, x2, x3) = select_out_aga(x1, x3) 27.88/8.09 27.88/8.09 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x5) 27.88/8.09 27.88/8.09 U4_ag(x1, x2, x3, x4) = U4_ag(x1, x4) 27.88/8.09 27.88/8.09 members_in_ag(x1, x2) = members_in_ag(x2) 27.88/8.09 27.88/8.09 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 27.88/8.09 27.88/8.09 member_in_ag(x1, x2) = member_in_ag(x2) 27.88/8.09 27.88/8.09 member_out_ag(x1, x2) = member_out_ag(x1) 27.88/8.09 27.88/8.09 U8_ag(x1, x2, x3, x4) = U8_ag(x4) 27.88/8.09 27.88/8.09 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x4) 27.88/8.09 27.88/8.09 members_out_ag(x1, x2) = members_out_ag(x1) 27.88/8.09 27.88/8.09 color_region_out_ag(x1, x2) = color_region_out_ag(x1) 27.88/8.09 27.88/8.09 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x4) 27.88/8.09 27.88/8.09 color_map_out_ag(x1, x2) = color_map_out_ag(x1) 27.88/8.09 27.88/8.09 region(x1, x2) = region(x1, x2) 27.88/8.09 27.88/8.09 COLOR_MAP_IN_AG(x1, x2) = COLOR_MAP_IN_AG(x2) 27.88/8.09 27.88/8.09 U1_AG(x1, x2, x3, x4) = U1_AG(x3, x4) 27.88/8.09 27.88/8.09 COLOR_REGION_IN_AG(x1, x2) = COLOR_REGION_IN_AG(x2) 27.88/8.09 27.88/8.09 U3_AG(x1, x2, x3, x4) = U3_AG(x4) 27.88/8.09 27.88/8.09 SELECT_IN_AGA(x1, x2, x3) = SELECT_IN_AGA(x2) 27.88/8.09 27.88/8.09 U5_AGA(x1, x2, x3, x4, x5) = U5_AGA(x2, x5) 27.88/8.09 27.88/8.09 U4_AG(x1, x2, x3, x4) = U4_AG(x1, x4) 27.88/8.09 27.88/8.09 MEMBERS_IN_AG(x1, x2) = MEMBERS_IN_AG(x2) 27.88/8.09 27.88/8.09 U6_AG(x1, x2, x3, x4) = U6_AG(x3, x4) 27.88/8.09 27.88/8.09 MEMBER_IN_AG(x1, x2) = MEMBER_IN_AG(x2) 27.88/8.09 27.88/8.09 U8_AG(x1, x2, x3, x4) = U8_AG(x4) 27.88/8.09 27.88/8.09 U7_AG(x1, x2, x3, x4) = U7_AG(x1, x4) 27.88/8.09 27.88/8.09 U2_AG(x1, x2, x3, x4) = U2_AG(x1, x4) 27.88/8.09 27.88/8.09 27.88/8.09 We have to consider all (P,R,Pi)-chains 27.88/8.09 ---------------------------------------- 27.88/8.09 27.88/8.09 (4) 27.88/8.09 Obligation: 27.88/8.09 Pi DP problem: 27.88/8.09 The TRS P consists of the following rules: 27.88/8.09 27.88/8.09 COLOR_MAP_IN_AG(.(Region, Regions), Colors) -> U1_AG(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 27.88/8.09 COLOR_MAP_IN_AG(.(Region, Regions), Colors) -> COLOR_REGION_IN_AG(Region, Colors) 27.88/8.09 COLOR_REGION_IN_AG(region(Color, Neighbors), Colors) -> U3_AG(Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 27.88/8.09 COLOR_REGION_IN_AG(region(Color, Neighbors), Colors) -> SELECT_IN_AGA(Color, Colors, Colors1) 27.88/8.09 SELECT_IN_AGA(X, .(Y, Ys), .(Y, Zs)) -> U5_AGA(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 27.88/8.09 SELECT_IN_AGA(X, .(Y, Ys), .(Y, Zs)) -> SELECT_IN_AGA(X, Ys, Zs) 27.88/8.09 U3_AG(Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_AG(Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 27.88/8.09 U3_AG(Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> MEMBERS_IN_AG(Neighbors, Colors1) 27.88/8.09 MEMBERS_IN_AG(.(X, Xs), Ys) -> U6_AG(X, Xs, Ys, member_in_ag(X, Ys)) 27.88/8.09 MEMBERS_IN_AG(.(X, Xs), Ys) -> MEMBER_IN_AG(X, Ys) 27.88/8.09 MEMBER_IN_AG(X, .(X2, T)) -> U8_AG(X, X2, T, member_in_ag(X, T)) 27.88/8.09 MEMBER_IN_AG(X, .(X2, T)) -> MEMBER_IN_AG(X, T) 27.88/8.09 U6_AG(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_AG(X, Xs, Ys, members_in_ag(Xs, Ys)) 27.88/8.09 U6_AG(X, Xs, Ys, member_out_ag(X, Ys)) -> MEMBERS_IN_AG(Xs, Ys) 27.88/8.09 U1_AG(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_AG(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 27.88/8.09 U1_AG(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> COLOR_MAP_IN_AG(Regions, Colors) 27.88/8.09 27.88/8.09 The TRS R consists of the following rules: 27.88/8.09 27.88/8.09 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 27.88/8.09 color_region_in_ag(region(Color, Neighbors), Colors) -> U3_ag(Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 27.88/8.09 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 27.88/8.09 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 27.88/8.09 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 27.88/8.09 U3_ag(Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 27.88/8.09 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 27.88/8.09 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 27.88/8.09 member_in_ag(X, .(X2, T)) -> U8_ag(X, X2, T, member_in_ag(X, T)) 27.88/8.09 U8_ag(X, X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 27.88/8.09 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 27.88/8.09 members_in_ag([], Ys) -> members_out_ag([], Ys) 27.88/8.09 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 27.88/8.09 U4_ag(Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Color, Neighbors), Colors) 27.88/8.09 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 27.88/8.10 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 27.88/8.10 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 27.88/8.10 27.88/8.10 The argument filtering Pi contains the following mapping: 27.88/8.10 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 27.88/8.10 27.88/8.10 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 27.88/8.10 27.88/8.10 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 27.88/8.10 27.88/8.10 U3_ag(x1, x2, x3, x4) = U3_ag(x4) 27.88/8.10 27.88/8.10 select_in_aga(x1, x2, x3) = select_in_aga(x2) 27.88/8.10 27.88/8.10 .(x1, x2) = .(x1, x2) 27.88/8.10 27.88/8.10 select_out_aga(x1, x2, x3) = select_out_aga(x1, x3) 27.88/8.10 27.88/8.10 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x5) 27.88/8.10 27.88/8.10 U4_ag(x1, x2, x3, x4) = U4_ag(x1, x4) 27.88/8.10 27.88/8.10 members_in_ag(x1, x2) = members_in_ag(x2) 27.88/8.10 27.88/8.10 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 27.88/8.10 27.88/8.10 member_in_ag(x1, x2) = member_in_ag(x2) 27.88/8.10 27.88/8.10 member_out_ag(x1, x2) = member_out_ag(x1) 27.88/8.10 27.88/8.10 U8_ag(x1, x2, x3, x4) = U8_ag(x4) 27.88/8.10 27.88/8.10 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x4) 27.88/8.10 27.88/8.10 members_out_ag(x1, x2) = members_out_ag(x1) 27.88/8.10 27.88/8.10 color_region_out_ag(x1, x2) = color_region_out_ag(x1) 27.88/8.10 27.88/8.10 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x4) 27.88/8.10 27.88/8.10 color_map_out_ag(x1, x2) = color_map_out_ag(x1) 27.88/8.10 27.88/8.10 region(x1, x2) = region(x1, x2) 27.88/8.10 27.88/8.10 COLOR_MAP_IN_AG(x1, x2) = COLOR_MAP_IN_AG(x2) 27.88/8.10 27.88/8.10 U1_AG(x1, x2, x3, x4) = U1_AG(x3, x4) 27.88/8.10 27.88/8.10 COLOR_REGION_IN_AG(x1, x2) = COLOR_REGION_IN_AG(x2) 27.88/8.10 27.88/8.10 U3_AG(x1, x2, x3, x4) = U3_AG(x4) 27.88/8.10 27.88/8.10 SELECT_IN_AGA(x1, x2, x3) = SELECT_IN_AGA(x2) 27.88/8.10 27.88/8.10 U5_AGA(x1, x2, x3, x4, x5) = U5_AGA(x2, x5) 27.88/8.10 27.88/8.10 U4_AG(x1, x2, x3, x4) = U4_AG(x1, x4) 27.88/8.10 27.88/8.10 MEMBERS_IN_AG(x1, x2) = MEMBERS_IN_AG(x2) 27.88/8.10 27.88/8.10 U6_AG(x1, x2, x3, x4) = U6_AG(x3, x4) 27.88/8.10 27.88/8.10 MEMBER_IN_AG(x1, x2) = MEMBER_IN_AG(x2) 27.88/8.10 27.88/8.10 U8_AG(x1, x2, x3, x4) = U8_AG(x4) 27.88/8.10 27.88/8.10 U7_AG(x1, x2, x3, x4) = U7_AG(x1, x4) 27.88/8.10 27.88/8.10 U2_AG(x1, x2, x3, x4) = U2_AG(x1, x4) 27.88/8.10 27.88/8.10 27.88/8.10 We have to consider all (P,R,Pi)-chains 27.88/8.10 ---------------------------------------- 27.88/8.10 27.88/8.10 (5) DependencyGraphProof (EQUIVALENT) 27.88/8.10 The approximation of the Dependency Graph [LOPSTR] contains 4 SCCs with 10 less nodes. 27.88/8.10 ---------------------------------------- 27.88/8.10 27.88/8.10 (6) 27.88/8.10 Complex Obligation (AND) 27.88/8.10 27.88/8.10 ---------------------------------------- 27.88/8.10 27.88/8.10 (7) 27.88/8.10 Obligation: 27.88/8.10 Pi DP problem: 27.88/8.10 The TRS P consists of the following rules: 27.88/8.10 27.88/8.10 MEMBER_IN_AG(X, .(X2, T)) -> MEMBER_IN_AG(X, T) 27.88/8.10 27.88/8.10 The TRS R consists of the following rules: 27.88/8.10 27.88/8.10 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 27.88/8.10 color_region_in_ag(region(Color, Neighbors), Colors) -> U3_ag(Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 27.88/8.10 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 27.88/8.10 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 27.88/8.10 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 27.88/8.10 U3_ag(Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 27.88/8.10 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 27.88/8.10 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 27.88/8.10 member_in_ag(X, .(X2, T)) -> U8_ag(X, X2, T, member_in_ag(X, T)) 27.88/8.10 U8_ag(X, X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 27.88/8.10 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 27.88/8.10 members_in_ag([], Ys) -> members_out_ag([], Ys) 27.88/8.10 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 27.88/8.10 U4_ag(Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Color, Neighbors), Colors) 27.88/8.10 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 27.88/8.10 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 27.88/8.10 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 27.88/8.10 27.88/8.10 The argument filtering Pi contains the following mapping: 27.88/8.10 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 27.88/8.10 27.88/8.10 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 27.88/8.10 27.88/8.10 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 27.88/8.10 27.88/8.10 U3_ag(x1, x2, x3, x4) = U3_ag(x4) 27.88/8.10 27.88/8.10 select_in_aga(x1, x2, x3) = select_in_aga(x2) 27.88/8.10 27.88/8.10 .(x1, x2) = .(x1, x2) 27.88/8.10 27.88/8.10 select_out_aga(x1, x2, x3) = select_out_aga(x1, x3) 27.88/8.10 27.88/8.10 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x5) 27.88/8.10 27.88/8.10 U4_ag(x1, x2, x3, x4) = U4_ag(x1, x4) 27.88/8.10 27.88/8.10 members_in_ag(x1, x2) = members_in_ag(x2) 27.88/8.10 27.88/8.10 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 27.88/8.10 27.88/8.10 member_in_ag(x1, x2) = member_in_ag(x2) 27.88/8.10 27.88/8.10 member_out_ag(x1, x2) = member_out_ag(x1) 27.88/8.10 27.88/8.10 U8_ag(x1, x2, x3, x4) = U8_ag(x4) 27.88/8.10 27.88/8.10 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x4) 27.88/8.10 27.88/8.10 members_out_ag(x1, x2) = members_out_ag(x1) 27.88/8.10 27.88/8.10 color_region_out_ag(x1, x2) = color_region_out_ag(x1) 27.88/8.10 27.88/8.10 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x4) 27.88/8.10 27.88/8.10 color_map_out_ag(x1, x2) = color_map_out_ag(x1) 27.88/8.10 27.88/8.10 region(x1, x2) = region(x1, x2) 27.88/8.10 27.88/8.10 MEMBER_IN_AG(x1, x2) = MEMBER_IN_AG(x2) 27.88/8.10 27.88/8.10 27.88/8.10 We have to consider all (P,R,Pi)-chains 27.88/8.10 ---------------------------------------- 27.88/8.10 27.88/8.10 (8) UsableRulesProof (EQUIVALENT) 27.88/8.10 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 27.88/8.10 ---------------------------------------- 27.88/8.10 27.88/8.10 (9) 27.88/8.10 Obligation: 27.88/8.10 Pi DP problem: 27.88/8.10 The TRS P consists of the following rules: 27.88/8.10 27.88/8.10 MEMBER_IN_AG(X, .(X2, T)) -> MEMBER_IN_AG(X, T) 27.88/8.10 27.88/8.10 R is empty. 27.88/8.10 The argument filtering Pi contains the following mapping: 27.88/8.10 .(x1, x2) = .(x1, x2) 27.88/8.10 27.88/8.10 MEMBER_IN_AG(x1, x2) = MEMBER_IN_AG(x2) 27.88/8.10 27.88/8.10 27.88/8.10 We have to consider all (P,R,Pi)-chains 27.88/8.10 ---------------------------------------- 27.88/8.10 27.88/8.10 (10) PiDPToQDPProof (SOUND) 27.88/8.10 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 27.88/8.10 ---------------------------------------- 27.88/8.10 27.88/8.10 (11) 27.88/8.10 Obligation: 27.88/8.10 Q DP problem: 27.88/8.10 The TRS P consists of the following rules: 27.88/8.10 27.88/8.10 MEMBER_IN_AG(.(X2, T)) -> MEMBER_IN_AG(T) 27.88/8.10 27.88/8.10 R is empty. 27.88/8.10 Q is empty. 27.88/8.10 We have to consider all (P,Q,R)-chains. 27.88/8.10 ---------------------------------------- 27.88/8.10 27.88/8.10 (12) QDPSizeChangeProof (EQUIVALENT) 27.88/8.10 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. 27.88/8.10 27.88/8.10 From the DPs we obtained the following set of size-change graphs: 27.88/8.10 *MEMBER_IN_AG(.(X2, T)) -> MEMBER_IN_AG(T) 27.88/8.10 The graph contains the following edges 1 > 1 27.88/8.10 27.88/8.10 27.88/8.10 ---------------------------------------- 27.88/8.10 27.88/8.10 (13) 27.88/8.10 YES 27.88/8.10 27.88/8.10 ---------------------------------------- 27.88/8.10 27.88/8.10 (14) 27.88/8.10 Obligation: 27.88/8.10 Pi DP problem: 27.88/8.10 The TRS P consists of the following rules: 27.88/8.10 27.88/8.10 U6_AG(X, Xs, Ys, member_out_ag(X, Ys)) -> MEMBERS_IN_AG(Xs, Ys) 27.88/8.10 MEMBERS_IN_AG(.(X, Xs), Ys) -> U6_AG(X, Xs, Ys, member_in_ag(X, Ys)) 27.88/8.10 27.88/8.10 The TRS R consists of the following rules: 27.88/8.10 27.88/8.10 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 27.88/8.10 color_region_in_ag(region(Color, Neighbors), Colors) -> U3_ag(Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 27.88/8.10 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 27.88/8.10 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 27.88/8.10 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 27.88/8.10 U3_ag(Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 27.88/8.10 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 27.88/8.10 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 27.88/8.10 member_in_ag(X, .(X2, T)) -> U8_ag(X, X2, T, member_in_ag(X, T)) 27.88/8.10 U8_ag(X, X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 27.88/8.10 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 27.88/8.10 members_in_ag([], Ys) -> members_out_ag([], Ys) 27.88/8.10 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 27.88/8.10 U4_ag(Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Color, Neighbors), Colors) 27.88/8.10 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 27.88/8.10 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 27.88/8.10 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 27.88/8.10 27.88/8.10 The argument filtering Pi contains the following mapping: 27.88/8.10 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 27.88/8.10 27.88/8.10 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 27.88/8.10 27.88/8.10 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 27.88/8.10 27.88/8.10 U3_ag(x1, x2, x3, x4) = U3_ag(x4) 27.88/8.10 27.88/8.10 select_in_aga(x1, x2, x3) = select_in_aga(x2) 27.88/8.10 27.88/8.10 .(x1, x2) = .(x1, x2) 27.88/8.10 27.88/8.10 select_out_aga(x1, x2, x3) = select_out_aga(x1, x3) 27.88/8.10 27.88/8.10 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x5) 27.88/8.10 27.88/8.10 U4_ag(x1, x2, x3, x4) = U4_ag(x1, x4) 27.88/8.10 27.88/8.10 members_in_ag(x1, x2) = members_in_ag(x2) 27.88/8.10 27.88/8.10 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 27.88/8.10 27.88/8.10 member_in_ag(x1, x2) = member_in_ag(x2) 27.88/8.10 27.88/8.10 member_out_ag(x1, x2) = member_out_ag(x1) 27.88/8.10 27.88/8.10 U8_ag(x1, x2, x3, x4) = U8_ag(x4) 27.88/8.10 27.88/8.10 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x4) 27.88/8.10 27.88/8.10 members_out_ag(x1, x2) = members_out_ag(x1) 27.88/8.10 27.88/8.10 color_region_out_ag(x1, x2) = color_region_out_ag(x1) 27.88/8.10 27.88/8.10 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x4) 27.88/8.10 27.88/8.10 color_map_out_ag(x1, x2) = color_map_out_ag(x1) 27.88/8.10 27.88/8.10 region(x1, x2) = region(x1, x2) 27.88/8.10 27.88/8.10 MEMBERS_IN_AG(x1, x2) = MEMBERS_IN_AG(x2) 27.88/8.10 27.88/8.10 U6_AG(x1, x2, x3, x4) = U6_AG(x3, x4) 27.88/8.10 27.88/8.10 27.88/8.10 We have to consider all (P,R,Pi)-chains 27.88/8.10 ---------------------------------------- 27.88/8.10 27.88/8.10 (15) UsableRulesProof (EQUIVALENT) 27.88/8.10 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 27.88/8.10 ---------------------------------------- 27.88/8.10 27.88/8.10 (16) 27.88/8.10 Obligation: 27.88/8.10 Pi DP problem: 27.88/8.10 The TRS P consists of the following rules: 27.88/8.10 27.88/8.10 U6_AG(X, Xs, Ys, member_out_ag(X, Ys)) -> MEMBERS_IN_AG(Xs, Ys) 27.88/8.10 MEMBERS_IN_AG(.(X, Xs), Ys) -> U6_AG(X, Xs, Ys, member_in_ag(X, Ys)) 27.88/8.10 27.88/8.10 The TRS R consists of the following rules: 27.88/8.10 27.88/8.10 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 27.88/8.10 member_in_ag(X, .(X2, T)) -> U8_ag(X, X2, T, member_in_ag(X, T)) 27.88/8.10 U8_ag(X, X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 27.88/8.10 27.88/8.10 The argument filtering Pi contains the following mapping: 27.88/8.10 .(x1, x2) = .(x1, x2) 27.88/8.10 27.88/8.10 member_in_ag(x1, x2) = member_in_ag(x2) 27.88/8.10 27.88/8.10 member_out_ag(x1, x2) = member_out_ag(x1) 27.88/8.10 27.88/8.10 U8_ag(x1, x2, x3, x4) = U8_ag(x4) 27.88/8.10 27.88/8.10 MEMBERS_IN_AG(x1, x2) = MEMBERS_IN_AG(x2) 27.88/8.10 27.88/8.10 U6_AG(x1, x2, x3, x4) = U6_AG(x3, x4) 27.88/8.10 27.88/8.10 27.88/8.10 We have to consider all (P,R,Pi)-chains 27.88/8.10 ---------------------------------------- 27.88/8.10 27.88/8.10 (17) PiDPToQDPProof (SOUND) 27.88/8.10 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 27.88/8.10 ---------------------------------------- 27.88/8.10 27.88/8.10 (18) 27.88/8.10 Obligation: 27.88/8.10 Q DP problem: 27.88/8.10 The TRS P consists of the following rules: 27.88/8.10 27.88/8.10 U6_AG(Ys, member_out_ag(X)) -> MEMBERS_IN_AG(Ys) 27.88/8.10 MEMBERS_IN_AG(Ys) -> U6_AG(Ys, member_in_ag(Ys)) 27.88/8.10 27.88/8.10 The TRS R consists of the following rules: 27.88/8.10 27.88/8.10 member_in_ag(.(X, X1)) -> member_out_ag(X) 27.88/8.10 member_in_ag(.(X2, T)) -> U8_ag(member_in_ag(T)) 27.88/8.10 U8_ag(member_out_ag(X)) -> member_out_ag(X) 27.88/8.10 27.88/8.10 The set Q consists of the following terms: 27.88/8.10 27.88/8.10 member_in_ag(x0) 27.88/8.10 U8_ag(x0) 27.88/8.10 27.88/8.10 We have to consider all (P,Q,R)-chains. 27.88/8.10 ---------------------------------------- 27.88/8.10 27.88/8.10 (19) TransformationProof (SOUND) 27.88/8.10 By narrowing [LPAR04] the rule MEMBERS_IN_AG(Ys) -> U6_AG(Ys, member_in_ag(Ys)) at position [1] we obtained the following new rules [LPAR04]: 27.88/8.10 27.88/8.10 (MEMBERS_IN_AG(.(x0, x1)) -> U6_AG(.(x0, x1), member_out_ag(x0)),MEMBERS_IN_AG(.(x0, x1)) -> U6_AG(.(x0, x1), member_out_ag(x0))) 27.88/8.10 (MEMBERS_IN_AG(.(x0, x1)) -> U6_AG(.(x0, x1), U8_ag(member_in_ag(x1))),MEMBERS_IN_AG(.(x0, x1)) -> U6_AG(.(x0, x1), U8_ag(member_in_ag(x1)))) 27.88/8.10 27.88/8.10 27.88/8.10 ---------------------------------------- 27.88/8.10 27.88/8.10 (20) 27.88/8.10 Obligation: 27.88/8.10 Q DP problem: 27.88/8.10 The TRS P consists of the following rules: 27.88/8.10 27.88/8.10 U6_AG(Ys, member_out_ag(X)) -> MEMBERS_IN_AG(Ys) 27.88/8.10 MEMBERS_IN_AG(.(x0, x1)) -> U6_AG(.(x0, x1), member_out_ag(x0)) 27.88/8.10 MEMBERS_IN_AG(.(x0, x1)) -> U6_AG(.(x0, x1), U8_ag(member_in_ag(x1))) 27.88/8.10 27.88/8.10 The TRS R consists of the following rules: 27.88/8.10 27.88/8.10 member_in_ag(.(X, X1)) -> member_out_ag(X) 27.88/8.10 member_in_ag(.(X2, T)) -> U8_ag(member_in_ag(T)) 27.88/8.10 U8_ag(member_out_ag(X)) -> member_out_ag(X) 27.88/8.10 27.88/8.10 The set Q consists of the following terms: 27.88/8.10 27.88/8.10 member_in_ag(x0) 27.88/8.10 U8_ag(x0) 27.88/8.10 27.88/8.10 We have to consider all (P,Q,R)-chains. 27.88/8.10 ---------------------------------------- 27.88/8.10 27.88/8.10 (21) TransformationProof (EQUIVALENT) 27.88/8.10 By instantiating [LPAR04] the rule U6_AG(Ys, member_out_ag(X)) -> MEMBERS_IN_AG(Ys) we obtained the following new rules [LPAR04]: 27.88/8.10 27.88/8.10 (U6_AG(.(z0, z1), member_out_ag(z0)) -> MEMBERS_IN_AG(.(z0, z1)),U6_AG(.(z0, z1), member_out_ag(z0)) -> MEMBERS_IN_AG(.(z0, z1))) 27.88/8.10 (U6_AG(.(z0, z1), member_out_ag(x1)) -> MEMBERS_IN_AG(.(z0, z1)),U6_AG(.(z0, z1), member_out_ag(x1)) -> MEMBERS_IN_AG(.(z0, z1))) 27.88/8.10 27.88/8.10 27.88/8.10 ---------------------------------------- 27.88/8.10 27.88/8.10 (22) 27.88/8.10 Obligation: 27.88/8.10 Q DP problem: 27.88/8.10 The TRS P consists of the following rules: 27.88/8.10 27.88/8.10 MEMBERS_IN_AG(.(x0, x1)) -> U6_AG(.(x0, x1), member_out_ag(x0)) 27.88/8.10 MEMBERS_IN_AG(.(x0, x1)) -> U6_AG(.(x0, x1), U8_ag(member_in_ag(x1))) 27.88/8.10 U6_AG(.(z0, z1), member_out_ag(z0)) -> MEMBERS_IN_AG(.(z0, z1)) 27.88/8.10 U6_AG(.(z0, z1), member_out_ag(x1)) -> MEMBERS_IN_AG(.(z0, z1)) 27.88/8.10 27.88/8.10 The TRS R consists of the following rules: 27.88/8.10 27.88/8.10 member_in_ag(.(X, X1)) -> member_out_ag(X) 27.88/8.10 member_in_ag(.(X2, T)) -> U8_ag(member_in_ag(T)) 27.88/8.10 U8_ag(member_out_ag(X)) -> member_out_ag(X) 27.88/8.10 27.88/8.10 The set Q consists of the following terms: 27.88/8.10 27.88/8.10 member_in_ag(x0) 27.88/8.10 U8_ag(x0) 27.88/8.10 27.88/8.10 We have to consider all (P,Q,R)-chains. 27.88/8.10 ---------------------------------------- 27.88/8.10 27.88/8.10 (23) NonTerminationLoopProof (COMPLETE) 27.88/8.10 We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. 27.88/8.10 Found a loop by narrowing to the left: 27.88/8.10 27.88/8.10 s = U6_AG(.(z0, z1), member_out_ag(z0)) evaluates to t =U6_AG(.(z0, z1), member_out_ag(z0)) 27.88/8.10 27.88/8.10 Thus s starts an infinite chain as s semiunifies with t with the following substitutions: 27.88/8.10 * Matcher: [ ] 27.88/8.10 * Semiunifier: [ ] 27.88/8.10 27.88/8.10 -------------------------------------------------------------------------------- 27.88/8.10 Rewriting sequence 27.88/8.10 27.88/8.10 U6_AG(.(z0, z1), member_out_ag(z0)) -> MEMBERS_IN_AG(.(z0, z1)) 27.88/8.10 with rule U6_AG(.(z0', z1'), member_out_ag(z0')) -> MEMBERS_IN_AG(.(z0', z1')) at position [] and matcher [z0' / z0, z1' / z1] 27.88/8.10 27.88/8.10 MEMBERS_IN_AG(.(z0, z1)) -> U6_AG(.(z0, z1), member_out_ag(z0)) 27.88/8.10 with rule MEMBERS_IN_AG(.(x0, x1)) -> U6_AG(.(x0, x1), member_out_ag(x0)) 27.88/8.10 27.88/8.10 Now applying the matcher to the start term leads to a term which is equal to the last term in the rewriting sequence 27.88/8.10 27.88/8.10 27.88/8.10 All these steps are and every following step will be a correct step w.r.t to Q. 27.88/8.10 27.88/8.10 27.88/8.10 27.88/8.10 27.88/8.10 ---------------------------------------- 27.88/8.10 27.88/8.10 (24) 27.88/8.10 NO 27.88/8.10 27.88/8.10 ---------------------------------------- 27.88/8.10 27.88/8.10 (25) 27.88/8.10 Obligation: 27.88/8.10 Pi DP problem: 27.88/8.10 The TRS P consists of the following rules: 27.88/8.10 27.88/8.10 SELECT_IN_AGA(X, .(Y, Ys), .(Y, Zs)) -> SELECT_IN_AGA(X, Ys, Zs) 27.88/8.10 27.88/8.10 The TRS R consists of the following rules: 27.88/8.10 27.88/8.10 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 27.88/8.10 color_region_in_ag(region(Color, Neighbors), Colors) -> U3_ag(Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 27.88/8.10 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 27.88/8.10 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 27.88/8.10 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 27.88/8.10 U3_ag(Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 27.88/8.10 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 27.88/8.10 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 27.88/8.10 member_in_ag(X, .(X2, T)) -> U8_ag(X, X2, T, member_in_ag(X, T)) 27.88/8.10 U8_ag(X, X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 27.88/8.10 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 27.88/8.10 members_in_ag([], Ys) -> members_out_ag([], Ys) 27.88/8.10 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 27.88/8.10 U4_ag(Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Color, Neighbors), Colors) 27.88/8.10 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 27.88/8.10 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 27.88/8.10 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 27.88/8.10 27.88/8.10 The argument filtering Pi contains the following mapping: 27.88/8.10 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 27.88/8.10 27.88/8.10 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 27.88/8.10 27.88/8.10 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 27.88/8.10 27.88/8.10 U3_ag(x1, x2, x3, x4) = U3_ag(x4) 27.88/8.10 27.88/8.10 select_in_aga(x1, x2, x3) = select_in_aga(x2) 27.88/8.10 27.88/8.10 .(x1, x2) = .(x1, x2) 27.88/8.10 27.88/8.10 select_out_aga(x1, x2, x3) = select_out_aga(x1, x3) 27.88/8.10 27.88/8.10 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x5) 27.88/8.10 27.88/8.10 U4_ag(x1, x2, x3, x4) = U4_ag(x1, x4) 27.88/8.10 27.88/8.10 members_in_ag(x1, x2) = members_in_ag(x2) 27.88/8.10 27.88/8.10 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 27.88/8.10 27.88/8.10 member_in_ag(x1, x2) = member_in_ag(x2) 27.88/8.10 27.88/8.10 member_out_ag(x1, x2) = member_out_ag(x1) 27.88/8.10 27.88/8.10 U8_ag(x1, x2, x3, x4) = U8_ag(x4) 27.88/8.10 27.88/8.10 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x4) 27.88/8.10 27.88/8.10 members_out_ag(x1, x2) = members_out_ag(x1) 27.88/8.10 27.88/8.10 color_region_out_ag(x1, x2) = color_region_out_ag(x1) 27.88/8.10 27.88/8.10 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x4) 27.88/8.10 27.88/8.10 color_map_out_ag(x1, x2) = color_map_out_ag(x1) 27.88/8.10 27.88/8.10 region(x1, x2) = region(x1, x2) 27.88/8.10 27.88/8.10 SELECT_IN_AGA(x1, x2, x3) = SELECT_IN_AGA(x2) 27.88/8.10 27.88/8.10 27.88/8.10 We have to consider all (P,R,Pi)-chains 27.88/8.10 ---------------------------------------- 27.88/8.10 27.88/8.10 (26) UsableRulesProof (EQUIVALENT) 27.88/8.10 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 27.88/8.10 ---------------------------------------- 27.88/8.10 27.88/8.10 (27) 27.88/8.10 Obligation: 27.88/8.10 Pi DP problem: 27.88/8.10 The TRS P consists of the following rules: 27.88/8.10 27.88/8.10 SELECT_IN_AGA(X, .(Y, Ys), .(Y, Zs)) -> SELECT_IN_AGA(X, Ys, Zs) 27.88/8.10 27.88/8.10 R is empty. 27.88/8.10 The argument filtering Pi contains the following mapping: 27.88/8.10 .(x1, x2) = .(x1, x2) 27.88/8.10 27.88/8.10 SELECT_IN_AGA(x1, x2, x3) = SELECT_IN_AGA(x2) 27.88/8.10 27.88/8.10 27.88/8.10 We have to consider all (P,R,Pi)-chains 27.88/8.10 ---------------------------------------- 27.88/8.10 27.88/8.10 (28) PiDPToQDPProof (SOUND) 27.88/8.10 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 27.88/8.10 ---------------------------------------- 27.88/8.10 27.88/8.10 (29) 27.88/8.10 Obligation: 27.88/8.10 Q DP problem: 27.88/8.10 The TRS P consists of the following rules: 27.88/8.10 27.88/8.10 SELECT_IN_AGA(.(Y, Ys)) -> SELECT_IN_AGA(Ys) 27.88/8.10 27.88/8.10 R is empty. 27.88/8.10 Q is empty. 27.88/8.10 We have to consider all (P,Q,R)-chains. 27.88/8.10 ---------------------------------------- 27.88/8.10 27.88/8.10 (30) QDPSizeChangeProof (EQUIVALENT) 27.88/8.10 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. 27.88/8.10 27.88/8.10 From the DPs we obtained the following set of size-change graphs: 27.88/8.10 *SELECT_IN_AGA(.(Y, Ys)) -> SELECT_IN_AGA(Ys) 27.88/8.10 The graph contains the following edges 1 > 1 27.88/8.10 27.88/8.10 27.88/8.10 ---------------------------------------- 27.88/8.10 27.88/8.10 (31) 27.88/8.10 YES 27.88/8.10 27.88/8.10 ---------------------------------------- 27.88/8.10 27.88/8.10 (32) 27.88/8.10 Obligation: 27.88/8.10 Pi DP problem: 27.88/8.10 The TRS P consists of the following rules: 27.88/8.10 27.88/8.10 U1_AG(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> COLOR_MAP_IN_AG(Regions, Colors) 27.88/8.10 COLOR_MAP_IN_AG(.(Region, Regions), Colors) -> U1_AG(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 27.88/8.10 27.88/8.10 The TRS R consists of the following rules: 27.88/8.10 27.88/8.10 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 27.88/8.10 color_region_in_ag(region(Color, Neighbors), Colors) -> U3_ag(Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 27.88/8.10 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 27.88/8.10 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 27.88/8.10 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 27.88/8.10 U3_ag(Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 27.88/8.10 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 27.88/8.10 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 27.88/8.10 member_in_ag(X, .(X2, T)) -> U8_ag(X, X2, T, member_in_ag(X, T)) 27.88/8.10 U8_ag(X, X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 27.88/8.10 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 27.88/8.10 members_in_ag([], Ys) -> members_out_ag([], Ys) 27.88/8.10 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 27.88/8.10 U4_ag(Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Color, Neighbors), Colors) 27.88/8.10 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 27.88/8.10 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 27.88/8.10 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 28.26/8.11 28.26/8.11 The argument filtering Pi contains the following mapping: 28.26/8.11 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 28.26/8.11 28.26/8.11 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 28.26/8.11 28.26/8.11 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 28.26/8.11 28.26/8.11 U3_ag(x1, x2, x3, x4) = U3_ag(x4) 28.26/8.11 28.26/8.11 select_in_aga(x1, x2, x3) = select_in_aga(x2) 28.26/8.11 28.26/8.11 .(x1, x2) = .(x1, x2) 28.26/8.11 28.26/8.11 select_out_aga(x1, x2, x3) = select_out_aga(x1, x3) 28.26/8.11 28.26/8.11 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x5) 28.26/8.11 28.26/8.11 U4_ag(x1, x2, x3, x4) = U4_ag(x1, x4) 28.26/8.11 28.26/8.11 members_in_ag(x1, x2) = members_in_ag(x2) 28.26/8.11 28.26/8.11 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 28.26/8.11 28.26/8.11 member_in_ag(x1, x2) = member_in_ag(x2) 28.26/8.11 28.26/8.11 member_out_ag(x1, x2) = member_out_ag(x1) 28.26/8.11 28.26/8.11 U8_ag(x1, x2, x3, x4) = U8_ag(x4) 28.26/8.11 28.26/8.11 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x4) 28.26/8.11 28.26/8.11 members_out_ag(x1, x2) = members_out_ag(x1) 28.26/8.11 28.26/8.11 color_region_out_ag(x1, x2) = color_region_out_ag(x1) 28.26/8.11 28.26/8.11 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x4) 28.26/8.11 28.26/8.11 color_map_out_ag(x1, x2) = color_map_out_ag(x1) 28.26/8.11 28.26/8.11 region(x1, x2) = region(x1, x2) 28.26/8.11 28.26/8.11 COLOR_MAP_IN_AG(x1, x2) = COLOR_MAP_IN_AG(x2) 28.26/8.11 28.26/8.11 U1_AG(x1, x2, x3, x4) = U1_AG(x3, x4) 28.26/8.11 28.26/8.11 28.26/8.11 We have to consider all (P,R,Pi)-chains 28.26/8.11 ---------------------------------------- 28.26/8.11 28.26/8.11 (33) UsableRulesProof (EQUIVALENT) 28.26/8.11 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 28.26/8.11 ---------------------------------------- 28.26/8.11 28.26/8.11 (34) 28.26/8.11 Obligation: 28.26/8.11 Pi DP problem: 28.26/8.11 The TRS P consists of the following rules: 28.26/8.11 28.26/8.11 U1_AG(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> COLOR_MAP_IN_AG(Regions, Colors) 28.26/8.11 COLOR_MAP_IN_AG(.(Region, Regions), Colors) -> U1_AG(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 28.26/8.11 28.26/8.11 The TRS R consists of the following rules: 28.26/8.11 28.26/8.11 color_region_in_ag(region(Color, Neighbors), Colors) -> U3_ag(Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 28.26/8.11 U3_ag(Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 28.26/8.11 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 28.26/8.11 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 28.26/8.11 U4_ag(Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Color, Neighbors), Colors) 28.26/8.11 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 28.26/8.11 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 28.26/8.11 members_in_ag([], Ys) -> members_out_ag([], Ys) 28.26/8.11 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 28.26/8.11 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 28.26/8.11 member_in_ag(X, .(X2, T)) -> U8_ag(X, X2, T, member_in_ag(X, T)) 28.26/8.11 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 28.26/8.11 U8_ag(X, X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 28.26/8.11 28.26/8.11 The argument filtering Pi contains the following mapping: 28.26/8.11 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 28.26/8.11 28.26/8.11 U3_ag(x1, x2, x3, x4) = U3_ag(x4) 28.26/8.11 28.26/8.11 select_in_aga(x1, x2, x3) = select_in_aga(x2) 28.26/8.11 28.26/8.11 .(x1, x2) = .(x1, x2) 28.26/8.11 28.26/8.11 select_out_aga(x1, x2, x3) = select_out_aga(x1, x3) 28.26/8.11 28.26/8.11 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x5) 28.26/8.11 28.26/8.11 U4_ag(x1, x2, x3, x4) = U4_ag(x1, x4) 28.26/8.11 28.26/8.11 members_in_ag(x1, x2) = members_in_ag(x2) 28.26/8.11 28.26/8.11 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 28.26/8.11 28.26/8.11 member_in_ag(x1, x2) = member_in_ag(x2) 28.26/8.11 28.26/8.11 member_out_ag(x1, x2) = member_out_ag(x1) 28.26/8.11 28.26/8.11 U8_ag(x1, x2, x3, x4) = U8_ag(x4) 28.26/8.11 28.26/8.11 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x4) 28.26/8.11 28.26/8.11 members_out_ag(x1, x2) = members_out_ag(x1) 28.26/8.11 28.26/8.11 color_region_out_ag(x1, x2) = color_region_out_ag(x1) 28.26/8.11 28.26/8.11 region(x1, x2) = region(x1, x2) 28.26/8.11 28.26/8.11 COLOR_MAP_IN_AG(x1, x2) = COLOR_MAP_IN_AG(x2) 28.26/8.11 28.26/8.11 U1_AG(x1, x2, x3, x4) = U1_AG(x3, x4) 28.26/8.11 28.26/8.11 28.26/8.11 We have to consider all (P,R,Pi)-chains 28.26/8.11 ---------------------------------------- 28.26/8.11 28.26/8.11 (35) PiDPToQDPProof (SOUND) 28.26/8.11 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 28.26/8.11 ---------------------------------------- 28.26/8.11 28.26/8.11 (36) 28.26/8.11 Obligation: 28.26/8.11 Q DP problem: 28.26/8.11 The TRS P consists of the following rules: 28.26/8.11 28.26/8.11 U1_AG(Colors, color_region_out_ag(Region)) -> COLOR_MAP_IN_AG(Colors) 28.26/8.11 COLOR_MAP_IN_AG(Colors) -> U1_AG(Colors, color_region_in_ag(Colors)) 28.26/8.11 28.26/8.11 The TRS R consists of the following rules: 28.26/8.11 28.26/8.11 color_region_in_ag(Colors) -> U3_ag(select_in_aga(Colors)) 28.26/8.11 U3_ag(select_out_aga(Color, Colors1)) -> U4_ag(Color, members_in_ag(Colors1)) 28.26/8.11 select_in_aga(.(X, Xs)) -> select_out_aga(X, Xs) 28.26/8.11 select_in_aga(.(Y, Ys)) -> U5_aga(Y, select_in_aga(Ys)) 28.26/8.11 U4_ag(Color, members_out_ag(Neighbors)) -> color_region_out_ag(region(Color, Neighbors)) 28.26/8.11 U5_aga(Y, select_out_aga(X, Zs)) -> select_out_aga(X, .(Y, Zs)) 28.26/8.11 members_in_ag(Ys) -> U6_ag(Ys, member_in_ag(Ys)) 28.26/8.11 members_in_ag(Ys) -> members_out_ag([]) 28.26/8.11 U6_ag(Ys, member_out_ag(X)) -> U7_ag(X, members_in_ag(Ys)) 28.26/8.11 member_in_ag(.(X, X1)) -> member_out_ag(X) 28.26/8.11 member_in_ag(.(X2, T)) -> U8_ag(member_in_ag(T)) 28.26/8.11 U7_ag(X, members_out_ag(Xs)) -> members_out_ag(.(X, Xs)) 28.26/8.11 U8_ag(member_out_ag(X)) -> member_out_ag(X) 28.26/8.11 28.26/8.11 The set Q consists of the following terms: 28.26/8.11 28.26/8.11 color_region_in_ag(x0) 28.26/8.11 U3_ag(x0) 28.26/8.11 select_in_aga(x0) 28.26/8.11 U4_ag(x0, x1) 28.26/8.11 U5_aga(x0, x1) 28.26/8.11 members_in_ag(x0) 28.26/8.11 U6_ag(x0, x1) 28.26/8.11 member_in_ag(x0) 28.26/8.11 U7_ag(x0, x1) 28.26/8.11 U8_ag(x0) 28.26/8.11 28.26/8.11 We have to consider all (P,Q,R)-chains. 28.26/8.11 ---------------------------------------- 28.26/8.11 28.26/8.11 (37) PrologToPiTRSProof (SOUND) 28.26/8.11 We use the technique of [TOCL09]. With regard to the inferred argument filtering the predicates were used in the following modes: 28.26/8.11 28.26/8.11 color_map_in_2: (f,b) 28.26/8.11 28.26/8.11 color_region_in_2: (f,b) 28.26/8.11 28.26/8.11 select_in_3: (f,b,f) 28.26/8.11 28.26/8.11 members_in_2: (f,b) 28.26/8.11 28.26/8.11 member_in_2: (f,b) 28.26/8.11 28.26/8.11 Transforming Prolog into the following Term Rewriting System: 28.26/8.11 28.26/8.11 Pi-finite rewrite system: 28.26/8.11 The TRS R consists of the following rules: 28.26/8.11 28.26/8.11 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 28.26/8.11 color_region_in_ag(region(Color, Neighbors), Colors) -> U3_ag(Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 28.26/8.11 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 28.26/8.11 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 28.26/8.11 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 28.26/8.11 U3_ag(Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 28.26/8.11 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 28.26/8.11 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 28.26/8.11 member_in_ag(X, .(X2, T)) -> U8_ag(X, X2, T, member_in_ag(X, T)) 28.26/8.11 U8_ag(X, X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 28.26/8.11 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 28.26/8.11 members_in_ag([], Ys) -> members_out_ag([], Ys) 28.26/8.11 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 28.26/8.11 U4_ag(Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Color, Neighbors), Colors) 28.26/8.11 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 28.26/8.11 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 28.26/8.11 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 28.26/8.11 28.26/8.11 The argument filtering Pi contains the following mapping: 28.26/8.11 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 28.26/8.11 28.26/8.11 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 28.26/8.11 28.26/8.11 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 28.26/8.11 28.26/8.11 U3_ag(x1, x2, x3, x4) = U3_ag(x3, x4) 28.26/8.11 28.26/8.11 select_in_aga(x1, x2, x3) = select_in_aga(x2) 28.26/8.11 28.26/8.11 .(x1, x2) = .(x1, x2) 28.26/8.11 28.26/8.11 select_out_aga(x1, x2, x3) = select_out_aga(x1, x2, x3) 28.26/8.11 28.26/8.11 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x3, x5) 28.26/8.11 28.26/8.11 U4_ag(x1, x2, x3, x4) = U4_ag(x1, x3, x4) 28.26/8.11 28.26/8.11 members_in_ag(x1, x2) = members_in_ag(x2) 28.26/8.11 28.26/8.11 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 28.26/8.11 28.26/8.11 member_in_ag(x1, x2) = member_in_ag(x2) 28.26/8.11 28.26/8.11 member_out_ag(x1, x2) = member_out_ag(x1, x2) 28.26/8.11 28.26/8.11 U8_ag(x1, x2, x3, x4) = U8_ag(x2, x3, x4) 28.26/8.11 28.26/8.11 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x3, x4) 28.26/8.11 28.26/8.11 members_out_ag(x1, x2) = members_out_ag(x1, x2) 28.26/8.11 28.26/8.11 color_region_out_ag(x1, x2) = color_region_out_ag(x1, x2) 28.26/8.11 28.26/8.11 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x3, x4) 28.26/8.11 28.26/8.11 color_map_out_ag(x1, x2) = color_map_out_ag(x1, x2) 28.26/8.11 28.26/8.11 region(x1, x2) = region(x1, x2) 28.26/8.11 28.26/8.11 28.26/8.11 28.26/8.11 28.26/8.11 28.26/8.11 Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog 28.26/8.11 28.26/8.11 28.26/8.11 28.26/8.11 ---------------------------------------- 28.26/8.11 28.26/8.11 (38) 28.26/8.11 Obligation: 28.26/8.11 Pi-finite rewrite system: 28.26/8.11 The TRS R consists of the following rules: 28.26/8.11 28.26/8.11 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 28.26/8.11 color_region_in_ag(region(Color, Neighbors), Colors) -> U3_ag(Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 28.26/8.11 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 28.26/8.11 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 28.26/8.11 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 28.26/8.11 U3_ag(Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 28.26/8.11 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 28.26/8.11 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 28.26/8.11 member_in_ag(X, .(X2, T)) -> U8_ag(X, X2, T, member_in_ag(X, T)) 28.26/8.11 U8_ag(X, X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 28.26/8.11 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 28.26/8.11 members_in_ag([], Ys) -> members_out_ag([], Ys) 28.26/8.11 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 28.26/8.11 U4_ag(Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Color, Neighbors), Colors) 28.26/8.11 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 28.26/8.11 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 28.26/8.11 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 28.26/8.11 28.26/8.11 The argument filtering Pi contains the following mapping: 28.26/8.11 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 28.26/8.11 28.26/8.11 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 28.26/8.11 28.26/8.11 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 28.26/8.11 28.26/8.11 U3_ag(x1, x2, x3, x4) = U3_ag(x3, x4) 28.26/8.11 28.26/8.11 select_in_aga(x1, x2, x3) = select_in_aga(x2) 28.26/8.11 28.26/8.11 .(x1, x2) = .(x1, x2) 28.26/8.11 28.26/8.11 select_out_aga(x1, x2, x3) = select_out_aga(x1, x2, x3) 28.26/8.11 28.26/8.11 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x3, x5) 28.26/8.11 28.26/8.11 U4_ag(x1, x2, x3, x4) = U4_ag(x1, x3, x4) 28.26/8.11 28.26/8.11 members_in_ag(x1, x2) = members_in_ag(x2) 28.26/8.11 28.26/8.11 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 28.26/8.11 28.26/8.11 member_in_ag(x1, x2) = member_in_ag(x2) 28.26/8.11 28.26/8.11 member_out_ag(x1, x2) = member_out_ag(x1, x2) 28.26/8.11 28.26/8.11 U8_ag(x1, x2, x3, x4) = U8_ag(x2, x3, x4) 28.26/8.11 28.26/8.11 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x3, x4) 28.26/8.11 28.26/8.11 members_out_ag(x1, x2) = members_out_ag(x1, x2) 28.26/8.11 28.26/8.11 color_region_out_ag(x1, x2) = color_region_out_ag(x1, x2) 28.26/8.11 28.26/8.11 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x3, x4) 28.26/8.11 28.26/8.11 color_map_out_ag(x1, x2) = color_map_out_ag(x1, x2) 28.26/8.11 28.26/8.11 region(x1, x2) = region(x1, x2) 28.26/8.11 28.26/8.11 28.26/8.11 28.26/8.11 ---------------------------------------- 28.26/8.11 28.26/8.11 (39) DependencyPairsProof (EQUIVALENT) 28.26/8.11 Using Dependency Pairs [AG00,LOPSTR] we result in the following initial DP problem: 28.26/8.11 Pi DP problem: 28.26/8.11 The TRS P consists of the following rules: 28.26/8.11 28.26/8.11 COLOR_MAP_IN_AG(.(Region, Regions), Colors) -> U1_AG(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 28.26/8.11 COLOR_MAP_IN_AG(.(Region, Regions), Colors) -> COLOR_REGION_IN_AG(Region, Colors) 28.26/8.11 COLOR_REGION_IN_AG(region(Color, Neighbors), Colors) -> U3_AG(Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 28.26/8.11 COLOR_REGION_IN_AG(region(Color, Neighbors), Colors) -> SELECT_IN_AGA(Color, Colors, Colors1) 28.26/8.11 SELECT_IN_AGA(X, .(Y, Ys), .(Y, Zs)) -> U5_AGA(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 28.26/8.11 SELECT_IN_AGA(X, .(Y, Ys), .(Y, Zs)) -> SELECT_IN_AGA(X, Ys, Zs) 28.26/8.11 U3_AG(Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_AG(Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 28.26/8.11 U3_AG(Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> MEMBERS_IN_AG(Neighbors, Colors1) 28.26/8.11 MEMBERS_IN_AG(.(X, Xs), Ys) -> U6_AG(X, Xs, Ys, member_in_ag(X, Ys)) 28.26/8.11 MEMBERS_IN_AG(.(X, Xs), Ys) -> MEMBER_IN_AG(X, Ys) 28.26/8.11 MEMBER_IN_AG(X, .(X2, T)) -> U8_AG(X, X2, T, member_in_ag(X, T)) 28.26/8.11 MEMBER_IN_AG(X, .(X2, T)) -> MEMBER_IN_AG(X, T) 28.26/8.11 U6_AG(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_AG(X, Xs, Ys, members_in_ag(Xs, Ys)) 28.26/8.11 U6_AG(X, Xs, Ys, member_out_ag(X, Ys)) -> MEMBERS_IN_AG(Xs, Ys) 28.26/8.11 U1_AG(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_AG(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 28.26/8.11 U1_AG(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> COLOR_MAP_IN_AG(Regions, Colors) 28.26/8.11 28.26/8.11 The TRS R consists of the following rules: 28.26/8.11 28.26/8.11 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 28.26/8.11 color_region_in_ag(region(Color, Neighbors), Colors) -> U3_ag(Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 28.26/8.11 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 28.26/8.11 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 28.26/8.11 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 28.26/8.11 U3_ag(Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 28.26/8.11 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 28.26/8.11 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 28.26/8.11 member_in_ag(X, .(X2, T)) -> U8_ag(X, X2, T, member_in_ag(X, T)) 28.26/8.11 U8_ag(X, X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 28.26/8.11 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 28.26/8.11 members_in_ag([], Ys) -> members_out_ag([], Ys) 28.26/8.11 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 28.26/8.11 U4_ag(Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Color, Neighbors), Colors) 28.26/8.11 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 28.26/8.11 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 28.26/8.11 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 28.26/8.11 28.26/8.11 The argument filtering Pi contains the following mapping: 28.26/8.11 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 28.26/8.11 28.26/8.11 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 28.26/8.11 28.26/8.11 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 28.26/8.11 28.26/8.11 U3_ag(x1, x2, x3, x4) = U3_ag(x3, x4) 28.26/8.11 28.26/8.11 select_in_aga(x1, x2, x3) = select_in_aga(x2) 28.26/8.11 28.26/8.11 .(x1, x2) = .(x1, x2) 28.26/8.11 28.26/8.11 select_out_aga(x1, x2, x3) = select_out_aga(x1, x2, x3) 28.26/8.11 28.26/8.11 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x3, x5) 28.26/8.11 28.26/8.11 U4_ag(x1, x2, x3, x4) = U4_ag(x1, x3, x4) 28.26/8.11 28.26/8.11 members_in_ag(x1, x2) = members_in_ag(x2) 28.26/8.11 28.26/8.11 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 28.26/8.11 28.26/8.11 member_in_ag(x1, x2) = member_in_ag(x2) 28.26/8.11 28.26/8.11 member_out_ag(x1, x2) = member_out_ag(x1, x2) 28.26/8.11 28.26/8.11 U8_ag(x1, x2, x3, x4) = U8_ag(x2, x3, x4) 28.26/8.11 28.26/8.11 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x3, x4) 28.26/8.11 28.26/8.11 members_out_ag(x1, x2) = members_out_ag(x1, x2) 28.26/8.11 28.26/8.11 color_region_out_ag(x1, x2) = color_region_out_ag(x1, x2) 28.26/8.11 28.26/8.11 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x3, x4) 28.26/8.11 28.26/8.11 color_map_out_ag(x1, x2) = color_map_out_ag(x1, x2) 28.26/8.11 28.26/8.11 region(x1, x2) = region(x1, x2) 28.26/8.11 28.26/8.11 COLOR_MAP_IN_AG(x1, x2) = COLOR_MAP_IN_AG(x2) 28.26/8.11 28.26/8.11 U1_AG(x1, x2, x3, x4) = U1_AG(x3, x4) 28.26/8.11 28.26/8.11 COLOR_REGION_IN_AG(x1, x2) = COLOR_REGION_IN_AG(x2) 28.26/8.11 28.26/8.11 U3_AG(x1, x2, x3, x4) = U3_AG(x3, x4) 28.26/8.11 28.26/8.11 SELECT_IN_AGA(x1, x2, x3) = SELECT_IN_AGA(x2) 28.26/8.11 28.26/8.11 U5_AGA(x1, x2, x3, x4, x5) = U5_AGA(x2, x3, x5) 28.26/8.11 28.26/8.11 U4_AG(x1, x2, x3, x4) = U4_AG(x1, x3, x4) 28.26/8.11 28.26/8.11 MEMBERS_IN_AG(x1, x2) = MEMBERS_IN_AG(x2) 28.26/8.11 28.26/8.11 U6_AG(x1, x2, x3, x4) = U6_AG(x3, x4) 28.26/8.11 28.26/8.11 MEMBER_IN_AG(x1, x2) = MEMBER_IN_AG(x2) 28.26/8.11 28.26/8.11 U8_AG(x1, x2, x3, x4) = U8_AG(x2, x3, x4) 28.26/8.11 28.26/8.11 U7_AG(x1, x2, x3, x4) = U7_AG(x1, x3, x4) 28.26/8.11 28.26/8.11 U2_AG(x1, x2, x3, x4) = U2_AG(x1, x3, x4) 28.26/8.11 28.26/8.11 28.26/8.11 We have to consider all (P,R,Pi)-chains 28.26/8.11 ---------------------------------------- 28.26/8.11 28.26/8.11 (40) 28.26/8.11 Obligation: 28.26/8.11 Pi DP problem: 28.26/8.11 The TRS P consists of the following rules: 28.26/8.11 28.26/8.11 COLOR_MAP_IN_AG(.(Region, Regions), Colors) -> U1_AG(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 28.26/8.11 COLOR_MAP_IN_AG(.(Region, Regions), Colors) -> COLOR_REGION_IN_AG(Region, Colors) 28.26/8.11 COLOR_REGION_IN_AG(region(Color, Neighbors), Colors) -> U3_AG(Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 28.26/8.11 COLOR_REGION_IN_AG(region(Color, Neighbors), Colors) -> SELECT_IN_AGA(Color, Colors, Colors1) 28.26/8.11 SELECT_IN_AGA(X, .(Y, Ys), .(Y, Zs)) -> U5_AGA(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 28.26/8.11 SELECT_IN_AGA(X, .(Y, Ys), .(Y, Zs)) -> SELECT_IN_AGA(X, Ys, Zs) 28.26/8.11 U3_AG(Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_AG(Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 28.26/8.11 U3_AG(Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> MEMBERS_IN_AG(Neighbors, Colors1) 28.26/8.11 MEMBERS_IN_AG(.(X, Xs), Ys) -> U6_AG(X, Xs, Ys, member_in_ag(X, Ys)) 28.26/8.11 MEMBERS_IN_AG(.(X, Xs), Ys) -> MEMBER_IN_AG(X, Ys) 28.26/8.11 MEMBER_IN_AG(X, .(X2, T)) -> U8_AG(X, X2, T, member_in_ag(X, T)) 28.26/8.11 MEMBER_IN_AG(X, .(X2, T)) -> MEMBER_IN_AG(X, T) 28.26/8.11 U6_AG(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_AG(X, Xs, Ys, members_in_ag(Xs, Ys)) 28.26/8.11 U6_AG(X, Xs, Ys, member_out_ag(X, Ys)) -> MEMBERS_IN_AG(Xs, Ys) 28.26/8.11 U1_AG(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_AG(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 28.26/8.11 U1_AG(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> COLOR_MAP_IN_AG(Regions, Colors) 28.26/8.11 28.26/8.11 The TRS R consists of the following rules: 28.26/8.11 28.26/8.11 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 28.26/8.11 color_region_in_ag(region(Color, Neighbors), Colors) -> U3_ag(Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 28.26/8.11 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 28.26/8.11 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 28.26/8.11 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 28.26/8.11 U3_ag(Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 28.26/8.11 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 28.26/8.11 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 28.26/8.11 member_in_ag(X, .(X2, T)) -> U8_ag(X, X2, T, member_in_ag(X, T)) 28.26/8.11 U8_ag(X, X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 28.26/8.11 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 28.26/8.11 members_in_ag([], Ys) -> members_out_ag([], Ys) 28.26/8.11 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 28.26/8.11 U4_ag(Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Color, Neighbors), Colors) 28.26/8.11 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 28.26/8.11 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 28.26/8.11 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 28.26/8.11 28.26/8.11 The argument filtering Pi contains the following mapping: 28.26/8.11 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 28.26/8.11 28.26/8.11 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 28.26/8.11 28.26/8.11 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 28.26/8.11 28.26/8.11 U3_ag(x1, x2, x3, x4) = U3_ag(x3, x4) 28.26/8.11 28.26/8.11 select_in_aga(x1, x2, x3) = select_in_aga(x2) 28.26/8.11 28.26/8.11 .(x1, x2) = .(x1, x2) 28.26/8.11 28.26/8.11 select_out_aga(x1, x2, x3) = select_out_aga(x1, x2, x3) 28.26/8.11 28.26/8.11 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x3, x5) 28.26/8.11 28.26/8.11 U4_ag(x1, x2, x3, x4) = U4_ag(x1, x3, x4) 28.26/8.11 28.26/8.11 members_in_ag(x1, x2) = members_in_ag(x2) 28.26/8.11 28.26/8.11 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 28.26/8.11 28.26/8.11 member_in_ag(x1, x2) = member_in_ag(x2) 28.26/8.11 28.26/8.11 member_out_ag(x1, x2) = member_out_ag(x1, x2) 28.26/8.11 28.26/8.11 U8_ag(x1, x2, x3, x4) = U8_ag(x2, x3, x4) 28.26/8.11 28.26/8.11 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x3, x4) 28.26/8.11 28.26/8.11 members_out_ag(x1, x2) = members_out_ag(x1, x2) 28.26/8.11 28.26/8.11 color_region_out_ag(x1, x2) = color_region_out_ag(x1, x2) 28.26/8.11 28.26/8.11 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x3, x4) 28.26/8.11 28.26/8.11 color_map_out_ag(x1, x2) = color_map_out_ag(x1, x2) 28.26/8.11 28.26/8.11 region(x1, x2) = region(x1, x2) 28.26/8.11 28.26/8.11 COLOR_MAP_IN_AG(x1, x2) = COLOR_MAP_IN_AG(x2) 28.26/8.11 28.26/8.11 U1_AG(x1, x2, x3, x4) = U1_AG(x3, x4) 28.26/8.11 28.26/8.11 COLOR_REGION_IN_AG(x1, x2) = COLOR_REGION_IN_AG(x2) 28.26/8.11 28.26/8.11 U3_AG(x1, x2, x3, x4) = U3_AG(x3, x4) 28.26/8.11 28.26/8.11 SELECT_IN_AGA(x1, x2, x3) = SELECT_IN_AGA(x2) 28.26/8.11 28.26/8.11 U5_AGA(x1, x2, x3, x4, x5) = U5_AGA(x2, x3, x5) 28.26/8.11 28.26/8.11 U4_AG(x1, x2, x3, x4) = U4_AG(x1, x3, x4) 28.26/8.11 28.26/8.11 MEMBERS_IN_AG(x1, x2) = MEMBERS_IN_AG(x2) 28.26/8.11 28.26/8.11 U6_AG(x1, x2, x3, x4) = U6_AG(x3, x4) 28.26/8.11 28.26/8.11 MEMBER_IN_AG(x1, x2) = MEMBER_IN_AG(x2) 28.26/8.11 28.26/8.11 U8_AG(x1, x2, x3, x4) = U8_AG(x2, x3, x4) 28.26/8.11 28.26/8.11 U7_AG(x1, x2, x3, x4) = U7_AG(x1, x3, x4) 28.26/8.11 28.26/8.11 U2_AG(x1, x2, x3, x4) = U2_AG(x1, x3, x4) 28.26/8.11 28.26/8.11 28.26/8.11 We have to consider all (P,R,Pi)-chains 28.26/8.11 ---------------------------------------- 28.26/8.11 28.26/8.11 (41) DependencyGraphProof (EQUIVALENT) 28.26/8.11 The approximation of the Dependency Graph [LOPSTR] contains 4 SCCs with 10 less nodes. 28.26/8.11 ---------------------------------------- 28.26/8.11 28.26/8.11 (42) 28.26/8.11 Complex Obligation (AND) 28.26/8.11 28.26/8.11 ---------------------------------------- 28.26/8.11 28.26/8.11 (43) 28.26/8.11 Obligation: 28.26/8.11 Pi DP problem: 28.26/8.11 The TRS P consists of the following rules: 28.26/8.11 28.26/8.11 MEMBER_IN_AG(X, .(X2, T)) -> MEMBER_IN_AG(X, T) 28.26/8.11 28.26/8.11 The TRS R consists of the following rules: 28.26/8.11 28.26/8.11 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 28.26/8.11 color_region_in_ag(region(Color, Neighbors), Colors) -> U3_ag(Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 28.26/8.11 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 28.26/8.11 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 28.26/8.11 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 28.26/8.11 U3_ag(Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 28.26/8.11 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 28.26/8.11 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 28.26/8.11 member_in_ag(X, .(X2, T)) -> U8_ag(X, X2, T, member_in_ag(X, T)) 28.26/8.11 U8_ag(X, X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 28.26/8.11 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 28.26/8.11 members_in_ag([], Ys) -> members_out_ag([], Ys) 28.26/8.11 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 28.26/8.11 U4_ag(Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Color, Neighbors), Colors) 28.26/8.11 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 28.26/8.11 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 28.26/8.11 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 28.26/8.11 28.26/8.11 The argument filtering Pi contains the following mapping: 28.26/8.11 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 28.26/8.11 28.26/8.11 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 28.26/8.11 28.26/8.11 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 28.26/8.11 28.26/8.11 U3_ag(x1, x2, x3, x4) = U3_ag(x3, x4) 28.26/8.11 28.26/8.11 select_in_aga(x1, x2, x3) = select_in_aga(x2) 28.26/8.11 28.26/8.11 .(x1, x2) = .(x1, x2) 28.26/8.11 28.26/8.11 select_out_aga(x1, x2, x3) = select_out_aga(x1, x2, x3) 28.26/8.11 28.26/8.11 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x3, x5) 28.26/8.11 28.26/8.11 U4_ag(x1, x2, x3, x4) = U4_ag(x1, x3, x4) 28.26/8.11 28.26/8.11 members_in_ag(x1, x2) = members_in_ag(x2) 28.26/8.11 28.26/8.11 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 28.26/8.11 28.26/8.11 member_in_ag(x1, x2) = member_in_ag(x2) 28.26/8.11 28.26/8.11 member_out_ag(x1, x2) = member_out_ag(x1, x2) 28.26/8.11 28.26/8.11 U8_ag(x1, x2, x3, x4) = U8_ag(x2, x3, x4) 28.26/8.11 28.26/8.11 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x3, x4) 28.26/8.11 28.26/8.11 members_out_ag(x1, x2) = members_out_ag(x1, x2) 28.26/8.11 28.26/8.11 color_region_out_ag(x1, x2) = color_region_out_ag(x1, x2) 28.26/8.11 28.26/8.11 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x3, x4) 28.26/8.11 28.26/8.11 color_map_out_ag(x1, x2) = color_map_out_ag(x1, x2) 28.26/8.11 28.26/8.11 region(x1, x2) = region(x1, x2) 28.26/8.11 28.26/8.11 MEMBER_IN_AG(x1, x2) = MEMBER_IN_AG(x2) 28.26/8.11 28.26/8.11 28.26/8.11 We have to consider all (P,R,Pi)-chains 28.26/8.11 ---------------------------------------- 28.26/8.11 28.26/8.11 (44) UsableRulesProof (EQUIVALENT) 28.26/8.11 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 28.26/8.11 ---------------------------------------- 28.26/8.11 28.26/8.11 (45) 28.26/8.11 Obligation: 28.26/8.11 Pi DP problem: 28.26/8.11 The TRS P consists of the following rules: 28.26/8.11 28.26/8.11 MEMBER_IN_AG(X, .(X2, T)) -> MEMBER_IN_AG(X, T) 28.26/8.11 28.26/8.11 R is empty. 28.26/8.11 The argument filtering Pi contains the following mapping: 28.26/8.11 .(x1, x2) = .(x1, x2) 28.26/8.11 28.26/8.11 MEMBER_IN_AG(x1, x2) = MEMBER_IN_AG(x2) 28.26/8.11 28.26/8.11 28.26/8.11 We have to consider all (P,R,Pi)-chains 28.26/8.11 ---------------------------------------- 28.26/8.11 28.26/8.11 (46) PiDPToQDPProof (SOUND) 28.26/8.11 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 28.26/8.11 ---------------------------------------- 28.26/8.11 28.26/8.11 (47) 28.26/8.11 Obligation: 28.26/8.11 Q DP problem: 28.26/8.11 The TRS P consists of the following rules: 28.26/8.11 28.26/8.11 MEMBER_IN_AG(.(X2, T)) -> MEMBER_IN_AG(T) 28.26/8.11 28.26/8.11 R is empty. 28.26/8.11 Q is empty. 28.26/8.11 We have to consider all (P,Q,R)-chains. 28.26/8.11 ---------------------------------------- 28.26/8.11 28.26/8.11 (48) QDPSizeChangeProof (EQUIVALENT) 28.26/8.11 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. 28.26/8.11 28.26/8.11 From the DPs we obtained the following set of size-change graphs: 28.26/8.11 *MEMBER_IN_AG(.(X2, T)) -> MEMBER_IN_AG(T) 28.26/8.11 The graph contains the following edges 1 > 1 28.26/8.11 28.26/8.11 28.26/8.11 ---------------------------------------- 28.26/8.11 28.26/8.11 (49) 28.26/8.11 YES 28.26/8.11 28.26/8.11 ---------------------------------------- 28.26/8.11 28.26/8.11 (50) 28.26/8.11 Obligation: 28.26/8.11 Pi DP problem: 28.26/8.11 The TRS P consists of the following rules: 28.26/8.11 28.26/8.11 U6_AG(X, Xs, Ys, member_out_ag(X, Ys)) -> MEMBERS_IN_AG(Xs, Ys) 28.26/8.11 MEMBERS_IN_AG(.(X, Xs), Ys) -> U6_AG(X, Xs, Ys, member_in_ag(X, Ys)) 28.26/8.11 28.26/8.11 The TRS R consists of the following rules: 28.26/8.11 28.26/8.11 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 28.26/8.11 color_region_in_ag(region(Color, Neighbors), Colors) -> U3_ag(Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 28.26/8.11 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 28.26/8.11 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 28.26/8.11 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 28.26/8.11 U3_ag(Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 28.26/8.11 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 28.26/8.11 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 28.26/8.11 member_in_ag(X, .(X2, T)) -> U8_ag(X, X2, T, member_in_ag(X, T)) 28.26/8.11 U8_ag(X, X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 28.26/8.11 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 28.26/8.11 members_in_ag([], Ys) -> members_out_ag([], Ys) 28.26/8.11 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 28.26/8.11 U4_ag(Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Color, Neighbors), Colors) 28.26/8.11 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 28.26/8.11 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 28.26/8.11 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 28.26/8.11 28.26/8.11 The argument filtering Pi contains the following mapping: 28.26/8.11 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 28.26/8.11 28.26/8.11 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 28.26/8.11 28.26/8.11 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 28.26/8.11 28.26/8.11 U3_ag(x1, x2, x3, x4) = U3_ag(x3, x4) 28.26/8.11 28.26/8.11 select_in_aga(x1, x2, x3) = select_in_aga(x2) 28.26/8.11 28.26/8.11 .(x1, x2) = .(x1, x2) 28.26/8.11 28.26/8.11 select_out_aga(x1, x2, x3) = select_out_aga(x1, x2, x3) 28.26/8.11 28.26/8.11 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x3, x5) 28.26/8.11 28.26/8.11 U4_ag(x1, x2, x3, x4) = U4_ag(x1, x3, x4) 28.26/8.11 28.26/8.11 members_in_ag(x1, x2) = members_in_ag(x2) 28.26/8.11 28.26/8.11 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 28.26/8.11 28.26/8.11 member_in_ag(x1, x2) = member_in_ag(x2) 28.26/8.11 28.26/8.11 member_out_ag(x1, x2) = member_out_ag(x1, x2) 28.26/8.11 28.26/8.11 U8_ag(x1, x2, x3, x4) = U8_ag(x2, x3, x4) 28.26/8.11 28.26/8.11 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x3, x4) 28.26/8.11 28.26/8.11 members_out_ag(x1, x2) = members_out_ag(x1, x2) 28.26/8.11 28.26/8.11 color_region_out_ag(x1, x2) = color_region_out_ag(x1, x2) 28.26/8.11 28.26/8.11 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x3, x4) 28.26/8.11 28.26/8.11 color_map_out_ag(x1, x2) = color_map_out_ag(x1, x2) 28.26/8.11 28.26/8.11 region(x1, x2) = region(x1, x2) 28.26/8.11 28.26/8.11 MEMBERS_IN_AG(x1, x2) = MEMBERS_IN_AG(x2) 28.26/8.11 28.26/8.11 U6_AG(x1, x2, x3, x4) = U6_AG(x3, x4) 28.26/8.11 28.26/8.11 28.26/8.11 We have to consider all (P,R,Pi)-chains 28.26/8.11 ---------------------------------------- 28.26/8.11 28.26/8.11 (51) UsableRulesProof (EQUIVALENT) 28.26/8.11 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 28.26/8.11 ---------------------------------------- 28.26/8.11 28.26/8.11 (52) 28.26/8.11 Obligation: 28.26/8.11 Pi DP problem: 28.26/8.11 The TRS P consists of the following rules: 28.26/8.11 28.26/8.11 U6_AG(X, Xs, Ys, member_out_ag(X, Ys)) -> MEMBERS_IN_AG(Xs, Ys) 28.26/8.11 MEMBERS_IN_AG(.(X, Xs), Ys) -> U6_AG(X, Xs, Ys, member_in_ag(X, Ys)) 28.26/8.11 28.26/8.11 The TRS R consists of the following rules: 28.26/8.11 28.26/8.11 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 28.26/8.11 member_in_ag(X, .(X2, T)) -> U8_ag(X, X2, T, member_in_ag(X, T)) 28.26/8.11 U8_ag(X, X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 28.26/8.11 28.26/8.11 The argument filtering Pi contains the following mapping: 28.26/8.11 .(x1, x2) = .(x1, x2) 28.26/8.11 28.26/8.11 member_in_ag(x1, x2) = member_in_ag(x2) 28.26/8.11 28.26/8.11 member_out_ag(x1, x2) = member_out_ag(x1, x2) 28.26/8.11 28.26/8.11 U8_ag(x1, x2, x3, x4) = U8_ag(x2, x3, x4) 28.26/8.11 28.26/8.11 MEMBERS_IN_AG(x1, x2) = MEMBERS_IN_AG(x2) 28.26/8.11 28.26/8.11 U6_AG(x1, x2, x3, x4) = U6_AG(x3, x4) 28.26/8.11 28.26/8.11 28.26/8.11 We have to consider all (P,R,Pi)-chains 28.26/8.11 ---------------------------------------- 28.26/8.11 28.26/8.11 (53) PiDPToQDPProof (SOUND) 28.26/8.11 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 28.26/8.11 ---------------------------------------- 28.26/8.11 28.26/8.11 (54) 28.26/8.11 Obligation: 28.26/8.11 Q DP problem: 28.26/8.11 The TRS P consists of the following rules: 28.26/8.11 28.26/8.11 U6_AG(Ys, member_out_ag(X, Ys)) -> MEMBERS_IN_AG(Ys) 28.26/8.12 MEMBERS_IN_AG(Ys) -> U6_AG(Ys, member_in_ag(Ys)) 28.26/8.12 28.26/8.12 The TRS R consists of the following rules: 28.26/8.12 28.26/8.12 member_in_ag(.(X, X1)) -> member_out_ag(X, .(X, X1)) 28.26/8.12 member_in_ag(.(X2, T)) -> U8_ag(X2, T, member_in_ag(T)) 28.26/8.12 U8_ag(X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 28.26/8.12 28.26/8.12 The set Q consists of the following terms: 28.26/8.12 28.26/8.12 member_in_ag(x0) 28.26/8.12 U8_ag(x0, x1, x2) 28.26/8.12 28.26/8.12 We have to consider all (P,Q,R)-chains. 28.26/8.12 ---------------------------------------- 28.26/8.12 28.26/8.12 (55) TransformationProof (SOUND) 28.26/8.12 By narrowing [LPAR04] the rule MEMBERS_IN_AG(Ys) -> U6_AG(Ys, member_in_ag(Ys)) at position [1] we obtained the following new rules [LPAR04]: 28.26/8.12 28.26/8.12 (MEMBERS_IN_AG(.(x0, x1)) -> U6_AG(.(x0, x1), member_out_ag(x0, .(x0, x1))),MEMBERS_IN_AG(.(x0, x1)) -> U6_AG(.(x0, x1), member_out_ag(x0, .(x0, x1)))) 28.26/8.12 (MEMBERS_IN_AG(.(x0, x1)) -> U6_AG(.(x0, x1), U8_ag(x0, x1, member_in_ag(x1))),MEMBERS_IN_AG(.(x0, x1)) -> U6_AG(.(x0, x1), U8_ag(x0, x1, member_in_ag(x1)))) 28.26/8.12 28.26/8.12 28.26/8.12 ---------------------------------------- 28.26/8.12 28.26/8.12 (56) 28.26/8.12 Obligation: 28.26/8.12 Q DP problem: 28.26/8.12 The TRS P consists of the following rules: 28.26/8.12 28.26/8.12 U6_AG(Ys, member_out_ag(X, Ys)) -> MEMBERS_IN_AG(Ys) 28.26/8.12 MEMBERS_IN_AG(.(x0, x1)) -> U6_AG(.(x0, x1), member_out_ag(x0, .(x0, x1))) 28.26/8.12 MEMBERS_IN_AG(.(x0, x1)) -> U6_AG(.(x0, x1), U8_ag(x0, x1, member_in_ag(x1))) 28.26/8.12 28.26/8.12 The TRS R consists of the following rules: 28.26/8.12 28.26/8.12 member_in_ag(.(X, X1)) -> member_out_ag(X, .(X, X1)) 28.26/8.12 member_in_ag(.(X2, T)) -> U8_ag(X2, T, member_in_ag(T)) 28.26/8.12 U8_ag(X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 28.26/8.12 28.26/8.12 The set Q consists of the following terms: 28.26/8.12 28.26/8.12 member_in_ag(x0) 28.26/8.12 U8_ag(x0, x1, x2) 28.26/8.12 28.26/8.12 We have to consider all (P,Q,R)-chains. 28.26/8.12 ---------------------------------------- 28.26/8.12 28.26/8.12 (57) TransformationProof (EQUIVALENT) 28.26/8.12 By instantiating [LPAR04] the rule U6_AG(Ys, member_out_ag(X, Ys)) -> MEMBERS_IN_AG(Ys) we obtained the following new rules [LPAR04]: 28.26/8.12 28.26/8.12 (U6_AG(.(z0, z1), member_out_ag(z0, .(z0, z1))) -> MEMBERS_IN_AG(.(z0, z1)),U6_AG(.(z0, z1), member_out_ag(z0, .(z0, z1))) -> MEMBERS_IN_AG(.(z0, z1))) 28.26/8.12 (U6_AG(.(z0, z1), member_out_ag(x1, .(z0, z1))) -> MEMBERS_IN_AG(.(z0, z1)),U6_AG(.(z0, z1), member_out_ag(x1, .(z0, z1))) -> MEMBERS_IN_AG(.(z0, z1))) 28.26/8.12 28.26/8.12 28.26/8.12 ---------------------------------------- 28.26/8.12 28.26/8.12 (58) 28.26/8.12 Obligation: 28.26/8.12 Q DP problem: 28.26/8.12 The TRS P consists of the following rules: 28.26/8.12 28.26/8.12 MEMBERS_IN_AG(.(x0, x1)) -> U6_AG(.(x0, x1), member_out_ag(x0, .(x0, x1))) 28.26/8.12 MEMBERS_IN_AG(.(x0, x1)) -> U6_AG(.(x0, x1), U8_ag(x0, x1, member_in_ag(x1))) 28.26/8.12 U6_AG(.(z0, z1), member_out_ag(z0, .(z0, z1))) -> MEMBERS_IN_AG(.(z0, z1)) 28.26/8.12 U6_AG(.(z0, z1), member_out_ag(x1, .(z0, z1))) -> MEMBERS_IN_AG(.(z0, z1)) 28.26/8.12 28.26/8.12 The TRS R consists of the following rules: 28.26/8.12 28.26/8.12 member_in_ag(.(X, X1)) -> member_out_ag(X, .(X, X1)) 28.26/8.12 member_in_ag(.(X2, T)) -> U8_ag(X2, T, member_in_ag(T)) 28.26/8.12 U8_ag(X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 28.26/8.12 28.26/8.12 The set Q consists of the following terms: 28.26/8.12 28.26/8.12 member_in_ag(x0) 28.26/8.12 U8_ag(x0, x1, x2) 28.26/8.12 28.26/8.12 We have to consider all (P,Q,R)-chains. 28.26/8.12 ---------------------------------------- 28.26/8.12 28.26/8.12 (59) 28.26/8.12 Obligation: 28.26/8.12 Pi DP problem: 28.26/8.12 The TRS P consists of the following rules: 28.26/8.12 28.26/8.12 SELECT_IN_AGA(X, .(Y, Ys), .(Y, Zs)) -> SELECT_IN_AGA(X, Ys, Zs) 28.26/8.12 28.26/8.12 The TRS R consists of the following rules: 28.26/8.12 28.26/8.12 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 28.26/8.12 color_region_in_ag(region(Color, Neighbors), Colors) -> U3_ag(Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 28.26/8.12 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 28.26/8.12 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 28.26/8.12 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 28.26/8.12 U3_ag(Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 28.26/8.12 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 28.26/8.12 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 28.26/8.12 member_in_ag(X, .(X2, T)) -> U8_ag(X, X2, T, member_in_ag(X, T)) 28.26/8.12 U8_ag(X, X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 28.26/8.12 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 28.26/8.12 members_in_ag([], Ys) -> members_out_ag([], Ys) 28.26/8.12 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 28.26/8.12 U4_ag(Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Color, Neighbors), Colors) 28.26/8.12 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 28.26/8.12 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 28.26/8.12 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 28.26/8.12 28.26/8.12 The argument filtering Pi contains the following mapping: 28.26/8.12 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 28.26/8.12 28.26/8.12 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 28.26/8.12 28.26/8.12 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 28.26/8.12 28.26/8.12 U3_ag(x1, x2, x3, x4) = U3_ag(x3, x4) 28.26/8.12 28.26/8.12 select_in_aga(x1, x2, x3) = select_in_aga(x2) 28.26/8.12 28.26/8.12 .(x1, x2) = .(x1, x2) 28.26/8.12 28.26/8.12 select_out_aga(x1, x2, x3) = select_out_aga(x1, x2, x3) 28.26/8.12 28.26/8.12 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x3, x5) 28.26/8.12 28.26/8.12 U4_ag(x1, x2, x3, x4) = U4_ag(x1, x3, x4) 28.26/8.12 28.26/8.12 members_in_ag(x1, x2) = members_in_ag(x2) 28.26/8.12 28.26/8.12 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 28.26/8.12 28.26/8.12 member_in_ag(x1, x2) = member_in_ag(x2) 28.26/8.12 28.26/8.12 member_out_ag(x1, x2) = member_out_ag(x1, x2) 28.26/8.12 28.26/8.12 U8_ag(x1, x2, x3, x4) = U8_ag(x2, x3, x4) 28.26/8.12 28.26/8.12 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x3, x4) 28.26/8.12 28.26/8.12 members_out_ag(x1, x2) = members_out_ag(x1, x2) 28.26/8.12 28.26/8.12 color_region_out_ag(x1, x2) = color_region_out_ag(x1, x2) 28.26/8.12 28.26/8.12 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x3, x4) 28.26/8.12 28.26/8.12 color_map_out_ag(x1, x2) = color_map_out_ag(x1, x2) 28.26/8.12 28.26/8.12 region(x1, x2) = region(x1, x2) 28.26/8.12 28.26/8.12 SELECT_IN_AGA(x1, x2, x3) = SELECT_IN_AGA(x2) 28.26/8.12 28.26/8.12 28.26/8.12 We have to consider all (P,R,Pi)-chains 28.26/8.12 ---------------------------------------- 28.26/8.12 28.26/8.12 (60) UsableRulesProof (EQUIVALENT) 28.26/8.12 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 28.26/8.12 ---------------------------------------- 28.26/8.12 28.26/8.12 (61) 28.26/8.12 Obligation: 28.26/8.12 Pi DP problem: 28.26/8.12 The TRS P consists of the following rules: 28.26/8.12 28.26/8.12 SELECT_IN_AGA(X, .(Y, Ys), .(Y, Zs)) -> SELECT_IN_AGA(X, Ys, Zs) 28.26/8.12 28.26/8.12 R is empty. 28.26/8.12 The argument filtering Pi contains the following mapping: 28.26/8.12 .(x1, x2) = .(x1, x2) 28.26/8.12 28.26/8.12 SELECT_IN_AGA(x1, x2, x3) = SELECT_IN_AGA(x2) 28.26/8.12 28.26/8.12 28.26/8.12 We have to consider all (P,R,Pi)-chains 28.26/8.12 ---------------------------------------- 28.26/8.12 28.26/8.12 (62) 28.26/8.12 Obligation: 28.26/8.12 Pi DP problem: 28.26/8.12 The TRS P consists of the following rules: 28.26/8.12 28.26/8.12 U1_AG(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> COLOR_MAP_IN_AG(Regions, Colors) 28.26/8.12 COLOR_MAP_IN_AG(.(Region, Regions), Colors) -> U1_AG(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 28.26/8.12 28.26/8.12 The TRS R consists of the following rules: 28.26/8.12 28.26/8.12 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 28.26/8.12 color_region_in_ag(region(Color, Neighbors), Colors) -> U3_ag(Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 28.26/8.12 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 28.26/8.12 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 28.26/8.12 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 28.26/8.12 U3_ag(Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 28.26/8.12 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 28.26/8.12 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 28.26/8.12 member_in_ag(X, .(X2, T)) -> U8_ag(X, X2, T, member_in_ag(X, T)) 28.26/8.12 U8_ag(X, X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 28.26/8.12 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 28.26/8.12 members_in_ag([], Ys) -> members_out_ag([], Ys) 28.26/8.12 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 28.26/8.12 U4_ag(Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Color, Neighbors), Colors) 28.26/8.12 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 28.26/8.12 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 28.26/8.12 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 28.26/8.12 28.26/8.12 The argument filtering Pi contains the following mapping: 28.26/8.12 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 28.26/8.12 28.26/8.12 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 28.26/8.12 28.26/8.12 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 28.26/8.12 28.26/8.12 U3_ag(x1, x2, x3, x4) = U3_ag(x3, x4) 28.26/8.12 28.26/8.12 select_in_aga(x1, x2, x3) = select_in_aga(x2) 28.26/8.12 28.26/8.12 .(x1, x2) = .(x1, x2) 28.26/8.12 28.26/8.12 select_out_aga(x1, x2, x3) = select_out_aga(x1, x2, x3) 28.26/8.12 28.26/8.12 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x3, x5) 28.26/8.12 28.26/8.12 U4_ag(x1, x2, x3, x4) = U4_ag(x1, x3, x4) 28.26/8.12 28.26/8.12 members_in_ag(x1, x2) = members_in_ag(x2) 28.26/8.12 28.26/8.12 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 28.26/8.12 28.26/8.12 member_in_ag(x1, x2) = member_in_ag(x2) 28.26/8.12 28.26/8.12 member_out_ag(x1, x2) = member_out_ag(x1, x2) 28.26/8.12 28.26/8.12 U8_ag(x1, x2, x3, x4) = U8_ag(x2, x3, x4) 28.26/8.12 28.26/8.12 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x3, x4) 28.26/8.12 28.26/8.12 members_out_ag(x1, x2) = members_out_ag(x1, x2) 28.26/8.12 28.26/8.12 color_region_out_ag(x1, x2) = color_region_out_ag(x1, x2) 28.26/8.12 28.26/8.12 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x3, x4) 28.26/8.12 28.26/8.12 color_map_out_ag(x1, x2) = color_map_out_ag(x1, x2) 28.26/8.12 28.26/8.12 region(x1, x2) = region(x1, x2) 28.26/8.12 28.26/8.12 COLOR_MAP_IN_AG(x1, x2) = COLOR_MAP_IN_AG(x2) 28.26/8.12 28.26/8.12 U1_AG(x1, x2, x3, x4) = U1_AG(x3, x4) 28.26/8.12 28.26/8.12 28.26/8.12 We have to consider all (P,R,Pi)-chains 28.26/8.12 ---------------------------------------- 28.26/8.12 28.26/8.12 (63) UsableRulesProof (EQUIVALENT) 28.26/8.12 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 28.26/8.12 ---------------------------------------- 28.26/8.12 28.26/8.12 (64) 28.26/8.12 Obligation: 28.26/8.12 Pi DP problem: 28.26/8.12 The TRS P consists of the following rules: 28.26/8.12 28.26/8.12 U1_AG(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> COLOR_MAP_IN_AG(Regions, Colors) 28.26/8.12 COLOR_MAP_IN_AG(.(Region, Regions), Colors) -> U1_AG(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 28.26/8.12 28.26/8.12 The TRS R consists of the following rules: 28.26/8.12 28.26/8.12 color_region_in_ag(region(Color, Neighbors), Colors) -> U3_ag(Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 28.26/8.12 U3_ag(Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 28.26/8.12 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 28.26/8.12 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 28.26/8.12 U4_ag(Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Color, Neighbors), Colors) 28.26/8.12 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 28.26/8.12 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 28.26/8.12 members_in_ag([], Ys) -> members_out_ag([], Ys) 28.26/8.12 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 28.26/8.12 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 28.26/8.12 member_in_ag(X, .(X2, T)) -> U8_ag(X, X2, T, member_in_ag(X, T)) 28.26/8.12 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 28.26/8.12 U8_ag(X, X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 28.26/8.12 28.26/8.12 The argument filtering Pi contains the following mapping: 28.26/8.12 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 28.26/8.12 28.26/8.12 U3_ag(x1, x2, x3, x4) = U3_ag(x3, x4) 28.26/8.12 28.26/8.12 select_in_aga(x1, x2, x3) = select_in_aga(x2) 28.26/8.12 28.26/8.12 .(x1, x2) = .(x1, x2) 28.26/8.12 28.26/8.12 select_out_aga(x1, x2, x3) = select_out_aga(x1, x2, x3) 28.26/8.12 28.26/8.12 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x3, x5) 28.26/8.12 28.26/8.12 U4_ag(x1, x2, x3, x4) = U4_ag(x1, x3, x4) 28.26/8.12 28.26/8.12 members_in_ag(x1, x2) = members_in_ag(x2) 28.26/8.12 28.26/8.12 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 28.26/8.12 28.26/8.12 member_in_ag(x1, x2) = member_in_ag(x2) 28.26/8.12 28.26/8.12 member_out_ag(x1, x2) = member_out_ag(x1, x2) 28.26/8.12 28.26/8.12 U8_ag(x1, x2, x3, x4) = U8_ag(x2, x3, x4) 28.26/8.12 28.26/8.12 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x3, x4) 28.26/8.12 28.26/8.12 members_out_ag(x1, x2) = members_out_ag(x1, x2) 28.26/8.12 28.26/8.12 color_region_out_ag(x1, x2) = color_region_out_ag(x1, x2) 28.26/8.12 28.26/8.12 region(x1, x2) = region(x1, x2) 28.26/8.12 28.26/8.12 COLOR_MAP_IN_AG(x1, x2) = COLOR_MAP_IN_AG(x2) 28.26/8.12 28.26/8.12 U1_AG(x1, x2, x3, x4) = U1_AG(x3, x4) 28.26/8.12 28.26/8.12 28.26/8.12 We have to consider all (P,R,Pi)-chains 28.26/8.12 ---------------------------------------- 28.26/8.12 28.26/8.12 (65) PrologToDTProblemTransformerProof (SOUND) 28.26/8.12 Built DT problem from termination graph DT10. 28.26/8.12 28.26/8.12 { 28.26/8.12 "root": 2, 28.26/8.12 "program": { 28.26/8.12 "directives": [], 28.26/8.12 "clauses": [ 28.26/8.13 [ 28.26/8.13 "(color_map (. Region Regions) Colors)", 28.26/8.13 "(',' (color_region Region Colors) (color_map Regions Colors))" 28.26/8.13 ], 28.26/8.13 [ 28.26/8.13 "(color_map ([]) Colors)", 28.26/8.13 null 28.26/8.13 ], 28.26/8.13 [ 28.26/8.13 "(color_region (region Color Neighbors) Colors)", 28.26/8.13 "(',' (select Color Colors Colors1) (members Neighbors Colors1))" 28.26/8.13 ], 28.26/8.13 [ 28.26/8.13 "(select X (. X Xs) Xs)", 28.26/8.13 null 28.26/8.13 ], 28.26/8.13 [ 28.26/8.13 "(select X (. Y Ys) (. Y Zs))", 28.26/8.13 "(select X Ys Zs)" 28.26/8.13 ], 28.26/8.13 [ 28.26/8.13 "(members (. X Xs) Ys)", 28.26/8.13 "(',' (member X Ys) (members Xs Ys))" 28.26/8.13 ], 28.26/8.13 [ 28.26/8.13 "(members ([]) Ys)", 28.26/8.13 null 28.26/8.13 ], 28.26/8.13 [ 28.26/8.13 "(member X (. X X1))", 28.26/8.13 null 28.26/8.13 ], 28.26/8.13 [ 28.26/8.13 "(member X (. X2 T))", 28.26/8.13 "(member X T)" 28.26/8.13 ], 28.26/8.13 [ 28.26/8.13 "(test_color Name Pairs)", 28.26/8.13 "(',' (colors Name Colors) (',' (color_map Map Colors) (',' (map Name Symbols Map) (symbols Symbols Map Pairs))))" 28.26/8.13 ], 28.26/8.13 [ 28.26/8.13 "(symbols ([]) ([]) ([]))", 28.26/8.13 null 28.26/8.13 ], 28.26/8.13 [ 28.26/8.13 "(symbols (. S Ss) (. (region C N) Rs) (. (pair S C) Ps))", 28.26/8.13 "(symbols Ss Rs Ps)" 28.26/8.13 ], 28.26/8.13 [ 28.26/8.13 "(map (test) (. (a) (. (b) (. (c) (. (d) (. (e) (. (f) ([]))))))) (. (region A (. B (. C (. D ([]))))) (. (region B (. A (. C (. E ([]))))) (. (region C (. A (. B (. D (. E (. F ([]))))))) (. (region D (. A (. C (. F ([]))))) (. (region E (. B (. C (. F ([]))))) (. (region F (. C (. D (. E ([]))))) ([]))))))))", 28.26/8.13 null 28.26/8.13 ], 28.26/8.13 [ 28.26/8.13 "(map (west_europe) (. (portugal) (. (spain) (. (france) (. (belgium) (. (holland) (. (west_germany) (. (luxembourg) (. (italy) (. (switzerland) (. (austria) ([]))))))))))) (. (region P (. E ([]))) (. (region E (. F (. P ([])))) (. (region F (. E (. I (. S (. B (. WG (. L ([])))))))) (. (region B (. F (. H (. L (. WG ([])))))) (. (region H (. B (. WG ([])))) (. (region WG (. F (. A (. S (. H (. B (. L ([])))))))) (. (region L (. F (. B (. WG ([]))))) (. (region I (. F (. A (. S ([]))))) (. (region S (. F (. I (. A (. WG ([])))))) (. (region A (. I (. S (. WG ([]))))) ([]))))))))))))", 28.26/8.13 null 28.26/8.13 ], 28.26/8.13 [ 28.26/8.13 "(colors X (. (red) (. (yellow) (. (blue) (. (white) ([]))))))", 28.26/8.13 null 28.26/8.13 ] 28.26/8.13 ] 28.26/8.13 }, 28.26/8.13 "graph": { 28.26/8.13 "nodes": { 28.26/8.13 "68": { 28.26/8.13 "goal": [ 28.26/8.13 { 28.26/8.13 "clause": 0, 28.26/8.13 "scope": 1, 28.26/8.13 "term": "(color_map T1 T2)" 28.26/8.13 }, 28.26/8.13 { 28.26/8.13 "clause": 1, 28.26/8.13 "scope": 1, 28.26/8.13 "term": "(color_map T1 T2)" 28.26/8.13 } 28.26/8.13 ], 28.26/8.13 "kb": { 28.26/8.13 "nonunifying": [], 28.26/8.13 "intvars": {}, 28.26/8.13 "arithmetic": { 28.26/8.13 "type": "PlainIntegerRelationState", 28.26/8.13 "relations": [] 28.26/8.13 }, 28.26/8.13 "ground": ["T2"], 28.26/8.13 "free": [], 28.26/8.13 "exprvars": [] 28.26/8.13 } 28.26/8.13 }, 28.26/8.13 "193": { 28.26/8.13 "goal": [], 28.26/8.13 "kb": { 28.26/8.13 "nonunifying": [], 28.26/8.13 "intvars": {}, 28.26/8.13 "arithmetic": { 28.26/8.13 "type": "PlainIntegerRelationState", 28.26/8.13 "relations": [] 28.26/8.13 }, 28.26/8.13 "ground": [], 28.26/8.13 "free": [], 28.26/8.13 "exprvars": [] 28.26/8.13 } 28.26/8.13 }, 28.26/8.13 "type": "Nodes", 28.26/8.13 "250": { 28.26/8.13 "goal": [{ 28.26/8.13 "clause": -1, 28.26/8.13 "scope": -1, 28.26/8.13 "term": "(',' (members T34 T33) (color_map T35 T25))" 28.26/8.13 }], 28.26/8.13 "kb": { 28.26/8.13 "nonunifying": [], 28.26/8.13 "intvars": {}, 28.26/8.13 "arithmetic": { 28.26/8.13 "type": "PlainIntegerRelationState", 28.26/8.13 "relations": [] 28.26/8.13 }, 28.26/8.13 "ground": [ 28.26/8.13 "T25", 28.26/8.13 "T33" 28.26/8.13 ], 28.26/8.13 "free": [], 28.26/8.13 "exprvars": [] 28.26/8.13 } 28.26/8.13 }, 28.26/8.13 "394": { 28.26/8.13 "goal": [], 28.26/8.13 "kb": { 28.26/8.13 "nonunifying": [], 28.26/8.13 "intvars": {}, 28.26/8.13 "arithmetic": { 28.26/8.13 "type": "PlainIntegerRelationState", 28.26/8.13 "relations": [] 28.26/8.13 }, 28.26/8.13 "ground": [], 28.26/8.13 "free": [], 28.26/8.13 "exprvars": [] 28.26/8.13 } 28.26/8.13 }, 28.26/8.13 "670": { 28.26/8.13 "goal": [{ 28.26/8.13 "clause": -1, 28.26/8.13 "scope": -1, 28.26/8.13 "term": "(true)" 28.26/8.13 }], 28.26/8.13 "kb": { 28.26/8.13 "nonunifying": [], 28.26/8.13 "intvars": {}, 28.26/8.13 "arithmetic": { 28.26/8.13 "type": "PlainIntegerRelationState", 28.26/8.13 "relations": [] 28.26/8.13 }, 28.26/8.13 "ground": [], 28.26/8.13 "free": [], 28.26/8.13 "exprvars": [] 28.26/8.13 } 28.26/8.13 }, 28.26/8.13 "671": { 28.26/8.13 "goal": [], 28.26/8.13 "kb": { 28.26/8.13 "nonunifying": [], 28.26/8.13 "intvars": {}, 28.26/8.13 "arithmetic": { 28.26/8.13 "type": "PlainIntegerRelationState", 28.26/8.13 "relations": [] 28.26/8.13 }, 28.26/8.13 "ground": [], 28.26/8.13 "free": [], 28.26/8.13 "exprvars": [] 28.26/8.13 } 28.26/8.13 }, 28.26/8.13 "650": { 28.26/8.13 "goal": [{ 28.26/8.13 "clause": -1, 28.26/8.13 "scope": -1, 28.26/8.13 "term": "(member T86 T85)" 28.26/8.13 }], 28.26/8.13 "kb": { 28.26/8.13 "nonunifying": [], 28.26/8.13 "intvars": {}, 28.26/8.13 "arithmetic": { 28.26/8.13 "type": "PlainIntegerRelationState", 28.26/8.13 "relations": [] 28.26/8.13 }, 28.26/8.13 "ground": ["T85"], 28.26/8.13 "free": [], 28.26/8.13 "exprvars": [] 28.26/8.13 } 28.26/8.13 }, 28.26/8.13 "672": { 28.26/8.13 "goal": [], 28.26/8.13 "kb": { 28.26/8.13 "nonunifying": [], 28.26/8.13 "intvars": {}, 28.26/8.13 "arithmetic": { 28.26/8.13 "type": "PlainIntegerRelationState", 28.26/8.13 "relations": [] 28.26/8.13 }, 28.26/8.13 "ground": [], 28.26/8.13 "free": [], 28.26/8.13 "exprvars": [] 28.26/8.13 } 28.26/8.13 }, 28.26/8.13 "112": { 28.26/8.13 "goal": [ 28.26/8.13 { 28.26/8.13 "clause": 2, 28.26/8.13 "scope": 2, 28.26/8.13 "term": "(',' (color_region T9 T8) (color_map T10 T8))" 28.26/8.13 }, 28.26/8.13 { 28.26/8.13 "clause": -1, 28.26/8.13 "scope": 2, 28.26/8.13 "term": null 28.26/8.13 }, 28.26/8.13 { 28.26/8.13 "clause": 1, 28.26/8.13 "scope": 1, 28.26/8.13 "term": "(color_map T1 T8)" 28.26/8.13 } 28.26/8.13 ], 28.26/8.13 "kb": { 28.26/8.13 "nonunifying": [], 28.26/8.13 "intvars": {}, 28.26/8.13 "arithmetic": { 28.26/8.13 "type": "PlainIntegerRelationState", 28.26/8.13 "relations": [] 28.26/8.13 }, 28.26/8.13 "ground": ["T8"], 28.26/8.13 "free": [], 28.26/8.13 "exprvars": [] 28.26/8.13 } 28.26/8.13 }, 28.26/8.13 "651": { 28.26/8.13 "goal": [{ 28.26/8.13 "clause": -1, 28.26/8.13 "scope": -1, 28.26/8.13 "term": "(members T92 T85)" 28.26/8.13 }], 28.26/8.13 "kb": { 28.26/8.13 "nonunifying": [], 28.26/8.13 "intvars": {}, 28.26/8.13 "arithmetic": { 28.26/8.13 "type": "PlainIntegerRelationState", 28.26/8.13 "relations": [] 28.26/8.13 }, 28.26/8.13 "ground": ["T85"], 28.26/8.13 "free": [], 28.26/8.13 "exprvars": [] 28.26/8.13 } 28.26/8.13 }, 28.26/8.13 "673": { 28.26/8.13 "goal": [{ 28.26/8.13 "clause": 1, 28.26/8.13 "scope": 1, 28.26/8.13 "term": "(color_map T1 T8)" 28.26/8.13 }], 28.26/8.13 "kb": { 28.26/8.13 "nonunifying": [], 28.26/8.13 "intvars": {}, 28.26/8.13 "arithmetic": { 28.26/8.13 "type": "PlainIntegerRelationState", 28.26/8.13 "relations": [] 28.26/8.13 }, 28.26/8.13 "ground": ["T8"], 28.26/8.13 "free": [], 28.26/8.13 "exprvars": [] 28.26/8.13 } 28.26/8.13 }, 28.26/8.13 "652": { 28.26/8.13 "goal": [ 28.26/8.13 { 28.26/8.13 "clause": 7, 28.26/8.13 "scope": 5, 28.26/8.13 "term": "(member T86 T85)" 28.26/8.13 }, 28.26/8.13 { 28.26/8.13 "clause": 8, 28.26/8.13 "scope": 5, 28.26/8.13 "term": "(member T86 T85)" 28.26/8.13 } 28.26/8.13 ], 28.26/8.13 "kb": { 28.26/8.13 "nonunifying": [], 28.26/8.13 "intvars": {}, 28.26/8.13 "arithmetic": { 28.26/8.13 "type": "PlainIntegerRelationState", 28.26/8.13 "relations": [] 28.26/8.13 }, 28.26/8.13 "ground": ["T85"], 28.26/8.13 "free": [], 28.26/8.13 "exprvars": [] 28.26/8.13 } 28.26/8.13 }, 28.26/8.13 "312": { 28.26/8.13 "goal": [], 28.26/8.13 "kb": { 28.26/8.13 "nonunifying": [], 28.26/8.13 "intvars": {}, 28.26/8.13 "arithmetic": { 28.26/8.13 "type": "PlainIntegerRelationState", 28.26/8.13 "relations": [] 28.26/8.13 }, 28.26/8.13 "ground": [], 28.26/8.13 "free": [], 28.26/8.13 "exprvars": [] 28.26/8.13 } 28.26/8.13 }, 28.26/8.13 "653": { 28.26/8.13 "goal": [{ 28.26/8.13 "clause": 7, 28.26/8.13 "scope": 5, 28.26/8.13 "term": "(member T86 T85)" 28.26/8.13 }], 28.26/8.13 "kb": { 28.26/8.13 "nonunifying": [], 28.26/8.13 "intvars": {}, 28.26/8.13 "arithmetic": { 28.26/8.13 "type": "PlainIntegerRelationState", 28.26/8.13 "relations": [] 28.26/8.13 }, 28.26/8.13 "ground": ["T85"], 28.26/8.13 "free": [], 28.26/8.13 "exprvars": [] 28.26/8.13 } 28.26/8.13 }, 28.26/8.13 "654": { 28.26/8.13 "goal": [{ 28.26/8.13 "clause": 8, 28.26/8.13 "scope": 5, 28.26/8.13 "term": "(member T86 T85)" 28.26/8.13 }], 28.26/8.13 "kb": { 28.26/8.13 "nonunifying": [], 28.26/8.13 "intvars": {}, 28.26/8.13 "arithmetic": { 28.26/8.13 "type": "PlainIntegerRelationState", 28.26/8.13 "relations": [] 28.26/8.13 }, 28.26/8.13 "ground": ["T85"], 28.26/8.13 "free": [], 28.26/8.13 "exprvars": [] 28.26/8.13 } 28.26/8.13 }, 28.26/8.13 "676": { 28.26/8.13 "goal": [{ 28.26/8.13 "clause": -1, 28.26/8.13 "scope": -1, 28.26/8.13 "term": "(true)" 28.26/8.13 }], 28.26/8.13 "kb": { 28.26/8.13 "nonunifying": [], 28.26/8.13 "intvars": {}, 28.26/8.13 "arithmetic": { 28.26/8.13 "type": "PlainIntegerRelationState", 28.26/8.13 "relations": [] 28.26/8.13 }, 28.26/8.13 "ground": [], 28.26/8.13 "free": [], 28.26/8.13 "exprvars": [] 28.26/8.13 } 28.26/8.13 }, 28.26/8.13 "655": { 28.26/8.13 "goal": [{ 28.26/8.13 "clause": -1, 28.26/8.13 "scope": -1, 28.26/8.13 "term": "(true)" 28.26/8.13 }], 28.26/8.13 "kb": { 28.26/8.13 "nonunifying": [], 28.26/8.13 "intvars": {}, 28.26/8.13 "arithmetic": { 28.26/8.13 "type": "PlainIntegerRelationState", 28.26/8.13 "relations": [] 28.26/8.13 }, 28.26/8.13 "ground": [], 28.26/8.13 "free": [], 28.26/8.13 "exprvars": [] 28.26/8.13 } 28.26/8.13 }, 28.26/8.13 "677": { 28.26/8.13 "goal": [], 28.26/8.13 "kb": { 28.26/8.13 "nonunifying": [], 28.26/8.13 "intvars": {}, 28.26/8.13 "arithmetic": { 28.26/8.13 "type": "PlainIntegerRelationState", 28.26/8.13 "relations": [] 28.26/8.13 }, 28.26/8.13 "ground": [], 28.26/8.13 "free": [], 28.26/8.13 "exprvars": [] 28.26/8.13 } 28.26/8.13 }, 28.26/8.13 "656": { 28.26/8.13 "goal": [], 28.26/8.13 "kb": { 28.26/8.13 "nonunifying": [], 28.26/8.13 "intvars": {}, 28.26/8.13 "arithmetic": { 28.26/8.13 "type": "PlainIntegerRelationState", 28.26/8.13 "relations": [] 28.26/8.13 }, 28.26/8.13 "ground": [], 28.26/8.13 "free": [], 28.26/8.13 "exprvars": [] 28.26/8.13 } 28.26/8.13 }, 28.26/8.13 "678": { 28.26/8.13 "goal": [], 28.26/8.13 "kb": { 28.26/8.13 "nonunifying": [], 28.26/8.13 "intvars": {}, 28.26/8.13 "arithmetic": { 28.26/8.13 "type": "PlainIntegerRelationState", 28.26/8.13 "relations": [] 28.26/8.13 }, 28.26/8.13 "ground": [], 28.26/8.13 "free": [], 28.26/8.13 "exprvars": [] 28.26/8.13 } 28.26/8.13 }, 28.26/8.13 "657": { 28.26/8.13 "goal": [], 28.26/8.13 "kb": { 28.26/8.13 "nonunifying": [], 28.26/8.13 "intvars": {}, 28.26/8.13 "arithmetic": { 28.26/8.13 "type": "PlainIntegerRelationState", 28.26/8.13 "relations": [] 28.26/8.13 }, 28.26/8.13 "ground": [], 28.26/8.13 "free": [], 28.26/8.13 "exprvars": [] 28.26/8.13 } 28.26/8.13 }, 28.26/8.13 "679": { 28.26/8.13 "goal": [{ 28.26/8.13 "clause": -1, 28.26/8.13 "scope": -1, 28.26/8.13 "term": "(true)" 28.26/8.13 }], 28.26/8.13 "kb": { 28.26/8.13 "nonunifying": [], 28.26/8.13 "intvars": {}, 28.26/8.13 "arithmetic": { 28.26/8.13 "type": "PlainIntegerRelationState", 28.26/8.13 "relations": [] 28.26/8.13 }, 28.26/8.13 "ground": [], 28.26/8.13 "free": [], 28.26/8.13 "exprvars": [] 28.26/8.13 } 28.26/8.13 }, 28.26/8.13 "93": { 28.26/8.13 "goal": [ 28.26/8.13 { 28.26/8.13 "clause": -1, 28.26/8.13 "scope": -1, 28.26/8.13 "term": "(',' (color_region T9 T8) (color_map T10 T8))" 28.26/8.13 }, 28.26/8.13 { 28.26/8.13 "clause": 1, 28.26/8.13 "scope": 1, 28.26/8.13 "term": "(color_map T1 T8)" 28.26/8.13 } 28.26/8.13 ], 28.26/8.13 "kb": { 28.26/8.13 "nonunifying": [], 28.26/8.13 "intvars": {}, 28.26/8.13 "arithmetic": { 28.26/8.13 "type": "PlainIntegerRelationState", 28.26/8.13 "relations": [] 28.26/8.13 }, 28.26/8.13 "ground": ["T8"], 28.26/8.13 "free": [], 28.26/8.13 "exprvars": [] 28.26/8.13 } 28.26/8.13 }, 28.26/8.13 "382": { 28.26/8.13 "goal": [{ 28.26/8.13 "clause": -1, 28.26/8.13 "scope": -1, 28.26/8.13 "term": "(select T59 T58 X59)" 28.26/8.13 }], 28.26/8.13 "kb": { 28.26/8.13 "nonunifying": [], 28.26/8.13 "intvars": {}, 28.26/8.13 "arithmetic": { 28.26/8.13 "type": "PlainIntegerRelationState", 28.26/8.13 "relations": [] 28.26/8.13 }, 28.26/8.13 "ground": ["T58"], 28.26/8.13 "free": ["X59"], 28.26/8.13 "exprvars": [] 28.26/8.13 } 28.26/8.13 }, 28.26/8.13 "141": { 28.26/8.13 "goal": [{ 28.26/8.13 "clause": 2, 28.26/8.13 "scope": 2, 28.26/8.13 "term": "(',' (color_region T9 T8) (color_map T10 T8))" 28.26/8.13 }], 28.26/8.13 "kb": { 28.26/8.13 "nonunifying": [], 28.26/8.13 "intvars": {}, 28.26/8.13 "arithmetic": { 28.26/8.13 "type": "PlainIntegerRelationState", 28.26/8.13 "relations": [] 28.26/8.13 }, 28.26/8.13 "ground": ["T8"], 28.26/8.13 "free": [], 28.26/8.13 "exprvars": [] 28.26/8.13 } 28.26/8.13 }, 28.26/8.13 "680": { 28.26/8.13 "goal": [], 28.26/8.13 "kb": { 28.26/8.13 "nonunifying": [], 28.26/8.13 "intvars": {}, 28.26/8.13 "arithmetic": { 28.26/8.13 "type": "PlainIntegerRelationState", 28.26/8.13 "relations": [] 28.26/8.13 }, 28.26/8.13 "ground": [], 28.26/8.13 "free": [], 28.26/8.13 "exprvars": [] 28.26/8.13 } 28.26/8.13 }, 28.26/8.13 "285": { 28.26/8.13 "goal": [ 28.26/8.13 { 28.26/8.13 "clause": 3, 28.26/8.13 "scope": 3, 28.26/8.13 "term": "(select T26 T25 X26)" 28.26/8.13 }, 28.26/8.13 { 28.26/8.13 "clause": 4, 28.26/8.13 "scope": 3, 28.26/8.13 "term": "(select T26 T25 X26)" 28.26/8.13 } 28.26/8.13 ], 28.26/8.13 "kb": { 28.26/8.13 "nonunifying": [], 28.26/8.13 "intvars": {}, 28.26/8.13 "arithmetic": { 28.26/8.13 "type": "PlainIntegerRelationState", 28.26/8.13 "relations": [] 28.26/8.13 }, 28.26/8.13 "ground": ["T25"], 28.26/8.13 "free": ["X26"], 28.26/8.13 "exprvars": [] 28.26/8.13 } 28.26/8.13 }, 28.26/8.13 "681": { 28.26/8.13 "goal": [], 28.26/8.13 "kb": { 28.26/8.13 "nonunifying": [], 28.26/8.13 "intvars": {}, 28.26/8.13 "arithmetic": { 28.26/8.13 "type": "PlainIntegerRelationState", 28.26/8.13 "relations": [] 28.26/8.13 }, 28.26/8.13 "ground": [], 28.26/8.13 "free": [], 28.26/8.13 "exprvars": [] 28.26/8.13 } 28.26/8.13 }, 28.26/8.13 "187": { 28.26/8.13 "goal": [{ 28.26/8.13 "clause": -1, 28.26/8.13 "scope": -1, 28.26/8.13 "term": "(',' (',' (select T26 T25 X26) (members T27 X26)) (color_map T28 T25))" 28.26/8.13 }], 28.26/8.13 "kb": { 28.26/8.13 "nonunifying": [], 28.26/8.13 "intvars": {}, 28.26/8.13 "arithmetic": { 28.26/8.13 "type": "PlainIntegerRelationState", 28.26/8.13 "relations": [] 28.26/8.13 }, 28.26/8.13 "ground": ["T25"], 28.26/8.13 "free": ["X26"], 28.26/8.13 "exprvars": [] 28.26/8.13 } 28.26/8.13 }, 28.26/8.13 "144": { 28.26/8.13 "goal": [ 28.26/8.13 { 28.26/8.13 "clause": -1, 28.26/8.13 "scope": 2, 28.26/8.13 "term": null 28.26/8.13 }, 28.26/8.13 { 28.26/8.13 "clause": 1, 28.26/8.13 "scope": 1, 28.26/8.13 "term": "(color_map T1 T8)" 28.26/8.13 } 28.26/8.13 ], 28.26/8.13 "kb": { 28.26/8.13 "nonunifying": [], 28.26/8.13 "intvars": {}, 28.26/8.13 "arithmetic": { 28.26/8.13 "type": "PlainIntegerRelationState", 28.26/8.13 "relations": [] 28.26/8.13 }, 28.26/8.13 "ground": ["T8"], 28.26/8.13 "free": [], 28.26/8.13 "exprvars": [] 28.26/8.13 } 28.26/8.13 }, 28.26/8.13 "2": { 28.26/8.13 "goal": [{ 28.26/8.13 "clause": -1, 28.26/8.13 "scope": -1, 28.26/8.13 "term": "(color_map T1 T2)" 28.26/8.13 }], 28.26/8.13 "kb": { 28.26/8.13 "nonunifying": [], 28.26/8.13 "intvars": {}, 28.26/8.13 "arithmetic": { 28.26/8.13 "type": "PlainIntegerRelationState", 28.26/8.13 "relations": [] 28.26/8.13 }, 28.26/8.13 "ground": ["T2"], 28.26/8.13 "free": [], 28.26/8.13 "exprvars": [] 28.26/8.13 } 28.26/8.13 }, 28.26/8.13 "662": { 28.26/8.13 "goal": [{ 28.26/8.13 "clause": -1, 28.26/8.13 "scope": -1, 28.26/8.13 "term": "(member T116 T115)" 28.26/8.13 }], 28.26/8.13 "kb": { 28.26/8.13 "nonunifying": [], 28.26/8.13 "intvars": {}, 28.26/8.13 "arithmetic": { 28.26/8.13 "type": "PlainIntegerRelationState", 28.26/8.13 "relations": [] 28.26/8.13 }, 28.26/8.13 "ground": ["T115"], 28.26/8.13 "free": [], 28.26/8.13 "exprvars": [] 28.26/8.13 } 28.26/8.13 }, 28.26/8.13 "245": { 28.26/8.13 "goal": [{ 28.26/8.13 "clause": -1, 28.26/8.13 "scope": -1, 28.26/8.13 "term": "(select T26 T25 X26)" 28.26/8.13 }], 28.26/8.13 "kb": { 28.26/8.13 "nonunifying": [], 28.26/8.13 "intvars": {}, 28.26/8.13 "arithmetic": { 28.26/8.13 "type": "PlainIntegerRelationState", 28.26/8.13 "relations": [] 28.26/8.13 }, 28.26/8.13 "ground": ["T25"], 28.26/8.13 "free": ["X26"], 28.26/8.13 "exprvars": [] 28.26/8.13 } 28.26/8.13 }, 28.26/8.13 "663": { 28.26/8.13 "goal": [], 28.26/8.13 "kb": { 28.26/8.13 "nonunifying": [], 28.26/8.13 "intvars": {}, 28.26/8.13 "arithmetic": { 28.26/8.13 "type": "PlainIntegerRelationState", 28.26/8.13 "relations": [] 28.26/8.13 }, 28.26/8.13 "ground": [], 28.26/8.13 "free": [], 28.26/8.13 "exprvars": [] 28.26/8.13 } 28.26/8.13 }, 28.26/8.13 "301": { 28.26/8.13 "goal": [{ 28.26/8.13 "clause": 3, 28.26/8.13 "scope": 3, 28.26/8.13 "term": "(select T26 T25 X26)" 28.26/8.13 }], 28.26/8.13 "kb": { 28.26/8.13 "nonunifying": [], 28.26/8.13 "intvars": {}, 28.26/8.13 "arithmetic": { 28.26/8.13 "type": "PlainIntegerRelationState", 28.26/8.13 "relations": [] 28.26/8.13 }, 28.26/8.13 "ground": ["T25"], 28.26/8.13 "free": ["X26"], 28.26/8.13 "exprvars": [] 28.26/8.13 } 28.26/8.13 }, 28.26/8.13 "643": { 28.26/8.13 "goal": [{ 28.26/8.13 "clause": -1, 28.26/8.13 "scope": -1, 28.26/8.13 "term": "(members T34 T33)" 28.26/8.13 }], 28.26/8.13 "kb": { 28.26/8.13 "nonunifying": [], 28.26/8.13 "intvars": {}, 28.26/8.13 "arithmetic": { 28.26/8.13 "type": "PlainIntegerRelationState", 28.26/8.13 "relations": [] 28.26/8.13 }, 28.26/8.13 "ground": ["T33"], 28.26/8.13 "free": [], 28.26/8.13 "exprvars": [] 28.26/8.13 } 28.26/8.13 }, 28.26/8.13 "105": { 28.26/8.13 "goal": [{ 28.26/8.13 "clause": 1, 28.26/8.13 "scope": 1, 28.26/8.13 "term": "(color_map T1 T2)" 28.26/8.13 }], 28.26/8.13 "kb": { 28.26/8.13 "nonunifying": [[ 28.26/8.13 "(color_map T1 T2)", 28.26/8.13 "(color_map (. X6 X7) X8)" 28.26/8.13 ]], 28.26/8.13 "intvars": {}, 28.26/8.13 "arithmetic": { 28.26/8.13 "type": "PlainIntegerRelationState", 28.26/8.13 "relations": [] 28.26/8.13 }, 28.26/8.13 "ground": ["T2"], 28.26/8.13 "free": [ 28.26/8.13 "X6", 28.26/8.13 "X7", 28.26/8.13 "X8" 28.26/8.13 ], 28.26/8.13 "exprvars": [] 28.26/8.13 } 28.26/8.13 }, 28.26/8.13 "303": { 28.26/8.13 "goal": [{ 28.26/8.13 "clause": 4, 28.26/8.13 "scope": 3, 28.26/8.13 "term": "(select T26 T25 X26)" 28.26/8.13 }], 28.26/8.13 "kb": { 28.26/8.13 "nonunifying": [], 28.26/8.13 "intvars": {}, 28.26/8.13 "arithmetic": { 28.26/8.13 "type": "PlainIntegerRelationState", 28.26/8.13 "relations": [] 28.26/8.13 }, 28.26/8.13 "ground": ["T25"], 28.26/8.13 "free": ["X26"], 28.26/8.13 "exprvars": [] 28.26/8.13 } 28.26/8.13 }, 28.26/8.13 "644": { 28.26/8.13 "goal": [{ 28.26/8.13 "clause": -1, 28.26/8.13 "scope": -1, 28.26/8.13 "term": "(color_map T67 T25)" 28.26/8.13 }], 28.26/8.13 "kb": { 28.26/8.13 "nonunifying": [], 28.26/8.13 "intvars": {}, 28.26/8.13 "arithmetic": { 28.26/8.13 "type": "PlainIntegerRelationState", 28.26/8.13 "relations": [] 28.26/8.13 }, 28.26/8.13 "ground": ["T25"], 28.26/8.13 "free": [], 28.26/8.13 "exprvars": [] 28.26/8.13 } 28.26/8.13 }, 28.26/8.13 "645": { 28.26/8.13 "goal": [ 28.26/8.13 { 28.26/8.13 "clause": 5, 28.26/8.13 "scope": 4, 28.26/8.13 "term": "(members T34 T33)" 28.26/8.13 }, 28.26/8.13 { 28.26/8.13 "clause": 6, 28.26/8.13 "scope": 4, 28.26/8.13 "term": "(members T34 T33)" 28.26/8.13 } 28.26/8.13 ], 28.26/8.13 "kb": { 28.26/8.13 "nonunifying": [], 28.26/8.13 "intvars": {}, 28.26/8.13 "arithmetic": { 28.26/8.13 "type": "PlainIntegerRelationState", 28.26/8.13 "relations": [] 28.26/8.13 }, 28.26/8.13 "ground": ["T33"], 28.26/8.13 "free": [], 28.26/8.13 "exprvars": [] 28.26/8.13 } 28.26/8.13 }, 28.26/8.13 "646": { 28.26/8.13 "goal": [{ 28.26/8.13 "clause": 5, 28.26/8.13 "scope": 4, 28.26/8.13 "term": "(members T34 T33)" 28.26/8.13 }], 28.26/8.13 "kb": { 28.26/8.13 "nonunifying": [], 28.26/8.13 "intvars": {}, 28.26/8.13 "arithmetic": { 28.26/8.13 "type": "PlainIntegerRelationState", 28.26/8.13 "relations": [] 28.26/8.13 }, 28.26/8.13 "ground": ["T33"], 28.26/8.13 "free": [], 28.26/8.13 "exprvars": [] 28.26/8.13 } 28.26/8.13 }, 28.26/8.13 "647": { 28.26/8.13 "goal": [{ 28.26/8.13 "clause": 6, 28.26/8.13 "scope": 4, 28.26/8.13 "term": "(members T34 T33)" 28.26/8.13 }], 28.26/8.13 "kb": { 28.26/8.13 "nonunifying": [], 28.26/8.13 "intvars": {}, 28.26/8.13 "arithmetic": { 28.26/8.13 "type": "PlainIntegerRelationState", 28.26/8.13 "relations": [] 28.26/8.13 }, 28.26/8.13 "ground": ["T33"], 28.26/8.13 "free": [], 28.26/8.13 "exprvars": [] 28.26/8.13 } 28.26/8.13 }, 28.26/8.13 "307": { 28.26/8.13 "goal": [{ 28.26/8.13 "clause": -1, 28.26/8.13 "scope": -1, 28.26/8.13 "term": "(true)" 28.26/8.13 }], 28.26/8.13 "kb": { 28.26/8.13 "nonunifying": [], 28.26/8.13 "intvars": {}, 28.26/8.13 "arithmetic": { 28.26/8.13 "type": "PlainIntegerRelationState", 28.26/8.13 "relations": [] 28.26/8.13 }, 28.26/8.13 "ground": [], 28.26/8.13 "free": [], 28.26/8.13 "exprvars": [] 28.26/8.13 } 28.26/8.13 }, 28.26/8.13 "648": { 28.26/8.13 "goal": [{ 28.26/8.13 "clause": -1, 28.26/8.13 "scope": -1, 28.26/8.13 "term": "(',' (member T86 T85) (members T87 T85))" 28.26/8.13 }], 28.26/8.13 "kb": { 28.26/8.13 "nonunifying": [], 28.26/8.13 "intvars": {}, 28.26/8.13 "arithmetic": { 28.26/8.13 "type": "PlainIntegerRelationState", 28.26/8.13 "relations": [] 28.26/8.13 }, 28.26/8.13 "ground": ["T85"], 28.26/8.13 "free": [], 28.26/8.13 "exprvars": [] 28.26/8.13 } 28.26/8.13 }, 28.26/8.13 "308": { 28.26/8.13 "goal": [], 28.26/8.13 "kb": { 28.26/8.13 "nonunifying": [], 28.26/8.13 "intvars": {}, 28.26/8.13 "arithmetic": { 28.26/8.13 "type": "PlainIntegerRelationState", 28.26/8.13 "relations": [] 28.26/8.13 }, 28.26/8.13 "ground": [], 28.26/8.13 "free": [], 28.26/8.13 "exprvars": [] 28.26/8.13 } 28.26/8.13 }, 28.26/8.13 "649": { 28.26/8.13 "goal": [], 28.26/8.13 "kb": { 28.26/8.13 "nonunifying": [], 28.26/8.13 "intvars": {}, 28.26/8.13 "arithmetic": { 28.26/8.13 "type": "PlainIntegerRelationState", 28.26/8.13 "relations": [] 28.26/8.13 }, 28.26/8.13 "ground": [], 28.26/8.13 "free": [], 28.26/8.13 "exprvars": [] 28.26/8.13 } 28.26/8.13 } 28.26/8.13 }, 28.26/8.13 "edges": [ 28.26/8.13 { 28.26/8.13 "from": 2, 28.26/8.13 "to": 68, 28.26/8.13 "label": "CASE" 28.26/8.13 }, 28.26/8.13 { 28.26/8.13 "from": 68, 28.26/8.13 "to": 93, 28.26/8.13 "label": "EVAL with clause\ncolor_map(.(X6, X7), X8) :- ','(color_region(X6, X8), color_map(X7, X8)).\nand substitutionX6 -> T9,\nX7 -> T10,\nT1 -> .(T9, T10),\nT2 -> T8,\nX8 -> T8,\nT6 -> T9,\nT7 -> T10" 28.26/8.13 }, 28.26/8.13 { 28.26/8.13 "from": 68, 28.26/8.13 "to": 105, 28.26/8.13 "label": "EVAL-BACKTRACK" 28.26/8.13 }, 28.26/8.13 { 28.26/8.13 "from": 93, 28.26/8.13 "to": 112, 28.26/8.13 "label": "CASE" 28.26/8.13 }, 28.26/8.13 { 28.26/8.13 "from": 105, 28.26/8.13 "to": 679, 28.26/8.13 "label": "EVAL with clause\ncolor_map([], X129).\nand substitutionT1 -> [],\nT2 -> T134,\nX129 -> T134" 28.26/8.13 }, 28.26/8.13 { 28.26/8.13 "from": 105, 28.26/8.13 "to": 680, 28.26/8.13 "label": "EVAL-BACKTRACK" 28.26/8.13 }, 28.26/8.13 { 28.26/8.13 "from": 112, 28.26/8.13 "to": 141, 28.26/8.13 "label": "PARALLEL" 28.26/8.13 }, 28.26/8.13 { 28.26/8.13 "from": 112, 28.26/8.13 "to": 144, 28.26/8.13 "label": "PARALLEL" 28.26/8.13 }, 28.26/8.13 { 28.26/8.13 "from": 141, 28.26/8.13 "to": 187, 28.26/8.13 "label": "EVAL with clause\ncolor_region(region(X23, X24), X25) :- ','(select(X23, X25, X26), members(X24, X26)).\nand substitutionX23 -> T26,\nX24 -> T27,\nT9 -> region(T26, T27),\nT8 -> T25,\nX25 -> T25,\nT23 -> T26,\nT24 -> T27,\nT10 -> T28" 28.26/8.13 }, 28.26/8.13 { 28.26/8.13 "from": 141, 28.26/8.13 "to": 193, 28.26/8.13 "label": "EVAL-BACKTRACK" 28.26/8.13 }, 28.26/8.13 { 28.26/8.13 "from": 144, 28.26/8.13 "to": 673, 28.26/8.13 "label": "FAILURE" 28.26/8.13 }, 28.26/8.13 { 28.26/8.13 "from": 187, 28.26/8.13 "to": 245, 28.26/8.13 "label": "SPLIT 1" 28.26/8.13 }, 28.26/8.13 { 28.26/8.13 "from": 187, 28.26/8.13 "to": 250, 28.26/8.13 "label": "SPLIT 2\nnew knowledge:\nT26 is ground\nT25 is ground\nT33 is ground\nreplacements:X26 -> T33,\nT27 -> T34,\nT28 -> T35" 28.26/8.13 }, 28.26/8.13 { 28.26/8.13 "from": 245, 28.26/8.13 "to": 285, 28.26/8.13 "label": "CASE" 28.26/8.13 }, 28.26/8.13 { 28.26/8.13 "from": 250, 28.26/8.13 "to": 643, 28.26/8.13 "label": "SPLIT 1" 28.26/8.13 }, 28.26/8.13 { 28.26/8.13 "from": 250, 28.26/8.13 "to": 644, 28.26/8.13 "label": "SPLIT 2\nnew knowledge:\nT34 is ground\nT33 is ground\nreplacements:T35 -> T67" 28.26/8.13 }, 28.26/8.13 { 28.26/8.13 "from": 285, 28.26/8.13 "to": 301, 28.26/8.13 "label": "PARALLEL" 28.26/8.13 }, 28.26/8.13 { 28.26/8.13 "from": 285, 28.26/8.13 "to": 303, 28.26/8.13 "label": "PARALLEL" 28.26/8.13 }, 28.26/8.13 { 28.26/8.13 "from": 301, 28.26/8.13 "to": 307, 28.26/8.13 "label": "EVAL with clause\nselect(X43, .(X43, X44), X44).\nand substitutionT26 -> T48,\nX43 -> T48,\nX44 -> T49,\nT25 -> .(T48, T49),\nX26 -> T49" 28.26/8.13 }, 28.26/8.13 { 28.26/8.13 "from": 301, 28.26/8.13 "to": 308, 28.26/8.13 "label": "EVAL-BACKTRACK" 28.26/8.13 }, 28.26/8.13 { 28.26/8.13 "from": 303, 28.26/8.13 "to": 382, 28.26/8.13 "label": "EVAL with clause\nselect(X55, .(X56, X57), .(X56, X58)) :- select(X55, X57, X58).\nand substitutionT26 -> T59,\nX55 -> T59,\nX56 -> T57,\nX57 -> T58,\nT25 -> .(T57, T58),\nX58 -> X59,\nX26 -> .(T57, X59),\nT56 -> T59" 28.26/8.13 }, 28.26/8.13 { 28.26/8.13 "from": 303, 28.26/8.13 "to": 394, 28.26/8.13 "label": "EVAL-BACKTRACK" 28.26/8.13 }, 28.26/8.13 { 28.26/8.13 "from": 307, 28.26/8.13 "to": 312, 28.26/8.13 "label": "SUCCESS" 28.26/8.13 }, 28.26/8.13 { 28.26/8.13 "from": 382, 28.26/8.13 "to": 245, 28.26/8.13 "label": "INSTANCE with matching:\nT26 -> T59\nT25 -> T58\nX26 -> X59" 28.26/8.13 }, 28.26/8.13 { 28.26/8.13 "from": 643, 28.26/8.13 "to": 645, 28.26/8.13 "label": "CASE" 28.26/8.13 }, 28.26/8.13 { 28.26/8.13 "from": 644, 28.26/8.13 "to": 2, 28.26/8.13 "label": "INSTANCE with matching:\nT1 -> T67\nT2 -> T25" 28.26/8.13 }, 28.26/8.13 { 28.26/8.13 "from": 645, 28.26/8.13 "to": 646, 28.26/8.13 "label": "PARALLEL" 28.26/8.13 }, 28.26/8.13 { 28.26/8.13 "from": 645, 28.26/8.13 "to": 647, 28.26/8.13 "label": "PARALLEL" 28.26/8.13 }, 28.26/8.13 { 28.26/8.13 "from": 646, 28.26/8.13 "to": 648, 28.26/8.13 "label": "EVAL with clause\nmembers(.(X82, X83), X84) :- ','(member(X82, X84), members(X83, X84)).\nand substitutionX82 -> T86,\nX83 -> T87,\nT34 -> .(T86, T87),\nT33 -> T85,\nX84 -> T85,\nT83 -> T86,\nT84 -> T87" 28.26/8.13 }, 28.26/8.13 { 28.26/8.13 "from": 646, 28.26/8.13 "to": 649, 28.26/8.13 "label": "EVAL-BACKTRACK" 28.26/8.13 }, 28.26/8.13 { 28.26/8.13 "from": 647, 28.26/8.13 "to": 670, 28.26/8.13 "label": "EVAL with clause\nmembers([], X121).\nand substitutionT34 -> [],\nT33 -> T126,\nX121 -> T126" 28.26/8.13 }, 28.26/8.13 { 28.26/8.13 "from": 647, 28.26/8.13 "to": 671, 28.26/8.13 "label": "EVAL-BACKTRACK" 28.26/8.13 }, 28.26/8.13 { 28.26/8.13 "from": 648, 28.26/8.13 "to": 650, 28.26/8.13 "label": "SPLIT 1" 28.26/8.13 }, 28.26/8.13 { 28.26/8.13 "from": 648, 28.26/8.13 "to": 651, 28.26/8.13 "label": "SPLIT 2\nnew knowledge:\nT86 is ground\nT85 is ground\nreplacements:T87 -> T92" 28.26/8.13 }, 28.26/8.13 { 28.26/8.13 "from": 650, 28.26/8.13 "to": 652, 28.26/8.13 "label": "CASE" 28.26/8.13 }, 28.26/8.13 { 28.26/8.13 "from": 651, 28.26/8.13 "to": 643, 28.26/8.13 "label": "INSTANCE with matching:\nT34 -> T92\nT33 -> T85" 28.26/8.13 }, 28.26/8.13 { 28.26/8.13 "from": 652, 28.26/8.13 "to": 653, 28.26/8.13 "label": "PARALLEL" 28.26/8.13 }, 28.26/8.13 { 28.26/8.13 "from": 652, 28.26/8.13 "to": 654, 28.26/8.13 "label": "PARALLEL" 28.26/8.13 }, 28.26/8.13 { 28.26/8.13 "from": 653, 28.26/8.13 "to": 655, 28.26/8.13 "label": "EVAL with clause\nmember(X101, .(X101, X102)).\nand substitutionT86 -> T105,\nX101 -> T105,\nX102 -> T106,\nT85 -> .(T105, T106)" 28.26/8.13 }, 28.26/8.13 { 28.26/8.13 "from": 653, 28.26/8.13 "to": 656, 28.26/8.13 "label": "EVAL-BACKTRACK" 28.26/8.13 }, 28.26/8.13 { 28.26/8.13 "from": 654, 28.26/8.13 "to": 662, 28.26/8.13 "label": "EVAL with clause\nmember(X109, .(X110, X111)) :- member(X109, X111).\nand substitutionT86 -> T116,\nX109 -> T116,\nX110 -> T114,\nX111 -> T115,\nT85 -> .(T114, T115),\nT113 -> T116" 28.26/8.13 }, 28.26/8.13 { 28.26/8.13 "from": 654, 28.26/8.13 "to": 663, 28.26/8.13 "label": "EVAL-BACKTRACK" 28.26/8.13 }, 28.26/8.13 { 28.26/8.13 "from": 655, 28.26/8.13 "to": 657, 28.26/8.13 "label": "SUCCESS" 28.26/8.13 }, 28.26/8.13 { 28.26/8.13 "from": 662, 28.26/8.13 "to": 650, 28.26/8.13 "label": "INSTANCE with matching:\nT86 -> T116\nT85 -> T115" 28.26/8.13 }, 28.26/8.13 { 28.26/8.13 "from": 670, 28.26/8.13 "to": 672, 28.26/8.13 "label": "SUCCESS" 28.26/8.14 }, 28.26/8.14 { 28.26/8.14 "from": 673, 28.26/8.14 "to": 676, 28.26/8.14 "label": "EVAL with clause\ncolor_map([], X127).\nand substitutionT1 -> [],\nT8 -> T132,\nX127 -> T132" 28.26/8.14 }, 28.26/8.14 { 28.26/8.14 "from": 673, 28.26/8.14 "to": 677, 28.26/8.14 "label": "EVAL-BACKTRACK" 28.26/8.14 }, 28.26/8.14 { 28.26/8.14 "from": 676, 28.26/8.14 "to": 678, 28.26/8.14 "label": "SUCCESS" 28.26/8.14 }, 28.26/8.14 { 28.26/8.14 "from": 679, 28.26/8.14 "to": 681, 28.26/8.14 "label": "SUCCESS" 28.26/8.14 } 28.26/8.14 ], 28.26/8.14 "type": "Graph" 28.26/8.14 } 28.26/8.14 } 28.26/8.14 28.26/8.14 ---------------------------------------- 28.26/8.14 28.26/8.14 (66) 28.26/8.14 Obligation: 28.26/8.14 Triples: 28.26/8.14 28.26/8.14 selectA(X1, .(X2, X3), .(X2, X4)) :- selectA(X1, X3, X4). 28.26/8.14 membersC(.(X1, X2), X3) :- memberD(X1, X3). 28.26/8.14 membersC(.(X1, X2), X3) :- ','(membercD(X1, X3), membersC(X2, X3)). 28.26/8.14 memberD(X1, .(X2, X3)) :- memberD(X1, X3). 28.26/8.14 color_mapB(.(region(X1, X2), X3), X4) :- selectA(X1, X4, X5). 28.26/8.14 color_mapB(.(region(X1, X2), X3), X4) :- ','(selectcA(X1, X4, X5), membersC(X2, X5)). 28.26/8.14 color_mapB(.(region(X1, X2), X3), X4) :- ','(selectcA(X1, X4, X5), ','(memberscC(X2, X5), color_mapB(X3, X4))). 28.26/8.14 28.26/8.14 Clauses: 28.26/8.14 28.26/8.14 selectcA(X1, .(X1, X2), X2). 28.26/8.14 selectcA(X1, .(X2, X3), .(X2, X4)) :- selectcA(X1, X3, X4). 28.26/8.14 color_mapcB(.(region(X1, X2), X3), X4) :- ','(selectcA(X1, X4, X5), ','(memberscC(X2, X5), color_mapcB(X3, X4))). 28.26/8.14 color_mapcB([], X1). 28.26/8.14 color_mapcB([], X1). 28.26/8.14 memberscC(.(X1, X2), X3) :- ','(membercD(X1, X3), memberscC(X2, X3)). 28.26/8.14 memberscC([], X1). 28.26/8.14 membercD(X1, .(X1, X2)). 28.26/8.14 membercD(X1, .(X2, X3)) :- membercD(X1, X3). 28.26/8.14 28.26/8.14 Afs: 28.26/8.14 28.26/8.14 color_mapB(x1, x2) = color_mapB(x2) 28.26/8.14 28.26/8.14 28.26/8.14 ---------------------------------------- 28.26/8.14 28.26/8.14 (67) TriplesToPiDPProof (SOUND) 28.26/8.14 We use the technique of [DT09]. With regard to the inferred argument filtering the predicates were used in the following modes: 28.26/8.14 28.26/8.14 color_mapB_in_2: (f,b) 28.26/8.14 28.26/8.14 selectA_in_3: (f,b,f) 28.26/8.14 28.26/8.14 selectcA_in_3: (f,b,f) 28.26/8.14 28.26/8.14 membersC_in_2: (f,b) 28.26/8.14 28.26/8.14 memberD_in_2: (f,b) 28.26/8.14 28.26/8.14 membercD_in_2: (f,b) 28.26/8.14 28.26/8.14 memberscC_in_2: (f,b) 28.26/8.14 28.26/8.14 Transforming TRIPLES into the following Term Rewriting System: 28.26/8.14 28.26/8.14 Pi DP problem: 28.26/8.14 The TRS P consists of the following rules: 28.26/8.14 28.26/8.14 COLOR_MAPB_IN_AG(.(region(X1, X2), X3), X4) -> U6_AG(X1, X2, X3, X4, selectA_in_aga(X1, X4, X5)) 28.26/8.14 COLOR_MAPB_IN_AG(.(region(X1, X2), X3), X4) -> SELECTA_IN_AGA(X1, X4, X5) 28.26/8.14 SELECTA_IN_AGA(X1, .(X2, X3), .(X2, X4)) -> U1_AGA(X1, X2, X3, X4, selectA_in_aga(X1, X3, X4)) 28.26/8.14 SELECTA_IN_AGA(X1, .(X2, X3), .(X2, X4)) -> SELECTA_IN_AGA(X1, X3, X4) 28.26/8.14 COLOR_MAPB_IN_AG(.(region(X1, X2), X3), X4) -> U7_AG(X1, X2, X3, X4, selectcA_in_aga(X1, X4, X5)) 28.26/8.14 U7_AG(X1, X2, X3, X4, selectcA_out_aga(X1, X4, X5)) -> U8_AG(X1, X2, X3, X4, membersC_in_ag(X2, X5)) 28.26/8.14 U7_AG(X1, X2, X3, X4, selectcA_out_aga(X1, X4, X5)) -> MEMBERSC_IN_AG(X2, X5) 28.26/8.14 MEMBERSC_IN_AG(.(X1, X2), X3) -> U2_AG(X1, X2, X3, memberD_in_ag(X1, X3)) 28.26/8.14 MEMBERSC_IN_AG(.(X1, X2), X3) -> MEMBERD_IN_AG(X1, X3) 28.26/8.14 MEMBERD_IN_AG(X1, .(X2, X3)) -> U5_AG(X1, X2, X3, memberD_in_ag(X1, X3)) 28.26/8.14 MEMBERD_IN_AG(X1, .(X2, X3)) -> MEMBERD_IN_AG(X1, X3) 28.26/8.14 MEMBERSC_IN_AG(.(X1, X2), X3) -> U3_AG(X1, X2, X3, membercD_in_ag(X1, X3)) 28.26/8.14 U3_AG(X1, X2, X3, membercD_out_ag(X1, X3)) -> U4_AG(X1, X2, X3, membersC_in_ag(X2, X3)) 28.26/8.14 U3_AG(X1, X2, X3, membercD_out_ag(X1, X3)) -> MEMBERSC_IN_AG(X2, X3) 28.26/8.14 U7_AG(X1, X2, X3, X4, selectcA_out_aga(X1, X4, X5)) -> U9_AG(X1, X2, X3, X4, memberscC_in_ag(X2, X5)) 28.26/8.14 U9_AG(X1, X2, X3, X4, memberscC_out_ag(X2, X5)) -> U10_AG(X1, X2, X3, X4, color_mapB_in_ag(X3, X4)) 28.26/8.14 U9_AG(X1, X2, X3, X4, memberscC_out_ag(X2, X5)) -> COLOR_MAPB_IN_AG(X3, X4) 28.26/8.14 28.26/8.14 The TRS R consists of the following rules: 28.26/8.14 28.26/8.14 selectcA_in_aga(X1, .(X1, X2), X2) -> selectcA_out_aga(X1, .(X1, X2), X2) 28.26/8.14 selectcA_in_aga(X1, .(X2, X3), .(X2, X4)) -> U12_aga(X1, X2, X3, X4, selectcA_in_aga(X1, X3, X4)) 28.26/8.14 U12_aga(X1, X2, X3, X4, selectcA_out_aga(X1, X3, X4)) -> selectcA_out_aga(X1, .(X2, X3), .(X2, X4)) 28.26/8.14 membercD_in_ag(X1, .(X1, X2)) -> membercD_out_ag(X1, .(X1, X2)) 28.26/8.14 membercD_in_ag(X1, .(X2, X3)) -> U18_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 28.26/8.14 U18_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> membercD_out_ag(X1, .(X2, X3)) 28.26/8.14 memberscC_in_ag(.(X1, X2), X3) -> U16_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 28.26/8.14 U16_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> U17_ag(X1, X2, X3, memberscC_in_ag(X2, X3)) 28.26/8.14 memberscC_in_ag([], X1) -> memberscC_out_ag([], X1) 28.26/8.14 U17_ag(X1, X2, X3, memberscC_out_ag(X2, X3)) -> memberscC_out_ag(.(X1, X2), X3) 28.26/8.14 28.26/8.14 The argument filtering Pi contains the following mapping: 28.26/8.14 color_mapB_in_ag(x1, x2) = color_mapB_in_ag(x2) 28.26/8.14 28.26/8.14 selectA_in_aga(x1, x2, x3) = selectA_in_aga(x2) 28.26/8.14 28.26/8.14 .(x1, x2) = .(x1, x2) 28.26/8.14 28.26/8.14 selectcA_in_aga(x1, x2, x3) = selectcA_in_aga(x2) 28.26/8.14 28.26/8.14 selectcA_out_aga(x1, x2, x3) = selectcA_out_aga(x1, x2, x3) 28.26/8.14 28.26/8.14 U12_aga(x1, x2, x3, x4, x5) = U12_aga(x2, x3, x5) 28.26/8.14 28.26/8.14 membersC_in_ag(x1, x2) = membersC_in_ag(x2) 28.26/8.14 28.26/8.14 memberD_in_ag(x1, x2) = memberD_in_ag(x2) 28.26/8.14 28.26/8.14 membercD_in_ag(x1, x2) = membercD_in_ag(x2) 28.26/8.14 28.26/8.14 membercD_out_ag(x1, x2) = membercD_out_ag(x1, x2) 28.26/8.14 28.26/8.14 U18_ag(x1, x2, x3, x4) = U18_ag(x2, x3, x4) 28.26/8.14 28.26/8.14 memberscC_in_ag(x1, x2) = memberscC_in_ag(x2) 28.26/8.14 28.26/8.14 U16_ag(x1, x2, x3, x4) = U16_ag(x3, x4) 28.26/8.14 28.26/8.14 U17_ag(x1, x2, x3, x4) = U17_ag(x1, x3, x4) 28.26/8.14 28.26/8.14 memberscC_out_ag(x1, x2) = memberscC_out_ag(x1, x2) 28.26/8.14 28.26/8.14 COLOR_MAPB_IN_AG(x1, x2) = COLOR_MAPB_IN_AG(x2) 28.26/8.14 28.26/8.14 U6_AG(x1, x2, x3, x4, x5) = U6_AG(x4, x5) 28.26/8.14 28.26/8.14 SELECTA_IN_AGA(x1, x2, x3) = SELECTA_IN_AGA(x2) 28.26/8.14 28.26/8.14 U1_AGA(x1, x2, x3, x4, x5) = U1_AGA(x2, x3, x5) 28.26/8.14 28.26/8.14 U7_AG(x1, x2, x3, x4, x5) = U7_AG(x4, x5) 28.26/8.14 28.26/8.14 U8_AG(x1, x2, x3, x4, x5) = U8_AG(x4, x5) 28.26/8.14 28.26/8.14 MEMBERSC_IN_AG(x1, x2) = MEMBERSC_IN_AG(x2) 28.26/8.14 28.26/8.14 U2_AG(x1, x2, x3, x4) = U2_AG(x3, x4) 28.26/8.14 28.26/8.14 MEMBERD_IN_AG(x1, x2) = MEMBERD_IN_AG(x2) 28.26/8.14 28.26/8.14 U5_AG(x1, x2, x3, x4) = U5_AG(x2, x3, x4) 28.26/8.14 28.26/8.14 U3_AG(x1, x2, x3, x4) = U3_AG(x3, x4) 28.26/8.14 28.26/8.14 U4_AG(x1, x2, x3, x4) = U4_AG(x3, x4) 28.26/8.14 28.26/8.14 U9_AG(x1, x2, x3, x4, x5) = U9_AG(x4, x5) 28.26/8.14 28.26/8.14 U10_AG(x1, x2, x3, x4, x5) = U10_AG(x4, x5) 28.26/8.14 28.26/8.14 28.26/8.14 We have to consider all (P,R,Pi)-chains 28.26/8.14 28.26/8.14 28.26/8.14 Infinitary Constructor Rewriting Termination of PiDP implies Termination of TRIPLES 28.26/8.14 28.26/8.14 28.26/8.14 28.26/8.14 ---------------------------------------- 28.26/8.14 28.26/8.14 (68) 28.26/8.14 Obligation: 28.26/8.14 Pi DP problem: 28.26/8.14 The TRS P consists of the following rules: 28.26/8.14 28.26/8.14 COLOR_MAPB_IN_AG(.(region(X1, X2), X3), X4) -> U6_AG(X1, X2, X3, X4, selectA_in_aga(X1, X4, X5)) 28.26/8.14 COLOR_MAPB_IN_AG(.(region(X1, X2), X3), X4) -> SELECTA_IN_AGA(X1, X4, X5) 28.26/8.14 SELECTA_IN_AGA(X1, .(X2, X3), .(X2, X4)) -> U1_AGA(X1, X2, X3, X4, selectA_in_aga(X1, X3, X4)) 28.26/8.14 SELECTA_IN_AGA(X1, .(X2, X3), .(X2, X4)) -> SELECTA_IN_AGA(X1, X3, X4) 28.26/8.14 COLOR_MAPB_IN_AG(.(region(X1, X2), X3), X4) -> U7_AG(X1, X2, X3, X4, selectcA_in_aga(X1, X4, X5)) 28.26/8.14 U7_AG(X1, X2, X3, X4, selectcA_out_aga(X1, X4, X5)) -> U8_AG(X1, X2, X3, X4, membersC_in_ag(X2, X5)) 28.26/8.14 U7_AG(X1, X2, X3, X4, selectcA_out_aga(X1, X4, X5)) -> MEMBERSC_IN_AG(X2, X5) 28.26/8.14 MEMBERSC_IN_AG(.(X1, X2), X3) -> U2_AG(X1, X2, X3, memberD_in_ag(X1, X3)) 28.26/8.14 MEMBERSC_IN_AG(.(X1, X2), X3) -> MEMBERD_IN_AG(X1, X3) 28.26/8.14 MEMBERD_IN_AG(X1, .(X2, X3)) -> U5_AG(X1, X2, X3, memberD_in_ag(X1, X3)) 28.26/8.14 MEMBERD_IN_AG(X1, .(X2, X3)) -> MEMBERD_IN_AG(X1, X3) 28.26/8.14 MEMBERSC_IN_AG(.(X1, X2), X3) -> U3_AG(X1, X2, X3, membercD_in_ag(X1, X3)) 28.26/8.14 U3_AG(X1, X2, X3, membercD_out_ag(X1, X3)) -> U4_AG(X1, X2, X3, membersC_in_ag(X2, X3)) 28.26/8.14 U3_AG(X1, X2, X3, membercD_out_ag(X1, X3)) -> MEMBERSC_IN_AG(X2, X3) 28.26/8.14 U7_AG(X1, X2, X3, X4, selectcA_out_aga(X1, X4, X5)) -> U9_AG(X1, X2, X3, X4, memberscC_in_ag(X2, X5)) 28.26/8.14 U9_AG(X1, X2, X3, X4, memberscC_out_ag(X2, X5)) -> U10_AG(X1, X2, X3, X4, color_mapB_in_ag(X3, X4)) 28.26/8.14 U9_AG(X1, X2, X3, X4, memberscC_out_ag(X2, X5)) -> COLOR_MAPB_IN_AG(X3, X4) 28.26/8.14 28.26/8.14 The TRS R consists of the following rules: 28.26/8.14 28.26/8.14 selectcA_in_aga(X1, .(X1, X2), X2) -> selectcA_out_aga(X1, .(X1, X2), X2) 28.26/8.14 selectcA_in_aga(X1, .(X2, X3), .(X2, X4)) -> U12_aga(X1, X2, X3, X4, selectcA_in_aga(X1, X3, X4)) 28.26/8.14 U12_aga(X1, X2, X3, X4, selectcA_out_aga(X1, X3, X4)) -> selectcA_out_aga(X1, .(X2, X3), .(X2, X4)) 28.26/8.14 membercD_in_ag(X1, .(X1, X2)) -> membercD_out_ag(X1, .(X1, X2)) 28.26/8.14 membercD_in_ag(X1, .(X2, X3)) -> U18_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 28.26/8.14 U18_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> membercD_out_ag(X1, .(X2, X3)) 28.26/8.14 memberscC_in_ag(.(X1, X2), X3) -> U16_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 28.26/8.14 U16_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> U17_ag(X1, X2, X3, memberscC_in_ag(X2, X3)) 28.26/8.14 memberscC_in_ag([], X1) -> memberscC_out_ag([], X1) 28.26/8.14 U17_ag(X1, X2, X3, memberscC_out_ag(X2, X3)) -> memberscC_out_ag(.(X1, X2), X3) 28.26/8.14 28.26/8.14 The argument filtering Pi contains the following mapping: 28.26/8.14 color_mapB_in_ag(x1, x2) = color_mapB_in_ag(x2) 28.26/8.14 28.26/8.14 selectA_in_aga(x1, x2, x3) = selectA_in_aga(x2) 28.26/8.14 28.26/8.14 .(x1, x2) = .(x1, x2) 28.26/8.14 28.26/8.14 selectcA_in_aga(x1, x2, x3) = selectcA_in_aga(x2) 28.26/8.14 28.26/8.14 selectcA_out_aga(x1, x2, x3) = selectcA_out_aga(x1, x2, x3) 28.26/8.14 28.26/8.14 U12_aga(x1, x2, x3, x4, x5) = U12_aga(x2, x3, x5) 28.26/8.14 28.26/8.14 membersC_in_ag(x1, x2) = membersC_in_ag(x2) 28.26/8.14 28.26/8.14 memberD_in_ag(x1, x2) = memberD_in_ag(x2) 28.26/8.14 28.26/8.14 membercD_in_ag(x1, x2) = membercD_in_ag(x2) 28.26/8.14 28.26/8.14 membercD_out_ag(x1, x2) = membercD_out_ag(x1, x2) 28.26/8.14 28.26/8.14 U18_ag(x1, x2, x3, x4) = U18_ag(x2, x3, x4) 28.26/8.14 28.26/8.14 memberscC_in_ag(x1, x2) = memberscC_in_ag(x2) 28.26/8.14 28.26/8.14 U16_ag(x1, x2, x3, x4) = U16_ag(x3, x4) 28.26/8.14 28.26/8.14 U17_ag(x1, x2, x3, x4) = U17_ag(x1, x3, x4) 28.26/8.14 28.26/8.14 memberscC_out_ag(x1, x2) = memberscC_out_ag(x1, x2) 28.26/8.14 28.26/8.14 COLOR_MAPB_IN_AG(x1, x2) = COLOR_MAPB_IN_AG(x2) 28.26/8.14 28.26/8.14 U6_AG(x1, x2, x3, x4, x5) = U6_AG(x4, x5) 28.26/8.14 28.26/8.14 SELECTA_IN_AGA(x1, x2, x3) = SELECTA_IN_AGA(x2) 28.26/8.14 28.26/8.14 U1_AGA(x1, x2, x3, x4, x5) = U1_AGA(x2, x3, x5) 28.26/8.14 28.26/8.14 U7_AG(x1, x2, x3, x4, x5) = U7_AG(x4, x5) 28.26/8.14 28.26/8.14 U8_AG(x1, x2, x3, x4, x5) = U8_AG(x4, x5) 28.26/8.14 28.26/8.14 MEMBERSC_IN_AG(x1, x2) = MEMBERSC_IN_AG(x2) 28.26/8.14 28.26/8.14 U2_AG(x1, x2, x3, x4) = U2_AG(x3, x4) 28.26/8.14 28.26/8.14 MEMBERD_IN_AG(x1, x2) = MEMBERD_IN_AG(x2) 28.26/8.14 28.26/8.14 U5_AG(x1, x2, x3, x4) = U5_AG(x2, x3, x4) 28.26/8.14 28.26/8.14 U3_AG(x1, x2, x3, x4) = U3_AG(x3, x4) 28.26/8.14 28.26/8.14 U4_AG(x1, x2, x3, x4) = U4_AG(x3, x4) 28.26/8.14 28.26/8.14 U9_AG(x1, x2, x3, x4, x5) = U9_AG(x4, x5) 28.26/8.14 28.26/8.14 U10_AG(x1, x2, x3, x4, x5) = U10_AG(x4, x5) 28.26/8.14 28.26/8.14 28.26/8.14 We have to consider all (P,R,Pi)-chains 28.26/8.14 ---------------------------------------- 28.26/8.14 28.26/8.14 (69) DependencyGraphProof (EQUIVALENT) 28.26/8.14 The approximation of the Dependency Graph [LOPSTR] contains 4 SCCs with 10 less nodes. 28.26/8.14 ---------------------------------------- 28.26/8.14 28.26/8.14 (70) 28.26/8.14 Complex Obligation (AND) 28.26/8.14 28.26/8.14 ---------------------------------------- 28.26/8.14 28.26/8.14 (71) 28.26/8.14 Obligation: 28.26/8.14 Pi DP problem: 28.26/8.14 The TRS P consists of the following rules: 28.26/8.14 28.26/8.14 MEMBERD_IN_AG(X1, .(X2, X3)) -> MEMBERD_IN_AG(X1, X3) 28.26/8.14 28.26/8.14 The TRS R consists of the following rules: 28.26/8.14 28.26/8.14 selectcA_in_aga(X1, .(X1, X2), X2) -> selectcA_out_aga(X1, .(X1, X2), X2) 28.26/8.14 selectcA_in_aga(X1, .(X2, X3), .(X2, X4)) -> U12_aga(X1, X2, X3, X4, selectcA_in_aga(X1, X3, X4)) 28.26/8.14 U12_aga(X1, X2, X3, X4, selectcA_out_aga(X1, X3, X4)) -> selectcA_out_aga(X1, .(X2, X3), .(X2, X4)) 28.26/8.14 membercD_in_ag(X1, .(X1, X2)) -> membercD_out_ag(X1, .(X1, X2)) 28.26/8.14 membercD_in_ag(X1, .(X2, X3)) -> U18_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 28.26/8.14 U18_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> membercD_out_ag(X1, .(X2, X3)) 28.26/8.14 memberscC_in_ag(.(X1, X2), X3) -> U16_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 28.26/8.14 U16_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> U17_ag(X1, X2, X3, memberscC_in_ag(X2, X3)) 28.26/8.14 memberscC_in_ag([], X1) -> memberscC_out_ag([], X1) 28.26/8.14 U17_ag(X1, X2, X3, memberscC_out_ag(X2, X3)) -> memberscC_out_ag(.(X1, X2), X3) 28.26/8.14 28.26/8.14 The argument filtering Pi contains the following mapping: 28.26/8.14 .(x1, x2) = .(x1, x2) 28.26/8.14 28.26/8.14 selectcA_in_aga(x1, x2, x3) = selectcA_in_aga(x2) 28.26/8.15 28.26/8.15 selectcA_out_aga(x1, x2, x3) = selectcA_out_aga(x1, x2, x3) 28.26/8.15 28.26/8.15 U12_aga(x1, x2, x3, x4, x5) = U12_aga(x2, x3, x5) 28.26/8.15 28.26/8.15 membercD_in_ag(x1, x2) = membercD_in_ag(x2) 28.26/8.15 28.26/8.15 membercD_out_ag(x1, x2) = membercD_out_ag(x1, x2) 28.26/8.15 28.26/8.15 U18_ag(x1, x2, x3, x4) = U18_ag(x2, x3, x4) 28.26/8.15 28.26/8.15 memberscC_in_ag(x1, x2) = memberscC_in_ag(x2) 28.26/8.15 28.26/8.15 U16_ag(x1, x2, x3, x4) = U16_ag(x3, x4) 28.26/8.15 28.26/8.15 U17_ag(x1, x2, x3, x4) = U17_ag(x1, x3, x4) 28.26/8.15 28.26/8.15 memberscC_out_ag(x1, x2) = memberscC_out_ag(x1, x2) 28.26/8.15 28.26/8.15 MEMBERD_IN_AG(x1, x2) = MEMBERD_IN_AG(x2) 28.26/8.15 28.26/8.15 28.26/8.15 We have to consider all (P,R,Pi)-chains 28.26/8.15 ---------------------------------------- 28.26/8.15 28.26/8.15 (72) UsableRulesProof (EQUIVALENT) 28.26/8.15 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 28.26/8.15 ---------------------------------------- 28.26/8.15 28.26/8.15 (73) 28.26/8.15 Obligation: 28.26/8.15 Pi DP problem: 28.26/8.15 The TRS P consists of the following rules: 28.26/8.15 28.26/8.15 MEMBERD_IN_AG(X1, .(X2, X3)) -> MEMBERD_IN_AG(X1, X3) 28.26/8.15 28.26/8.15 R is empty. 28.26/8.15 The argument filtering Pi contains the following mapping: 28.26/8.15 .(x1, x2) = .(x1, x2) 28.26/8.15 28.26/8.15 MEMBERD_IN_AG(x1, x2) = MEMBERD_IN_AG(x2) 28.26/8.15 28.26/8.15 28.26/8.15 We have to consider all (P,R,Pi)-chains 28.26/8.15 ---------------------------------------- 28.26/8.15 28.26/8.15 (74) PiDPToQDPProof (SOUND) 28.26/8.15 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 28.26/8.15 ---------------------------------------- 28.26/8.15 28.26/8.15 (75) 28.26/8.15 Obligation: 28.26/8.15 Q DP problem: 28.26/8.15 The TRS P consists of the following rules: 28.26/8.15 28.26/8.15 MEMBERD_IN_AG(.(X2, X3)) -> MEMBERD_IN_AG(X3) 28.26/8.15 28.26/8.15 R is empty. 28.26/8.15 Q is empty. 28.26/8.15 We have to consider all (P,Q,R)-chains. 28.26/8.15 ---------------------------------------- 28.26/8.15 28.26/8.15 (76) QDPSizeChangeProof (EQUIVALENT) 28.26/8.15 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. 28.26/8.15 28.26/8.15 From the DPs we obtained the following set of size-change graphs: 28.26/8.15 *MEMBERD_IN_AG(.(X2, X3)) -> MEMBERD_IN_AG(X3) 28.26/8.15 The graph contains the following edges 1 > 1 28.26/8.15 28.26/8.15 28.26/8.15 ---------------------------------------- 28.26/8.15 28.26/8.15 (77) 28.26/8.15 YES 28.26/8.15 28.26/8.15 ---------------------------------------- 28.26/8.15 28.26/8.15 (78) 28.26/8.15 Obligation: 28.26/8.15 Pi DP problem: 28.26/8.15 The TRS P consists of the following rules: 28.26/8.15 28.26/8.15 MEMBERSC_IN_AG(.(X1, X2), X3) -> U3_AG(X1, X2, X3, membercD_in_ag(X1, X3)) 28.26/8.15 U3_AG(X1, X2, X3, membercD_out_ag(X1, X3)) -> MEMBERSC_IN_AG(X2, X3) 28.26/8.15 28.26/8.15 The TRS R consists of the following rules: 28.26/8.15 28.26/8.15 selectcA_in_aga(X1, .(X1, X2), X2) -> selectcA_out_aga(X1, .(X1, X2), X2) 28.26/8.15 selectcA_in_aga(X1, .(X2, X3), .(X2, X4)) -> U12_aga(X1, X2, X3, X4, selectcA_in_aga(X1, X3, X4)) 28.26/8.15 U12_aga(X1, X2, X3, X4, selectcA_out_aga(X1, X3, X4)) -> selectcA_out_aga(X1, .(X2, X3), .(X2, X4)) 28.26/8.15 membercD_in_ag(X1, .(X1, X2)) -> membercD_out_ag(X1, .(X1, X2)) 28.26/8.15 membercD_in_ag(X1, .(X2, X3)) -> U18_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 28.26/8.15 U18_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> membercD_out_ag(X1, .(X2, X3)) 28.26/8.15 memberscC_in_ag(.(X1, X2), X3) -> U16_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 28.26/8.15 U16_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> U17_ag(X1, X2, X3, memberscC_in_ag(X2, X3)) 28.26/8.15 memberscC_in_ag([], X1) -> memberscC_out_ag([], X1) 28.26/8.15 U17_ag(X1, X2, X3, memberscC_out_ag(X2, X3)) -> memberscC_out_ag(.(X1, X2), X3) 28.26/8.15 28.26/8.15 The argument filtering Pi contains the following mapping: 28.26/8.15 .(x1, x2) = .(x1, x2) 28.26/8.15 28.26/8.15 selectcA_in_aga(x1, x2, x3) = selectcA_in_aga(x2) 28.26/8.15 28.26/8.15 selectcA_out_aga(x1, x2, x3) = selectcA_out_aga(x1, x2, x3) 28.26/8.15 28.26/8.15 U12_aga(x1, x2, x3, x4, x5) = U12_aga(x2, x3, x5) 28.26/8.15 28.26/8.15 membercD_in_ag(x1, x2) = membercD_in_ag(x2) 28.26/8.15 28.26/8.15 membercD_out_ag(x1, x2) = membercD_out_ag(x1, x2) 28.26/8.15 28.26/8.15 U18_ag(x1, x2, x3, x4) = U18_ag(x2, x3, x4) 28.26/8.15 28.26/8.15 memberscC_in_ag(x1, x2) = memberscC_in_ag(x2) 28.26/8.15 28.26/8.15 U16_ag(x1, x2, x3, x4) = U16_ag(x3, x4) 28.26/8.15 28.26/8.15 U17_ag(x1, x2, x3, x4) = U17_ag(x1, x3, x4) 28.26/8.15 28.26/8.15 memberscC_out_ag(x1, x2) = memberscC_out_ag(x1, x2) 28.26/8.15 28.26/8.15 MEMBERSC_IN_AG(x1, x2) = MEMBERSC_IN_AG(x2) 28.26/8.15 28.26/8.15 U3_AG(x1, x2, x3, x4) = U3_AG(x3, x4) 28.26/8.15 28.26/8.15 28.26/8.15 We have to consider all (P,R,Pi)-chains 28.26/8.15 ---------------------------------------- 28.26/8.15 28.26/8.15 (79) UsableRulesProof (EQUIVALENT) 28.26/8.15 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 28.26/8.15 ---------------------------------------- 28.26/8.15 28.26/8.15 (80) 28.26/8.15 Obligation: 28.26/8.15 Pi DP problem: 28.26/8.15 The TRS P consists of the following rules: 28.26/8.15 28.26/8.15 MEMBERSC_IN_AG(.(X1, X2), X3) -> U3_AG(X1, X2, X3, membercD_in_ag(X1, X3)) 28.26/8.15 U3_AG(X1, X2, X3, membercD_out_ag(X1, X3)) -> MEMBERSC_IN_AG(X2, X3) 28.26/8.15 28.26/8.15 The TRS R consists of the following rules: 28.26/8.15 28.26/8.15 membercD_in_ag(X1, .(X1, X2)) -> membercD_out_ag(X1, .(X1, X2)) 28.26/8.15 membercD_in_ag(X1, .(X2, X3)) -> U18_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 28.26/8.15 U18_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> membercD_out_ag(X1, .(X2, X3)) 28.26/8.15 28.26/8.15 The argument filtering Pi contains the following mapping: 28.26/8.15 .(x1, x2) = .(x1, x2) 28.26/8.15 28.26/8.15 membercD_in_ag(x1, x2) = membercD_in_ag(x2) 28.26/8.15 28.26/8.15 membercD_out_ag(x1, x2) = membercD_out_ag(x1, x2) 28.26/8.15 28.26/8.15 U18_ag(x1, x2, x3, x4) = U18_ag(x2, x3, x4) 28.26/8.15 28.26/8.15 MEMBERSC_IN_AG(x1, x2) = MEMBERSC_IN_AG(x2) 28.26/8.15 28.26/8.15 U3_AG(x1, x2, x3, x4) = U3_AG(x3, x4) 28.26/8.15 28.26/8.15 28.26/8.15 We have to consider all (P,R,Pi)-chains 28.26/8.15 ---------------------------------------- 28.26/8.15 28.26/8.15 (81) PiDPToQDPProof (SOUND) 28.26/8.15 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 28.26/8.15 ---------------------------------------- 28.26/8.15 28.26/8.15 (82) 28.26/8.15 Obligation: 28.26/8.15 Q DP problem: 28.26/8.15 The TRS P consists of the following rules: 28.26/8.15 28.26/8.15 MEMBERSC_IN_AG(X3) -> U3_AG(X3, membercD_in_ag(X3)) 28.26/8.15 U3_AG(X3, membercD_out_ag(X1, X3)) -> MEMBERSC_IN_AG(X3) 28.26/8.15 28.26/8.15 The TRS R consists of the following rules: 28.26/8.15 28.26/8.15 membercD_in_ag(.(X1, X2)) -> membercD_out_ag(X1, .(X1, X2)) 28.26/8.15 membercD_in_ag(.(X2, X3)) -> U18_ag(X2, X3, membercD_in_ag(X3)) 28.26/8.15 U18_ag(X2, X3, membercD_out_ag(X1, X3)) -> membercD_out_ag(X1, .(X2, X3)) 28.26/8.15 28.26/8.15 The set Q consists of the following terms: 28.26/8.15 28.26/8.15 membercD_in_ag(x0) 28.26/8.15 U18_ag(x0, x1, x2) 28.26/8.15 28.26/8.15 We have to consider all (P,Q,R)-chains. 28.26/8.15 ---------------------------------------- 28.26/8.15 28.26/8.15 (83) TransformationProof (SOUND) 28.26/8.15 By narrowing [LPAR04] the rule MEMBERSC_IN_AG(X3) -> U3_AG(X3, membercD_in_ag(X3)) at position [1] we obtained the following new rules [LPAR04]: 28.26/8.15 28.26/8.15 (MEMBERSC_IN_AG(.(x0, x1)) -> U3_AG(.(x0, x1), membercD_out_ag(x0, .(x0, x1))),MEMBERSC_IN_AG(.(x0, x1)) -> U3_AG(.(x0, x1), membercD_out_ag(x0, .(x0, x1)))) 28.26/8.15 (MEMBERSC_IN_AG(.(x0, x1)) -> U3_AG(.(x0, x1), U18_ag(x0, x1, membercD_in_ag(x1))),MEMBERSC_IN_AG(.(x0, x1)) -> U3_AG(.(x0, x1), U18_ag(x0, x1, membercD_in_ag(x1)))) 28.26/8.15 28.26/8.15 28.26/8.15 ---------------------------------------- 28.26/8.15 28.26/8.15 (84) 28.26/8.15 Obligation: 28.26/8.15 Q DP problem: 28.26/8.15 The TRS P consists of the following rules: 28.26/8.15 28.26/8.15 U3_AG(X3, membercD_out_ag(X1, X3)) -> MEMBERSC_IN_AG(X3) 28.26/8.15 MEMBERSC_IN_AG(.(x0, x1)) -> U3_AG(.(x0, x1), membercD_out_ag(x0, .(x0, x1))) 28.26/8.15 MEMBERSC_IN_AG(.(x0, x1)) -> U3_AG(.(x0, x1), U18_ag(x0, x1, membercD_in_ag(x1))) 28.26/8.15 28.26/8.15 The TRS R consists of the following rules: 28.26/8.15 28.26/8.15 membercD_in_ag(.(X1, X2)) -> membercD_out_ag(X1, .(X1, X2)) 28.26/8.15 membercD_in_ag(.(X2, X3)) -> U18_ag(X2, X3, membercD_in_ag(X3)) 28.26/8.15 U18_ag(X2, X3, membercD_out_ag(X1, X3)) -> membercD_out_ag(X1, .(X2, X3)) 28.26/8.15 28.26/8.15 The set Q consists of the following terms: 28.26/8.15 28.26/8.15 membercD_in_ag(x0) 28.26/8.15 U18_ag(x0, x1, x2) 28.26/8.15 28.26/8.15 We have to consider all (P,Q,R)-chains. 28.26/8.15 ---------------------------------------- 28.26/8.15 28.26/8.15 (85) TransformationProof (EQUIVALENT) 28.26/8.15 By instantiating [LPAR04] the rule U3_AG(X3, membercD_out_ag(X1, X3)) -> MEMBERSC_IN_AG(X3) we obtained the following new rules [LPAR04]: 28.26/8.15 28.26/8.15 (U3_AG(.(z0, z1), membercD_out_ag(z0, .(z0, z1))) -> MEMBERSC_IN_AG(.(z0, z1)),U3_AG(.(z0, z1), membercD_out_ag(z0, .(z0, z1))) -> MEMBERSC_IN_AG(.(z0, z1))) 28.26/8.15 (U3_AG(.(z0, z1), membercD_out_ag(x1, .(z0, z1))) -> MEMBERSC_IN_AG(.(z0, z1)),U3_AG(.(z0, z1), membercD_out_ag(x1, .(z0, z1))) -> MEMBERSC_IN_AG(.(z0, z1))) 28.26/8.15 28.26/8.15 28.26/8.15 ---------------------------------------- 28.26/8.15 28.26/8.15 (86) 28.26/8.15 Obligation: 28.26/8.15 Q DP problem: 28.26/8.15 The TRS P consists of the following rules: 28.26/8.15 28.26/8.15 MEMBERSC_IN_AG(.(x0, x1)) -> U3_AG(.(x0, x1), membercD_out_ag(x0, .(x0, x1))) 28.26/8.15 MEMBERSC_IN_AG(.(x0, x1)) -> U3_AG(.(x0, x1), U18_ag(x0, x1, membercD_in_ag(x1))) 28.26/8.15 U3_AG(.(z0, z1), membercD_out_ag(z0, .(z0, z1))) -> MEMBERSC_IN_AG(.(z0, z1)) 28.26/8.15 U3_AG(.(z0, z1), membercD_out_ag(x1, .(z0, z1))) -> MEMBERSC_IN_AG(.(z0, z1)) 28.26/8.15 28.26/8.15 The TRS R consists of the following rules: 28.26/8.15 28.26/8.15 membercD_in_ag(.(X1, X2)) -> membercD_out_ag(X1, .(X1, X2)) 28.26/8.15 membercD_in_ag(.(X2, X3)) -> U18_ag(X2, X3, membercD_in_ag(X3)) 28.26/8.15 U18_ag(X2, X3, membercD_out_ag(X1, X3)) -> membercD_out_ag(X1, .(X2, X3)) 28.26/8.15 28.26/8.15 The set Q consists of the following terms: 28.26/8.15 28.26/8.15 membercD_in_ag(x0) 28.26/8.15 U18_ag(x0, x1, x2) 28.26/8.15 28.26/8.15 We have to consider all (P,Q,R)-chains. 28.26/8.15 ---------------------------------------- 28.26/8.15 28.26/8.15 (87) 28.26/8.15 Obligation: 28.26/8.15 Pi DP problem: 28.26/8.15 The TRS P consists of the following rules: 28.26/8.15 28.26/8.15 SELECTA_IN_AGA(X1, .(X2, X3), .(X2, X4)) -> SELECTA_IN_AGA(X1, X3, X4) 28.26/8.15 28.26/8.15 The TRS R consists of the following rules: 28.26/8.15 28.26/8.15 selectcA_in_aga(X1, .(X1, X2), X2) -> selectcA_out_aga(X1, .(X1, X2), X2) 28.26/8.15 selectcA_in_aga(X1, .(X2, X3), .(X2, X4)) -> U12_aga(X1, X2, X3, X4, selectcA_in_aga(X1, X3, X4)) 28.26/8.15 U12_aga(X1, X2, X3, X4, selectcA_out_aga(X1, X3, X4)) -> selectcA_out_aga(X1, .(X2, X3), .(X2, X4)) 28.26/8.15 membercD_in_ag(X1, .(X1, X2)) -> membercD_out_ag(X1, .(X1, X2)) 28.26/8.15 membercD_in_ag(X1, .(X2, X3)) -> U18_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 28.26/8.15 U18_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> membercD_out_ag(X1, .(X2, X3)) 28.26/8.15 memberscC_in_ag(.(X1, X2), X3) -> U16_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 28.26/8.15 U16_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> U17_ag(X1, X2, X3, memberscC_in_ag(X2, X3)) 28.26/8.15 memberscC_in_ag([], X1) -> memberscC_out_ag([], X1) 28.26/8.15 U17_ag(X1, X2, X3, memberscC_out_ag(X2, X3)) -> memberscC_out_ag(.(X1, X2), X3) 28.26/8.15 28.26/8.15 The argument filtering Pi contains the following mapping: 28.26/8.15 .(x1, x2) = .(x1, x2) 28.26/8.15 28.26/8.15 selectcA_in_aga(x1, x2, x3) = selectcA_in_aga(x2) 28.26/8.15 28.26/8.15 selectcA_out_aga(x1, x2, x3) = selectcA_out_aga(x1, x2, x3) 28.26/8.15 28.26/8.15 U12_aga(x1, x2, x3, x4, x5) = U12_aga(x2, x3, x5) 28.26/8.15 28.26/8.15 membercD_in_ag(x1, x2) = membercD_in_ag(x2) 28.26/8.15 28.26/8.15 membercD_out_ag(x1, x2) = membercD_out_ag(x1, x2) 28.26/8.15 28.26/8.15 U18_ag(x1, x2, x3, x4) = U18_ag(x2, x3, x4) 28.26/8.15 28.26/8.15 memberscC_in_ag(x1, x2) = memberscC_in_ag(x2) 28.26/8.15 28.26/8.15 U16_ag(x1, x2, x3, x4) = U16_ag(x3, x4) 28.26/8.15 28.26/8.15 U17_ag(x1, x2, x3, x4) = U17_ag(x1, x3, x4) 28.26/8.15 28.26/8.15 memberscC_out_ag(x1, x2) = memberscC_out_ag(x1, x2) 28.26/8.15 28.26/8.15 SELECTA_IN_AGA(x1, x2, x3) = SELECTA_IN_AGA(x2) 28.26/8.15 28.26/8.15 28.26/8.15 We have to consider all (P,R,Pi)-chains 28.26/8.15 ---------------------------------------- 28.26/8.15 28.26/8.15 (88) UsableRulesProof (EQUIVALENT) 28.26/8.15 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 28.26/8.15 ---------------------------------------- 28.26/8.15 28.26/8.15 (89) 28.26/8.15 Obligation: 28.26/8.15 Pi DP problem: 28.26/8.15 The TRS P consists of the following rules: 28.26/8.15 28.26/8.15 SELECTA_IN_AGA(X1, .(X2, X3), .(X2, X4)) -> SELECTA_IN_AGA(X1, X3, X4) 28.26/8.15 28.26/8.15 R is empty. 28.26/8.15 The argument filtering Pi contains the following mapping: 28.26/8.15 .(x1, x2) = .(x1, x2) 28.26/8.15 28.26/8.15 SELECTA_IN_AGA(x1, x2, x3) = SELECTA_IN_AGA(x2) 28.26/8.15 28.26/8.15 28.26/8.15 We have to consider all (P,R,Pi)-chains 28.26/8.15 ---------------------------------------- 28.26/8.15 28.26/8.15 (90) 28.26/8.15 Obligation: 28.26/8.15 Pi DP problem: 28.26/8.15 The TRS P consists of the following rules: 28.26/8.15 28.26/8.15 COLOR_MAPB_IN_AG(.(region(X1, X2), X3), X4) -> U7_AG(X1, X2, X3, X4, selectcA_in_aga(X1, X4, X5)) 28.26/8.15 U7_AG(X1, X2, X3, X4, selectcA_out_aga(X1, X4, X5)) -> U9_AG(X1, X2, X3, X4, memberscC_in_ag(X2, X5)) 28.26/8.15 U9_AG(X1, X2, X3, X4, memberscC_out_ag(X2, X5)) -> COLOR_MAPB_IN_AG(X3, X4) 28.26/8.15 28.26/8.15 The TRS R consists of the following rules: 28.26/8.15 28.26/8.15 selectcA_in_aga(X1, .(X1, X2), X2) -> selectcA_out_aga(X1, .(X1, X2), X2) 28.26/8.15 selectcA_in_aga(X1, .(X2, X3), .(X2, X4)) -> U12_aga(X1, X2, X3, X4, selectcA_in_aga(X1, X3, X4)) 28.26/8.15 U12_aga(X1, X2, X3, X4, selectcA_out_aga(X1, X3, X4)) -> selectcA_out_aga(X1, .(X2, X3), .(X2, X4)) 28.26/8.15 membercD_in_ag(X1, .(X1, X2)) -> membercD_out_ag(X1, .(X1, X2)) 28.26/8.15 membercD_in_ag(X1, .(X2, X3)) -> U18_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 28.26/8.15 U18_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> membercD_out_ag(X1, .(X2, X3)) 28.26/8.15 memberscC_in_ag(.(X1, X2), X3) -> U16_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 28.26/8.15 U16_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> U17_ag(X1, X2, X3, memberscC_in_ag(X2, X3)) 28.26/8.15 memberscC_in_ag([], X1) -> memberscC_out_ag([], X1) 28.26/8.15 U17_ag(X1, X2, X3, memberscC_out_ag(X2, X3)) -> memberscC_out_ag(.(X1, X2), X3) 28.26/8.15 28.26/8.15 The argument filtering Pi contains the following mapping: 28.26/8.15 .(x1, x2) = .(x1, x2) 28.26/8.15 28.26/8.15 selectcA_in_aga(x1, x2, x3) = selectcA_in_aga(x2) 28.26/8.15 28.26/8.15 selectcA_out_aga(x1, x2, x3) = selectcA_out_aga(x1, x2, x3) 28.26/8.15 28.26/8.15 U12_aga(x1, x2, x3, x4, x5) = U12_aga(x2, x3, x5) 28.26/8.15 28.26/8.15 membercD_in_ag(x1, x2) = membercD_in_ag(x2) 28.26/8.15 28.26/8.15 membercD_out_ag(x1, x2) = membercD_out_ag(x1, x2) 28.26/8.15 28.26/8.15 U18_ag(x1, x2, x3, x4) = U18_ag(x2, x3, x4) 28.26/8.15 28.26/8.15 memberscC_in_ag(x1, x2) = memberscC_in_ag(x2) 28.26/8.15 28.26/8.15 U16_ag(x1, x2, x3, x4) = U16_ag(x3, x4) 28.26/8.15 28.26/8.15 U17_ag(x1, x2, x3, x4) = U17_ag(x1, x3, x4) 28.26/8.15 28.26/8.15 memberscC_out_ag(x1, x2) = memberscC_out_ag(x1, x2) 28.26/8.15 28.26/8.15 COLOR_MAPB_IN_AG(x1, x2) = COLOR_MAPB_IN_AG(x2) 28.26/8.15 28.26/8.15 U7_AG(x1, x2, x3, x4, x5) = U7_AG(x4, x5) 28.26/8.15 28.26/8.15 U9_AG(x1, x2, x3, x4, x5) = U9_AG(x4, x5) 28.26/8.15 28.26/8.15 28.26/8.15 We have to consider all (P,R,Pi)-chains 28.26/8.15 ---------------------------------------- 28.26/8.15 28.26/8.15 (91) PrologToTRSTransformerProof (SOUND) 28.26/8.15 Transformed Prolog program to TRS. 28.26/8.15 28.26/8.15 { 28.26/8.15 "root": 3, 28.26/8.15 "program": { 28.26/8.15 "directives": [], 28.26/8.15 "clauses": [ 28.26/8.15 [ 28.26/8.15 "(color_map (. Region Regions) Colors)", 28.26/8.15 "(',' (color_region Region Colors) (color_map Regions Colors))" 28.26/8.15 ], 28.26/8.15 [ 28.26/8.15 "(color_map ([]) Colors)", 28.26/8.15 null 28.26/8.15 ], 28.26/8.15 [ 28.26/8.15 "(color_region (region Color Neighbors) Colors)", 28.26/8.15 "(',' (select Color Colors Colors1) (members Neighbors Colors1))" 28.26/8.15 ], 28.26/8.15 [ 28.26/8.15 "(select X (. X Xs) Xs)", 28.26/8.15 null 28.26/8.15 ], 28.26/8.15 [ 28.26/8.15 "(select X (. Y Ys) (. Y Zs))", 28.26/8.15 "(select X Ys Zs)" 28.26/8.15 ], 28.26/8.15 [ 28.26/8.15 "(members (. X Xs) Ys)", 28.26/8.15 "(',' (member X Ys) (members Xs Ys))" 28.26/8.15 ], 28.26/8.15 [ 28.26/8.15 "(members ([]) Ys)", 28.26/8.15 null 28.26/8.15 ], 28.26/8.15 [ 28.26/8.15 "(member X (. X X1))", 28.26/8.15 null 28.26/8.15 ], 28.26/8.15 [ 28.26/8.15 "(member X (. X2 T))", 28.26/8.15 "(member X T)" 28.26/8.15 ], 28.26/8.15 [ 28.26/8.15 "(test_color Name Pairs)", 28.26/8.15 "(',' (colors Name Colors) (',' (color_map Map Colors) (',' (map Name Symbols Map) (symbols Symbols Map Pairs))))" 28.26/8.15 ], 28.26/8.15 [ 28.26/8.15 "(symbols ([]) ([]) ([]))", 28.26/8.15 null 28.26/8.15 ], 28.26/8.15 [ 28.26/8.15 "(symbols (. S Ss) (. (region C N) Rs) (. (pair S C) Ps))", 28.26/8.15 "(symbols Ss Rs Ps)" 28.26/8.15 ], 28.26/8.15 [ 28.26/8.15 "(map (test) (. (a) (. (b) (. (c) (. (d) (. (e) (. (f) ([]))))))) (. (region A (. B (. C (. D ([]))))) (. (region B (. A (. C (. E ([]))))) (. (region C (. A (. B (. D (. E (. F ([]))))))) (. (region D (. A (. C (. F ([]))))) (. (region E (. B (. C (. F ([]))))) (. (region F (. C (. D (. E ([]))))) ([]))))))))", 28.26/8.15 null 28.26/8.15 ], 28.26/8.15 [ 28.26/8.15 "(map (west_europe) (. (portugal) (. (spain) (. (france) (. (belgium) (. (holland) (. (west_germany) (. (luxembourg) (. (italy) (. (switzerland) (. (austria) ([]))))))))))) (. (region P (. E ([]))) (. (region E (. F (. P ([])))) (. (region F (. E (. I (. S (. B (. WG (. L ([])))))))) (. (region B (. F (. H (. L (. WG ([])))))) (. (region H (. B (. WG ([])))) (. (region WG (. F (. A (. S (. H (. B (. L ([])))))))) (. (region L (. F (. B (. WG ([]))))) (. (region I (. F (. A (. S ([]))))) (. (region S (. F (. I (. A (. WG ([])))))) (. (region A (. I (. S (. WG ([]))))) ([]))))))))))))", 28.26/8.15 null 28.26/8.15 ], 28.26/8.15 [ 28.26/8.15 "(colors X (. (red) (. (yellow) (. (blue) (. (white) ([]))))))", 28.26/8.15 null 28.26/8.15 ] 28.26/8.15 ] 28.26/8.15 }, 28.26/8.15 "graph": { 28.26/8.15 "nodes": { 28.26/8.15 "69": { 28.26/8.15 "goal": [{ 28.26/8.15 "clause": -1, 28.26/8.15 "scope": -1, 28.26/8.15 "term": "(',' (color_region T18 T17) (color_map T19 T17))" 28.26/8.15 }], 28.26/8.15 "kb": { 28.26/8.15 "nonunifying": [], 28.26/8.15 "intvars": {}, 28.26/8.15 "arithmetic": { 28.26/8.15 "type": "PlainIntegerRelationState", 28.26/8.15 "relations": [] 28.26/8.15 }, 28.26/8.15 "ground": ["T17"], 28.26/8.15 "free": [], 28.26/8.15 "exprvars": [] 28.26/8.15 } 28.26/8.15 }, 28.26/8.15 "type": "Nodes", 28.26/8.15 "690": { 28.26/8.15 "goal": [{ 28.26/8.15 "clause": 7, 28.26/8.15 "scope": 5, 28.26/8.15 "term": "(member T90 T89)" 28.26/8.15 }], 28.26/8.15 "kb": { 28.26/8.15 "nonunifying": [], 28.26/8.15 "intvars": {}, 28.26/8.15 "arithmetic": { 28.26/8.15 "type": "PlainIntegerRelationState", 28.26/8.15 "relations": [] 28.26/8.15 }, 28.26/8.15 "ground": ["T89"], 28.26/8.15 "free": [], 28.26/8.15 "exprvars": [] 28.26/8.15 } 28.26/8.15 }, 28.26/8.15 "691": { 28.26/8.15 "goal": [{ 28.26/8.15 "clause": 8, 28.26/8.15 "scope": 5, 28.26/8.15 "term": "(member T90 T89)" 28.26/8.15 }], 28.26/8.15 "kb": { 28.26/8.15 "nonunifying": [], 28.26/8.15 "intvars": {}, 28.26/8.15 "arithmetic": { 28.26/8.15 "type": "PlainIntegerRelationState", 28.26/8.15 "relations": [] 28.26/8.15 }, 28.26/8.15 "ground": ["T89"], 28.26/8.15 "free": [], 28.26/8.15 "exprvars": [] 28.26/8.15 } 28.26/8.15 }, 28.26/8.15 "692": { 28.26/8.16 "goal": [{ 28.26/8.16 "clause": -1, 28.26/8.16 "scope": -1, 28.26/8.16 "term": "(true)" 28.26/8.16 }], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": [], 28.26/8.16 "free": [], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "693": { 28.26/8.16 "goal": [], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": [], 28.26/8.16 "free": [], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "694": { 28.26/8.16 "goal": [], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": [], 28.26/8.16 "free": [], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "695": { 28.26/8.16 "goal": [{ 28.26/8.16 "clause": -1, 28.26/8.16 "scope": -1, 28.26/8.16 "term": "(member T120 T119)" 28.26/8.16 }], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": ["T119"], 28.26/8.16 "free": [], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "674": { 28.26/8.16 "goal": [{ 28.26/8.16 "clause": -1, 28.26/8.16 "scope": -1, 28.26/8.16 "term": "(select T67 T66 X69)" 28.26/8.16 }], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": ["T66"], 28.26/8.16 "free": ["X69"], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "696": { 28.26/8.16 "goal": [], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": [], 28.26/8.16 "free": [], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "675": { 28.26/8.16 "goal": [], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": [], 28.26/8.16 "free": [], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "697": { 28.26/8.16 "goal": [{ 28.26/8.16 "clause": -1, 28.26/8.16 "scope": -1, 28.26/8.16 "term": "(true)" 28.26/8.16 }], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": [], 28.26/8.16 "free": [], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "698": { 28.26/8.16 "goal": [], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": [], 28.26/8.16 "free": [], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "699": { 28.26/8.16 "goal": [], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": [], 28.26/8.16 "free": [], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "70": { 28.26/8.16 "goal": [], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": [], 28.26/8.16 "free": [], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "658": { 28.26/8.16 "goal": [{ 28.26/8.16 "clause": -1, 28.26/8.16 "scope": -1, 28.26/8.16 "term": "(',' (select T36 T35 X36) (members T37 X36))" 28.26/8.16 }], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": ["T35"], 28.26/8.16 "free": ["X36"], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "659": { 28.26/8.16 "goal": [], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": [], 28.26/8.16 "free": [], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "73": { 28.26/8.16 "goal": [{ 28.26/8.16 "clause": -1, 28.26/8.16 "scope": -1, 28.26/8.16 "term": "(color_region T18 T17)" 28.26/8.16 }], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": ["T17"], 28.26/8.16 "free": [], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "75": { 28.26/8.16 "goal": [{ 28.26/8.16 "clause": -1, 28.26/8.16 "scope": -1, 28.26/8.16 "term": "(color_map T23 T17)" 28.26/8.16 }], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": ["T17"], 28.26/8.16 "free": [], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "33": { 28.26/8.16 "goal": [ 28.26/8.16 { 28.26/8.16 "clause": 0, 28.26/8.16 "scope": 1, 28.26/8.16 "term": "(color_map T1 T2)" 28.26/8.16 }, 28.26/8.16 { 28.26/8.16 "clause": 1, 28.26/8.16 "scope": 1, 28.26/8.16 "term": "(color_map T1 T2)" 28.26/8.16 } 28.26/8.16 ], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": ["T2"], 28.26/8.16 "free": [], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "77": { 28.26/8.16 "goal": [{ 28.26/8.16 "clause": 2, 28.26/8.16 "scope": 2, 28.26/8.16 "term": "(color_region T18 T17)" 28.26/8.16 }], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": ["T17"], 28.26/8.16 "free": [], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "58": { 28.26/8.16 "goal": [{ 28.26/8.16 "clause": 0, 28.26/8.16 "scope": 1, 28.26/8.16 "term": "(color_map T1 T2)" 28.26/8.16 }], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": ["T2"], 28.26/8.16 "free": [], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "59": { 28.26/8.16 "goal": [{ 28.26/8.16 "clause": 1, 28.26/8.16 "scope": 1, 28.26/8.16 "term": "(color_map T1 T2)" 28.26/8.16 }], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": ["T2"], 28.26/8.16 "free": [], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "660": { 28.26/8.16 "goal": [{ 28.26/8.16 "clause": -1, 28.26/8.16 "scope": -1, 28.26/8.16 "term": "(select T36 T35 X36)" 28.26/8.16 }], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": ["T35"], 28.26/8.16 "free": ["X36"], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "682": { 28.26/8.16 "goal": [ 28.26/8.16 { 28.26/8.16 "clause": 5, 28.26/8.16 "scope": 4, 28.26/8.16 "term": "(members T43 T42)" 28.26/8.16 }, 28.26/8.16 { 28.26/8.16 "clause": 6, 28.26/8.16 "scope": 4, 28.26/8.16 "term": "(members T43 T42)" 28.26/8.16 } 28.26/8.16 ], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": ["T42"], 28.26/8.16 "free": [], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "661": { 28.26/8.16 "goal": [{ 28.26/8.16 "clause": -1, 28.26/8.16 "scope": -1, 28.26/8.16 "term": "(members T43 T42)" 28.26/8.16 }], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": ["T42"], 28.26/8.16 "free": [], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "683": { 28.26/8.16 "goal": [{ 28.26/8.16 "clause": 5, 28.26/8.16 "scope": 4, 28.26/8.16 "term": "(members T43 T42)" 28.26/8.16 }], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": ["T42"], 28.26/8.16 "free": [], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "684": { 28.26/8.16 "goal": [{ 28.26/8.16 "clause": 6, 28.26/8.16 "scope": 4, 28.26/8.16 "term": "(members T43 T42)" 28.26/8.16 }], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": ["T42"], 28.26/8.16 "free": [], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "3": { 28.26/8.16 "goal": [{ 28.26/8.16 "clause": -1, 28.26/8.16 "scope": -1, 28.26/8.16 "term": "(color_map T1 T2)" 28.26/8.16 }], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": ["T2"], 28.26/8.16 "free": [], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "685": { 28.26/8.16 "goal": [{ 28.26/8.16 "clause": -1, 28.26/8.16 "scope": -1, 28.26/8.16 "term": "(',' (member T90 T89) (members T91 T89))" 28.26/8.16 }], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": ["T89"], 28.26/8.16 "free": [], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "664": { 28.26/8.16 "goal": [ 28.26/8.16 { 28.26/8.16 "clause": 3, 28.26/8.16 "scope": 3, 28.26/8.16 "term": "(select T36 T35 X36)" 28.26/8.16 }, 28.26/8.16 { 28.26/8.16 "clause": 4, 28.26/8.16 "scope": 3, 28.26/8.16 "term": "(select T36 T35 X36)" 28.26/8.16 } 28.26/8.16 ], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": ["T35"], 28.26/8.16 "free": ["X36"], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "686": { 28.26/8.16 "goal": [], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": [], 28.26/8.16 "free": [], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "665": { 28.26/8.16 "goal": [{ 28.26/8.16 "clause": 3, 28.26/8.16 "scope": 3, 28.26/8.16 "term": "(select T36 T35 X36)" 28.26/8.16 }], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": ["T35"], 28.26/8.16 "free": ["X36"], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "687": { 28.26/8.16 "goal": [{ 28.26/8.16 "clause": -1, 28.26/8.16 "scope": -1, 28.26/8.16 "term": "(member T90 T89)" 28.26/8.16 }], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": ["T89"], 28.26/8.16 "free": [], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "666": { 28.26/8.16 "goal": [{ 28.26/8.16 "clause": 4, 28.26/8.16 "scope": 3, 28.26/8.16 "term": "(select T36 T35 X36)" 28.26/8.16 }], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": ["T35"], 28.26/8.16 "free": ["X36"], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "688": { 28.26/8.16 "goal": [{ 28.26/8.16 "clause": -1, 28.26/8.16 "scope": -1, 28.26/8.16 "term": "(members T96 T89)" 28.26/8.16 }], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": ["T89"], 28.26/8.16 "free": [], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "667": { 28.26/8.16 "goal": [{ 28.26/8.16 "clause": -1, 28.26/8.16 "scope": -1, 28.26/8.16 "term": "(true)" 28.26/8.16 }], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": [], 28.26/8.16 "free": [], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "689": { 28.26/8.16 "goal": [ 28.26/8.16 { 28.26/8.16 "clause": 7, 28.26/8.16 "scope": 5, 28.26/8.16 "term": "(member T90 T89)" 28.26/8.16 }, 28.26/8.16 { 28.26/8.16 "clause": 8, 28.26/8.16 "scope": 5, 28.26/8.16 "term": "(member T90 T89)" 28.26/8.16 } 28.26/8.16 ], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": ["T89"], 28.26/8.16 "free": [], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "700": { 28.26/8.16 "goal": [{ 28.26/8.16 "clause": -1, 28.26/8.16 "scope": -1, 28.26/8.16 "term": "(true)" 28.26/8.16 }], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": [], 28.26/8.16 "free": [], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "668": { 28.26/8.16 "goal": [], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": [], 28.26/8.16 "free": [], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "701": { 28.26/8.16 "goal": [], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": [], 28.26/8.16 "free": [], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "669": { 28.26/8.16 "goal": [], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": [], 28.26/8.16 "free": [], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "702": { 28.26/8.16 "goal": [], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": [], 28.26/8.16 "free": [], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "edges": [ 28.26/8.16 { 28.26/8.16 "from": 3, 28.26/8.16 "to": 33, 28.26/8.16 "label": "CASE" 28.26/8.16 }, 28.26/8.16 { 28.26/8.16 "from": 33, 28.26/8.16 "to": 58, 28.26/8.16 "label": "PARALLEL" 28.26/8.16 }, 28.26/8.16 { 28.26/8.16 "from": 33, 28.26/8.16 "to": 59, 28.26/8.16 "label": "PARALLEL" 28.26/8.16 }, 28.26/8.16 { 28.26/8.16 "from": 58, 28.26/8.16 "to": 69, 28.26/8.16 "label": "EVAL with clause\ncolor_map(.(X15, X16), X17) :- ','(color_region(X15, X17), color_map(X16, X17)).\nand substitutionX15 -> T18,\nX16 -> T19,\nT1 -> .(T18, T19),\nT2 -> T17,\nX17 -> T17,\nT15 -> T18,\nT16 -> T19" 28.26/8.16 }, 28.26/8.16 { 28.26/8.16 "from": 58, 28.26/8.16 "to": 70, 28.26/8.16 "label": "EVAL-BACKTRACK" 28.26/8.16 }, 28.26/8.16 { 28.26/8.16 "from": 59, 28.26/8.16 "to": 700, 28.26/8.16 "label": "EVAL with clause\ncolor_map([], X134).\nand substitutionT1 -> [],\nT2 -> T136,\nX134 -> T136" 28.26/8.16 }, 28.26/8.16 { 28.26/8.16 "from": 59, 28.26/8.16 "to": 701, 28.26/8.16 "label": "EVAL-BACKTRACK" 28.26/8.16 }, 28.26/8.16 { 28.26/8.16 "from": 69, 28.26/8.16 "to": 73, 28.26/8.16 "label": "SPLIT 1" 28.26/8.16 }, 28.26/8.16 { 28.26/8.16 "from": 69, 28.26/8.16 "to": 75, 28.26/8.16 "label": "SPLIT 2\nnew knowledge:\nT18 is ground\nT17 is ground\nreplacements:T19 -> T23" 28.26/8.16 }, 28.26/8.16 { 28.26/8.16 "from": 73, 28.26/8.16 "to": 77, 28.26/8.16 "label": "CASE" 28.26/8.16 }, 28.26/8.16 { 28.26/8.16 "from": 75, 28.26/8.16 "to": 3, 28.26/8.16 "label": "INSTANCE with matching:\nT1 -> T23\nT2 -> T17" 28.26/8.16 }, 28.26/8.16 { 28.26/8.16 "from": 77, 28.26/8.16 "to": 658, 28.26/8.16 "label": "EVAL with clause\ncolor_region(region(X33, X34), X35) :- ','(select(X33, X35, X36), members(X34, X36)).\nand substitutionX33 -> T36,\nX34 -> T37,\nT18 -> region(T36, T37),\nT17 -> T35,\nX35 -> T35,\nT33 -> T36,\nT34 -> T37" 28.26/8.16 }, 28.26/8.16 { 28.26/8.16 "from": 77, 28.26/8.16 "to": 659, 28.26/8.16 "label": "EVAL-BACKTRACK" 28.26/8.16 }, 28.26/8.16 { 28.26/8.16 "from": 658, 28.26/8.16 "to": 660, 28.26/8.16 "label": "SPLIT 1" 28.26/8.16 }, 28.26/8.16 { 28.26/8.16 "from": 658, 28.26/8.16 "to": 661, 28.26/8.16 "label": "SPLIT 2\nnew knowledge:\nT36 is ground\nT35 is ground\nT42 is ground\nreplacements:X36 -> T42,\nT37 -> T43" 28.26/8.16 }, 28.26/8.16 { 28.26/8.16 "from": 660, 28.26/8.16 "to": 664, 28.26/8.16 "label": "CASE" 28.26/8.16 }, 28.26/8.16 { 28.26/8.16 "from": 661, 28.26/8.16 "to": 682, 28.26/8.16 "label": "CASE" 28.26/8.16 }, 28.26/8.16 { 28.26/8.16 "from": 664, 28.26/8.16 "to": 665, 28.26/8.16 "label": "PARALLEL" 28.26/8.16 }, 28.26/8.16 { 28.26/8.16 "from": 664, 28.26/8.16 "to": 666, 28.26/8.16 "label": "PARALLEL" 28.26/8.16 }, 28.26/8.16 { 28.26/8.16 "from": 665, 28.26/8.16 "to": 667, 28.26/8.16 "label": "EVAL with clause\nselect(X53, .(X53, X54), X54).\nand substitutionT36 -> T56,\nX53 -> T56,\nX54 -> T57,\nT35 -> .(T56, T57),\nX36 -> T57" 28.26/8.16 }, 28.26/8.16 { 28.26/8.16 "from": 665, 28.26/8.16 "to": 668, 28.26/8.16 "label": "EVAL-BACKTRACK" 28.26/8.16 }, 28.26/8.16 { 28.26/8.16 "from": 666, 28.26/8.16 "to": 674, 28.26/8.16 "label": "EVAL with clause\nselect(X65, .(X66, X67), .(X66, X68)) :- select(X65, X67, X68).\nand substitutionT36 -> T67,\nX65 -> T67,\nX66 -> T65,\nX67 -> T66,\nT35 -> .(T65, T66),\nX68 -> X69,\nX36 -> .(T65, X69),\nT64 -> T67" 28.26/8.16 }, 28.26/8.16 { 28.26/8.16 "from": 666, 28.26/8.16 "to": 675, 28.26/8.16 "label": "EVAL-BACKTRACK" 28.26/8.16 }, 28.26/8.16 { 28.26/8.16 "from": 667, 28.26/8.16 "to": 669, 28.26/8.16 "label": "SUCCESS" 28.26/8.16 }, 28.26/8.16 { 28.26/8.16 "from": 674, 28.26/8.16 "to": 660, 28.26/8.16 "label": "INSTANCE with matching:\nT36 -> T67\nT35 -> T66\nX36 -> X69" 28.26/8.16 }, 28.26/8.16 { 28.26/8.16 "from": 682, 28.26/8.16 "to": 683, 28.26/8.16 "label": "PARALLEL" 28.26/8.16 }, 28.26/8.16 { 28.26/8.16 "from": 682, 28.26/8.16 "to": 684, 28.26/8.16 "label": "PARALLEL" 28.26/8.16 }, 28.26/8.16 { 28.26/8.16 "from": 683, 28.26/8.16 "to": 685, 28.26/8.16 "label": "EVAL with clause\nmembers(.(X89, X90), X91) :- ','(member(X89, X91), members(X90, X91)).\nand substitutionX89 -> T90,\nX90 -> T91,\nT43 -> .(T90, T91),\nT42 -> T89,\nX91 -> T89,\nT87 -> T90,\nT88 -> T91" 28.26/8.16 }, 28.26/8.16 { 28.26/8.16 "from": 683, 28.26/8.16 "to": 686, 28.26/8.16 "label": "EVAL-BACKTRACK" 28.26/8.16 }, 28.26/8.16 { 28.26/8.16 "from": 684, 28.26/8.16 "to": 697, 28.26/8.16 "label": "EVAL with clause\nmembers([], X128).\nand substitutionT43 -> [],\nT42 -> T130,\nX128 -> T130" 28.26/8.16 }, 28.26/8.16 { 28.26/8.16 "from": 684, 28.26/8.16 "to": 698, 28.26/8.16 "label": "EVAL-BACKTRACK" 28.26/8.16 }, 28.26/8.16 { 28.26/8.16 "from": 685, 28.26/8.16 "to": 687, 28.26/8.16 "label": "SPLIT 1" 28.26/8.16 }, 28.26/8.16 { 28.26/8.16 "from": 685, 28.26/8.16 "to": 688, 28.26/8.16 "label": "SPLIT 2\nnew knowledge:\nT90 is ground\nT89 is ground\nreplacements:T91 -> T96" 28.26/8.16 }, 28.26/8.16 { 28.26/8.16 "from": 687, 28.26/8.16 "to": 689, 28.26/8.16 "label": "CASE" 28.26/8.16 }, 28.26/8.16 { 28.26/8.16 "from": 688, 28.26/8.16 "to": 661, 28.26/8.16 "label": "INSTANCE with matching:\nT43 -> T96\nT42 -> T89" 28.26/8.16 }, 28.26/8.16 { 28.26/8.16 "from": 689, 28.26/8.16 "to": 690, 28.26/8.16 "label": "PARALLEL" 28.26/8.16 }, 28.26/8.16 { 28.26/8.16 "from": 689, 28.26/8.16 "to": 691, 28.26/8.16 "label": "PARALLEL" 28.26/8.16 }, 28.26/8.16 { 28.26/8.16 "from": 690, 28.26/8.16 "to": 692, 28.26/8.16 "label": "EVAL with clause\nmember(X108, .(X108, X109)).\nand substitutionT90 -> T109,\nX108 -> T109,\nX109 -> T110,\nT89 -> .(T109, T110)" 28.26/8.16 }, 28.26/8.16 { 28.26/8.16 "from": 690, 28.26/8.16 "to": 693, 28.26/8.16 "label": "EVAL-BACKTRACK" 28.26/8.16 }, 28.26/8.16 { 28.26/8.16 "from": 691, 28.26/8.16 "to": 695, 28.26/8.16 "label": "EVAL with clause\nmember(X116, .(X117, X118)) :- member(X116, X118).\nand substitutionT90 -> T120,\nX116 -> T120,\nX117 -> T118,\nX118 -> T119,\nT89 -> .(T118, T119),\nT117 -> T120" 28.26/8.16 }, 28.26/8.16 { 28.26/8.16 "from": 691, 28.26/8.16 "to": 696, 28.26/8.16 "label": "EVAL-BACKTRACK" 28.26/8.16 }, 28.26/8.16 { 28.26/8.16 "from": 692, 28.26/8.16 "to": 694, 28.26/8.16 "label": "SUCCESS" 28.26/8.16 }, 28.26/8.16 { 28.26/8.16 "from": 695, 28.26/8.16 "to": 687, 28.26/8.16 "label": "INSTANCE with matching:\nT90 -> T120\nT89 -> T119" 28.26/8.16 }, 28.26/8.16 { 28.26/8.16 "from": 697, 28.26/8.16 "to": 699, 28.26/8.16 "label": "SUCCESS" 28.26/8.16 }, 28.26/8.16 { 28.26/8.16 "from": 700, 28.26/8.16 "to": 702, 28.26/8.16 "label": "SUCCESS" 28.26/8.16 } 28.26/8.16 ], 28.26/8.16 "type": "Graph" 28.26/8.16 } 28.26/8.16 } 28.26/8.16 28.26/8.16 ---------------------------------------- 28.26/8.16 28.26/8.16 (92) 28.26/8.16 Obligation: 28.26/8.16 Q restricted rewrite system: 28.26/8.16 The TRS R consists of the following rules: 28.26/8.16 28.26/8.16 f3_in(T17) -> U1(f69_in(T17), T17) 28.26/8.16 U1(f69_out1(T18, T19), T17) -> f3_out1(.(T18, T19)) 28.26/8.16 f3_in(T136) -> f3_out1([]) 28.26/8.16 f660_in(.(T56, T57)) -> f660_out1(T56, T57) 28.26/8.16 f660_in(.(T65, T66)) -> U2(f660_in(T66), .(T65, T66)) 28.26/8.16 U2(f660_out1(T67, X69), .(T65, T66)) -> f660_out1(T67, .(T65, X69)) 28.26/8.16 f661_in(T89) -> U3(f685_in(T89), T89) 28.26/8.16 U3(f685_out1(T90, T91), T89) -> f661_out1(.(T90, T91)) 28.26/8.16 f661_in(T130) -> f661_out1([]) 28.26/8.16 f687_in(.(T109, T110)) -> f687_out1(T109) 28.26/8.16 f687_in(.(T118, T119)) -> U4(f687_in(T119), .(T118, T119)) 28.26/8.16 U4(f687_out1(T120), .(T118, T119)) -> f687_out1(T120) 28.26/8.16 f73_in(T35) -> U5(f658_in(T35), T35) 28.26/8.16 U5(f658_out1(T36, X36, T37), T35) -> f73_out1(region(T36, T37)) 28.26/8.16 f69_in(T17) -> U6(f73_in(T17), T17) 28.26/8.16 U6(f73_out1(T18), T17) -> U7(f3_in(T17), T17, T18) 28.26/8.16 U7(f3_out1(T23), T17, T18) -> f69_out1(T18, T23) 28.26/8.16 f658_in(T35) -> U8(f660_in(T35), T35) 28.26/8.16 U8(f660_out1(T36, T42), T35) -> U9(f661_in(T42), T35, T36, T42) 28.26/8.16 U9(f661_out1(T43), T35, T36, T42) -> f658_out1(T36, T42, T43) 28.26/8.16 f685_in(T89) -> U10(f687_in(T89), T89) 28.26/8.16 U10(f687_out1(T90), T89) -> U11(f661_in(T89), T89, T90) 28.26/8.16 U11(f661_out1(T96), T89, T90) -> f685_out1(T90, T96) 28.26/8.16 28.26/8.16 Q is empty. 28.26/8.16 28.26/8.16 ---------------------------------------- 28.26/8.16 28.26/8.16 (93) DependencyPairsProof (EQUIVALENT) 28.26/8.16 Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem. 28.26/8.16 ---------------------------------------- 28.26/8.16 28.26/8.16 (94) 28.26/8.16 Obligation: 28.26/8.16 Q DP problem: 28.26/8.16 The TRS P consists of the following rules: 28.26/8.16 28.26/8.16 F3_IN(T17) -> U1^1(f69_in(T17), T17) 28.26/8.16 F3_IN(T17) -> F69_IN(T17) 28.26/8.16 F660_IN(.(T65, T66)) -> U2^1(f660_in(T66), .(T65, T66)) 28.26/8.16 F660_IN(.(T65, T66)) -> F660_IN(T66) 28.26/8.16 F661_IN(T89) -> U3^1(f685_in(T89), T89) 28.26/8.16 F661_IN(T89) -> F685_IN(T89) 28.26/8.16 F687_IN(.(T118, T119)) -> U4^1(f687_in(T119), .(T118, T119)) 28.26/8.16 F687_IN(.(T118, T119)) -> F687_IN(T119) 28.26/8.16 F73_IN(T35) -> U5^1(f658_in(T35), T35) 28.26/8.16 F73_IN(T35) -> F658_IN(T35) 28.26/8.16 F69_IN(T17) -> U6^1(f73_in(T17), T17) 28.26/8.16 F69_IN(T17) -> F73_IN(T17) 28.26/8.16 U6^1(f73_out1(T18), T17) -> U7^1(f3_in(T17), T17, T18) 28.26/8.16 U6^1(f73_out1(T18), T17) -> F3_IN(T17) 28.26/8.16 F658_IN(T35) -> U8^1(f660_in(T35), T35) 28.26/8.16 F658_IN(T35) -> F660_IN(T35) 28.26/8.16 U8^1(f660_out1(T36, T42), T35) -> U9^1(f661_in(T42), T35, T36, T42) 28.26/8.16 U8^1(f660_out1(T36, T42), T35) -> F661_IN(T42) 28.26/8.16 F685_IN(T89) -> U10^1(f687_in(T89), T89) 28.26/8.16 F685_IN(T89) -> F687_IN(T89) 28.26/8.16 U10^1(f687_out1(T90), T89) -> U11^1(f661_in(T89), T89, T90) 28.26/8.16 U10^1(f687_out1(T90), T89) -> F661_IN(T89) 28.26/8.16 28.26/8.16 The TRS R consists of the following rules: 28.26/8.16 28.26/8.16 f3_in(T17) -> U1(f69_in(T17), T17) 28.26/8.16 U1(f69_out1(T18, T19), T17) -> f3_out1(.(T18, T19)) 28.26/8.16 f3_in(T136) -> f3_out1([]) 28.26/8.16 f660_in(.(T56, T57)) -> f660_out1(T56, T57) 28.26/8.16 f660_in(.(T65, T66)) -> U2(f660_in(T66), .(T65, T66)) 28.26/8.16 U2(f660_out1(T67, X69), .(T65, T66)) -> f660_out1(T67, .(T65, X69)) 28.26/8.16 f661_in(T89) -> U3(f685_in(T89), T89) 28.26/8.16 U3(f685_out1(T90, T91), T89) -> f661_out1(.(T90, T91)) 28.26/8.16 f661_in(T130) -> f661_out1([]) 28.26/8.16 f687_in(.(T109, T110)) -> f687_out1(T109) 28.26/8.16 f687_in(.(T118, T119)) -> U4(f687_in(T119), .(T118, T119)) 28.26/8.16 U4(f687_out1(T120), .(T118, T119)) -> f687_out1(T120) 28.26/8.16 f73_in(T35) -> U5(f658_in(T35), T35) 28.26/8.16 U5(f658_out1(T36, X36, T37), T35) -> f73_out1(region(T36, T37)) 28.26/8.16 f69_in(T17) -> U6(f73_in(T17), T17) 28.26/8.16 U6(f73_out1(T18), T17) -> U7(f3_in(T17), T17, T18) 28.26/8.16 U7(f3_out1(T23), T17, T18) -> f69_out1(T18, T23) 28.26/8.16 f658_in(T35) -> U8(f660_in(T35), T35) 28.26/8.16 U8(f660_out1(T36, T42), T35) -> U9(f661_in(T42), T35, T36, T42) 28.26/8.16 U9(f661_out1(T43), T35, T36, T42) -> f658_out1(T36, T42, T43) 28.26/8.16 f685_in(T89) -> U10(f687_in(T89), T89) 28.26/8.16 U10(f687_out1(T90), T89) -> U11(f661_in(T89), T89, T90) 28.26/8.16 U11(f661_out1(T96), T89, T90) -> f685_out1(T90, T96) 28.26/8.16 28.26/8.16 Q is empty. 28.26/8.16 We have to consider all minimal (P,Q,R)-chains. 28.26/8.16 ---------------------------------------- 28.26/8.16 28.26/8.16 (95) DependencyGraphProof (EQUIVALENT) 28.26/8.16 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 4 SCCs with 14 less nodes. 28.26/8.16 ---------------------------------------- 28.26/8.16 28.26/8.16 (96) 28.26/8.16 Complex Obligation (AND) 28.26/8.16 28.26/8.16 ---------------------------------------- 28.26/8.16 28.26/8.16 (97) 28.26/8.16 Obligation: 28.26/8.16 Q DP problem: 28.26/8.16 The TRS P consists of the following rules: 28.26/8.16 28.26/8.16 F687_IN(.(T118, T119)) -> F687_IN(T119) 28.26/8.16 28.26/8.16 The TRS R consists of the following rules: 28.26/8.16 28.26/8.16 f3_in(T17) -> U1(f69_in(T17), T17) 28.26/8.16 U1(f69_out1(T18, T19), T17) -> f3_out1(.(T18, T19)) 28.26/8.16 f3_in(T136) -> f3_out1([]) 28.26/8.16 f660_in(.(T56, T57)) -> f660_out1(T56, T57) 28.26/8.16 f660_in(.(T65, T66)) -> U2(f660_in(T66), .(T65, T66)) 28.26/8.16 U2(f660_out1(T67, X69), .(T65, T66)) -> f660_out1(T67, .(T65, X69)) 28.26/8.16 f661_in(T89) -> U3(f685_in(T89), T89) 28.26/8.16 U3(f685_out1(T90, T91), T89) -> f661_out1(.(T90, T91)) 28.26/8.16 f661_in(T130) -> f661_out1([]) 28.26/8.16 f687_in(.(T109, T110)) -> f687_out1(T109) 28.26/8.16 f687_in(.(T118, T119)) -> U4(f687_in(T119), .(T118, T119)) 28.26/8.16 U4(f687_out1(T120), .(T118, T119)) -> f687_out1(T120) 28.26/8.16 f73_in(T35) -> U5(f658_in(T35), T35) 28.26/8.16 U5(f658_out1(T36, X36, T37), T35) -> f73_out1(region(T36, T37)) 28.26/8.16 f69_in(T17) -> U6(f73_in(T17), T17) 28.26/8.16 U6(f73_out1(T18), T17) -> U7(f3_in(T17), T17, T18) 28.26/8.16 U7(f3_out1(T23), T17, T18) -> f69_out1(T18, T23) 28.26/8.16 f658_in(T35) -> U8(f660_in(T35), T35) 28.26/8.16 U8(f660_out1(T36, T42), T35) -> U9(f661_in(T42), T35, T36, T42) 28.26/8.16 U9(f661_out1(T43), T35, T36, T42) -> f658_out1(T36, T42, T43) 28.26/8.16 f685_in(T89) -> U10(f687_in(T89), T89) 28.26/8.16 U10(f687_out1(T90), T89) -> U11(f661_in(T89), T89, T90) 28.26/8.16 U11(f661_out1(T96), T89, T90) -> f685_out1(T90, T96) 28.26/8.16 28.26/8.16 Q is empty. 28.26/8.16 We have to consider all minimal (P,Q,R)-chains. 28.26/8.16 ---------------------------------------- 28.26/8.16 28.26/8.16 (98) UsableRulesProof (EQUIVALENT) 28.26/8.16 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. 28.26/8.16 ---------------------------------------- 28.26/8.16 28.26/8.16 (99) 28.26/8.16 Obligation: 28.26/8.16 Q DP problem: 28.26/8.16 The TRS P consists of the following rules: 28.26/8.16 28.26/8.16 F687_IN(.(T118, T119)) -> F687_IN(T119) 28.26/8.16 28.26/8.16 R is empty. 28.26/8.16 Q is empty. 28.26/8.16 We have to consider all minimal (P,Q,R)-chains. 28.26/8.16 ---------------------------------------- 28.26/8.16 28.26/8.16 (100) QDPSizeChangeProof (EQUIVALENT) 28.26/8.16 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. 28.26/8.16 28.26/8.16 From the DPs we obtained the following set of size-change graphs: 28.26/8.16 *F687_IN(.(T118, T119)) -> F687_IN(T119) 28.26/8.16 The graph contains the following edges 1 > 1 28.26/8.16 28.26/8.16 28.26/8.16 ---------------------------------------- 28.26/8.16 28.26/8.16 (101) 28.26/8.16 YES 28.26/8.16 28.26/8.16 ---------------------------------------- 28.26/8.16 28.26/8.16 (102) 28.26/8.16 Obligation: 28.26/8.16 Q DP problem: 28.26/8.16 The TRS P consists of the following rules: 28.26/8.16 28.26/8.16 F661_IN(T89) -> F685_IN(T89) 28.26/8.16 F685_IN(T89) -> U10^1(f687_in(T89), T89) 28.26/8.16 U10^1(f687_out1(T90), T89) -> F661_IN(T89) 28.26/8.16 28.26/8.16 The TRS R consists of the following rules: 28.26/8.16 28.26/8.16 f3_in(T17) -> U1(f69_in(T17), T17) 28.26/8.16 U1(f69_out1(T18, T19), T17) -> f3_out1(.(T18, T19)) 28.26/8.16 f3_in(T136) -> f3_out1([]) 28.26/8.16 f660_in(.(T56, T57)) -> f660_out1(T56, T57) 28.26/8.16 f660_in(.(T65, T66)) -> U2(f660_in(T66), .(T65, T66)) 28.26/8.16 U2(f660_out1(T67, X69), .(T65, T66)) -> f660_out1(T67, .(T65, X69)) 28.26/8.16 f661_in(T89) -> U3(f685_in(T89), T89) 28.26/8.16 U3(f685_out1(T90, T91), T89) -> f661_out1(.(T90, T91)) 28.26/8.16 f661_in(T130) -> f661_out1([]) 28.26/8.16 f687_in(.(T109, T110)) -> f687_out1(T109) 28.26/8.16 f687_in(.(T118, T119)) -> U4(f687_in(T119), .(T118, T119)) 28.26/8.16 U4(f687_out1(T120), .(T118, T119)) -> f687_out1(T120) 28.26/8.16 f73_in(T35) -> U5(f658_in(T35), T35) 28.26/8.16 U5(f658_out1(T36, X36, T37), T35) -> f73_out1(region(T36, T37)) 28.26/8.16 f69_in(T17) -> U6(f73_in(T17), T17) 28.26/8.16 U6(f73_out1(T18), T17) -> U7(f3_in(T17), T17, T18) 28.26/8.16 U7(f3_out1(T23), T17, T18) -> f69_out1(T18, T23) 28.26/8.16 f658_in(T35) -> U8(f660_in(T35), T35) 28.26/8.16 U8(f660_out1(T36, T42), T35) -> U9(f661_in(T42), T35, T36, T42) 28.26/8.16 U9(f661_out1(T43), T35, T36, T42) -> f658_out1(T36, T42, T43) 28.26/8.16 f685_in(T89) -> U10(f687_in(T89), T89) 28.26/8.16 U10(f687_out1(T90), T89) -> U11(f661_in(T89), T89, T90) 28.26/8.16 U11(f661_out1(T96), T89, T90) -> f685_out1(T90, T96) 28.26/8.16 28.26/8.16 Q is empty. 28.26/8.16 We have to consider all minimal (P,Q,R)-chains. 28.26/8.16 ---------------------------------------- 28.26/8.16 28.26/8.16 (103) NonTerminationLoopProof (COMPLETE) 28.26/8.16 We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. 28.26/8.16 Found a loop by narrowing to the left: 28.26/8.16 28.26/8.16 s = F685_IN(.(T109, T110)) evaluates to t =F685_IN(.(T109, T110)) 28.26/8.16 28.26/8.16 Thus s starts an infinite chain as s semiunifies with t with the following substitutions: 28.26/8.16 * Matcher: [ ] 28.26/8.16 * Semiunifier: [ ] 28.26/8.16 28.26/8.16 -------------------------------------------------------------------------------- 28.26/8.16 Rewriting sequence 28.26/8.16 28.26/8.16 F685_IN(.(T109, T110)) -> U10^1(f687_in(.(T109, T110)), .(T109, T110)) 28.26/8.16 with rule F685_IN(T89) -> U10^1(f687_in(T89), T89) at position [] and matcher [T89 / .(T109, T110)] 28.26/8.16 28.26/8.16 U10^1(f687_in(.(T109, T110)), .(T109, T110)) -> U10^1(f687_out1(T109), .(T109, T110)) 28.26/8.16 with rule f687_in(.(T109', T110')) -> f687_out1(T109') at position [0] and matcher [T109' / T109, T110' / T110] 28.26/8.16 28.26/8.16 U10^1(f687_out1(T109), .(T109, T110)) -> F661_IN(.(T109, T110)) 28.26/8.16 with rule U10^1(f687_out1(T90), T89') -> F661_IN(T89') at position [] and matcher [T90 / T109, T89' / .(T109, T110)] 28.26/8.16 28.26/8.16 F661_IN(.(T109, T110)) -> F685_IN(.(T109, T110)) 28.26/8.16 with rule F661_IN(T89) -> F685_IN(T89) 28.26/8.16 28.26/8.16 Now applying the matcher to the start term leads to a term which is equal to the last term in the rewriting sequence 28.26/8.16 28.26/8.16 28.26/8.16 All these steps are and every following step will be a correct step w.r.t to Q. 28.26/8.16 28.26/8.16 28.26/8.16 28.26/8.16 28.26/8.16 ---------------------------------------- 28.26/8.16 28.26/8.16 (104) 28.26/8.16 NO 28.26/8.16 28.26/8.16 ---------------------------------------- 28.26/8.16 28.26/8.16 (105) 28.26/8.16 Obligation: 28.26/8.16 Q DP problem: 28.26/8.16 The TRS P consists of the following rules: 28.26/8.16 28.26/8.16 F660_IN(.(T65, T66)) -> F660_IN(T66) 28.26/8.16 28.26/8.16 The TRS R consists of the following rules: 28.26/8.16 28.26/8.16 f3_in(T17) -> U1(f69_in(T17), T17) 28.26/8.16 U1(f69_out1(T18, T19), T17) -> f3_out1(.(T18, T19)) 28.26/8.16 f3_in(T136) -> f3_out1([]) 28.26/8.16 f660_in(.(T56, T57)) -> f660_out1(T56, T57) 28.26/8.16 f660_in(.(T65, T66)) -> U2(f660_in(T66), .(T65, T66)) 28.26/8.16 U2(f660_out1(T67, X69), .(T65, T66)) -> f660_out1(T67, .(T65, X69)) 28.26/8.16 f661_in(T89) -> U3(f685_in(T89), T89) 28.26/8.16 U3(f685_out1(T90, T91), T89) -> f661_out1(.(T90, T91)) 28.26/8.16 f661_in(T130) -> f661_out1([]) 28.26/8.16 f687_in(.(T109, T110)) -> f687_out1(T109) 28.26/8.16 f687_in(.(T118, T119)) -> U4(f687_in(T119), .(T118, T119)) 28.26/8.16 U4(f687_out1(T120), .(T118, T119)) -> f687_out1(T120) 28.26/8.16 f73_in(T35) -> U5(f658_in(T35), T35) 28.26/8.16 U5(f658_out1(T36, X36, T37), T35) -> f73_out1(region(T36, T37)) 28.26/8.16 f69_in(T17) -> U6(f73_in(T17), T17) 28.26/8.16 U6(f73_out1(T18), T17) -> U7(f3_in(T17), T17, T18) 28.26/8.16 U7(f3_out1(T23), T17, T18) -> f69_out1(T18, T23) 28.26/8.16 f658_in(T35) -> U8(f660_in(T35), T35) 28.26/8.16 U8(f660_out1(T36, T42), T35) -> U9(f661_in(T42), T35, T36, T42) 28.26/8.16 U9(f661_out1(T43), T35, T36, T42) -> f658_out1(T36, T42, T43) 28.26/8.16 f685_in(T89) -> U10(f687_in(T89), T89) 28.26/8.16 U10(f687_out1(T90), T89) -> U11(f661_in(T89), T89, T90) 28.26/8.16 U11(f661_out1(T96), T89, T90) -> f685_out1(T90, T96) 28.26/8.16 28.26/8.16 Q is empty. 28.26/8.16 We have to consider all minimal (P,Q,R)-chains. 28.26/8.16 ---------------------------------------- 28.26/8.16 28.26/8.16 (106) UsableRulesProof (EQUIVALENT) 28.26/8.16 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. 28.26/8.16 ---------------------------------------- 28.26/8.16 28.26/8.16 (107) 28.26/8.16 Obligation: 28.26/8.16 Q DP problem: 28.26/8.16 The TRS P consists of the following rules: 28.26/8.16 28.26/8.16 F660_IN(.(T65, T66)) -> F660_IN(T66) 28.26/8.16 28.26/8.16 R is empty. 28.26/8.16 Q is empty. 28.26/8.16 We have to consider all minimal (P,Q,R)-chains. 28.26/8.16 ---------------------------------------- 28.26/8.16 28.26/8.16 (108) QDPSizeChangeProof (EQUIVALENT) 28.26/8.16 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. 28.26/8.16 28.26/8.16 From the DPs we obtained the following set of size-change graphs: 28.26/8.16 *F660_IN(.(T65, T66)) -> F660_IN(T66) 28.26/8.16 The graph contains the following edges 1 > 1 28.26/8.16 28.26/8.16 28.26/8.16 ---------------------------------------- 28.26/8.16 28.26/8.16 (109) 28.26/8.16 YES 28.26/8.16 28.26/8.16 ---------------------------------------- 28.26/8.16 28.26/8.16 (110) 28.26/8.16 Obligation: 28.26/8.16 Q DP problem: 28.26/8.16 The TRS P consists of the following rules: 28.26/8.16 28.26/8.16 F3_IN(T17) -> F69_IN(T17) 28.26/8.16 F69_IN(T17) -> U6^1(f73_in(T17), T17) 28.26/8.16 U6^1(f73_out1(T18), T17) -> F3_IN(T17) 28.26/8.16 28.26/8.16 The TRS R consists of the following rules: 28.26/8.16 28.26/8.16 f3_in(T17) -> U1(f69_in(T17), T17) 28.26/8.16 U1(f69_out1(T18, T19), T17) -> f3_out1(.(T18, T19)) 28.26/8.16 f3_in(T136) -> f3_out1([]) 28.26/8.16 f660_in(.(T56, T57)) -> f660_out1(T56, T57) 28.26/8.16 f660_in(.(T65, T66)) -> U2(f660_in(T66), .(T65, T66)) 28.26/8.16 U2(f660_out1(T67, X69), .(T65, T66)) -> f660_out1(T67, .(T65, X69)) 28.26/8.16 f661_in(T89) -> U3(f685_in(T89), T89) 28.26/8.16 U3(f685_out1(T90, T91), T89) -> f661_out1(.(T90, T91)) 28.26/8.16 f661_in(T130) -> f661_out1([]) 28.26/8.16 f687_in(.(T109, T110)) -> f687_out1(T109) 28.26/8.16 f687_in(.(T118, T119)) -> U4(f687_in(T119), .(T118, T119)) 28.26/8.16 U4(f687_out1(T120), .(T118, T119)) -> f687_out1(T120) 28.26/8.16 f73_in(T35) -> U5(f658_in(T35), T35) 28.26/8.16 U5(f658_out1(T36, X36, T37), T35) -> f73_out1(region(T36, T37)) 28.26/8.16 f69_in(T17) -> U6(f73_in(T17), T17) 28.26/8.16 U6(f73_out1(T18), T17) -> U7(f3_in(T17), T17, T18) 28.26/8.16 U7(f3_out1(T23), T17, T18) -> f69_out1(T18, T23) 28.26/8.16 f658_in(T35) -> U8(f660_in(T35), T35) 28.26/8.16 U8(f660_out1(T36, T42), T35) -> U9(f661_in(T42), T35, T36, T42) 28.26/8.16 U9(f661_out1(T43), T35, T36, T42) -> f658_out1(T36, T42, T43) 28.26/8.16 f685_in(T89) -> U10(f687_in(T89), T89) 28.26/8.16 U10(f687_out1(T90), T89) -> U11(f661_in(T89), T89, T90) 28.26/8.16 U11(f661_out1(T96), T89, T90) -> f685_out1(T90, T96) 28.26/8.16 28.26/8.16 Q is empty. 28.26/8.16 We have to consider all minimal (P,Q,R)-chains. 28.26/8.16 ---------------------------------------- 28.26/8.16 28.26/8.16 (111) NonTerminationLoopProof (COMPLETE) 28.26/8.16 We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. 28.26/8.16 Found a loop by narrowing to the left: 28.26/8.16 28.26/8.16 s = F69_IN(.(T56, T57)) evaluates to t =F69_IN(.(T56, T57)) 28.26/8.16 28.26/8.16 Thus s starts an infinite chain as s semiunifies with t with the following substitutions: 28.26/8.16 * Matcher: [ ] 28.26/8.16 * Semiunifier: [ ] 28.26/8.16 28.26/8.16 -------------------------------------------------------------------------------- 28.26/8.16 Rewriting sequence 28.26/8.16 28.26/8.16 F69_IN(.(T56, T57)) -> U6^1(f73_in(.(T56, T57)), .(T56, T57)) 28.26/8.16 with rule F69_IN(T17) -> U6^1(f73_in(T17), T17) at position [] and matcher [T17 / .(T56, T57)] 28.26/8.16 28.26/8.16 U6^1(f73_in(.(T56, T57)), .(T56, T57)) -> U6^1(U5(f658_in(.(T56, T57)), .(T56, T57)), .(T56, T57)) 28.26/8.16 with rule f73_in(T35') -> U5(f658_in(T35'), T35') at position [0] and matcher [T35' / .(T56, T57)] 28.26/8.16 28.26/8.16 U6^1(U5(f658_in(.(T56, T57)), .(T56, T57)), .(T56, T57)) -> U6^1(U5(U8(f660_in(.(T56, T57)), .(T56, T57)), .(T56, T57)), .(T56, T57)) 28.26/8.16 with rule f658_in(T35') -> U8(f660_in(T35'), T35') at position [0,0] and matcher [T35' / .(T56, T57)] 28.26/8.16 28.26/8.16 U6^1(U5(U8(f660_in(.(T56, T57)), .(T56, T57)), .(T56, T57)), .(T56, T57)) -> U6^1(U5(U8(f660_out1(T56, T57), .(T56, T57)), .(T56, T57)), .(T56, T57)) 28.26/8.16 with rule f660_in(.(T56', T57')) -> f660_out1(T56', T57') at position [0,0,0] and matcher [T56' / T56, T57' / T57] 28.26/8.16 28.26/8.16 U6^1(U5(U8(f660_out1(T56, T57), .(T56, T57)), .(T56, T57)), .(T56, T57)) -> U6^1(U5(U9(f661_in(T57), .(T56, T57), T56, T57), .(T56, T57)), .(T56, T57)) 28.26/8.16 with rule U8(f660_out1(T36, T42'), T35'') -> U9(f661_in(T42'), T35'', T36, T42') at position [0,0] and matcher [T36 / T56, T42' / T57, T35'' / .(T56, T57)] 28.26/8.16 28.26/8.16 U6^1(U5(U9(f661_in(T57), .(T56, T57), T56, T57), .(T56, T57)), .(T56, T57)) -> U6^1(U5(U9(f661_out1([]), .(T56, T57), T56, T57), .(T56, T57)), .(T56, T57)) 28.26/8.16 with rule f661_in(T130) -> f661_out1([]) at position [0,0,0] and matcher [T130 / T57] 28.26/8.16 28.26/8.16 U6^1(U5(U9(f661_out1([]), .(T56, T57), T56, T57), .(T56, T57)), .(T56, T57)) -> U6^1(U5(f658_out1(T56, T57, []), .(T56, T57)), .(T56, T57)) 28.26/8.16 with rule U9(f661_out1(T43), T35', T36', T42) -> f658_out1(T36', T42, T43) at position [0,0] and matcher [T43 / [], T35' / .(T56, T57), T36' / T56, T42 / T57] 28.26/8.16 28.26/8.16 U6^1(U5(f658_out1(T56, T57, []), .(T56, T57)), .(T56, T57)) -> U6^1(f73_out1(region(T56, [])), .(T56, T57)) 28.26/8.16 with rule U5(f658_out1(T36, X36, T37), T35) -> f73_out1(region(T36, T37)) at position [0] and matcher [T36 / T56, X36 / T57, T37 / [], T35 / .(T56, T57)] 28.26/8.16 28.26/8.16 U6^1(f73_out1(region(T56, [])), .(T56, T57)) -> F3_IN(.(T56, T57)) 28.26/8.16 with rule U6^1(f73_out1(T18), T17') -> F3_IN(T17') at position [] and matcher [T18 / region(T56, []), T17' / .(T56, T57)] 28.26/8.16 28.26/8.16 F3_IN(.(T56, T57)) -> F69_IN(.(T56, T57)) 28.26/8.16 with rule F3_IN(T17) -> F69_IN(T17) 28.26/8.16 28.26/8.16 Now applying the matcher to the start term leads to a term which is equal to the last term in the rewriting sequence 28.26/8.16 28.26/8.16 28.26/8.16 All these steps are and every following step will be a correct step w.r.t to Q. 28.26/8.16 28.26/8.16 28.26/8.16 28.26/8.16 28.26/8.16 ---------------------------------------- 28.26/8.16 28.26/8.16 (112) 28.26/8.16 NO 28.26/8.16 28.26/8.16 ---------------------------------------- 28.26/8.16 28.26/8.16 (113) PrologToIRSwTTransformerProof (SOUND) 28.26/8.16 Transformed Prolog program to IRSwT according to method in Master Thesis of A. Weinert 28.26/8.16 28.26/8.16 { 28.26/8.16 "root": 1, 28.26/8.16 "program": { 28.26/8.16 "directives": [], 28.26/8.16 "clauses": [ 28.26/8.16 [ 28.26/8.16 "(color_map (. Region Regions) Colors)", 28.26/8.16 "(',' (color_region Region Colors) (color_map Regions Colors))" 28.26/8.16 ], 28.26/8.16 [ 28.26/8.16 "(color_map ([]) Colors)", 28.26/8.16 null 28.26/8.16 ], 28.26/8.16 [ 28.26/8.16 "(color_region (region Color Neighbors) Colors)", 28.26/8.16 "(',' (select Color Colors Colors1) (members Neighbors Colors1))" 28.26/8.16 ], 28.26/8.16 [ 28.26/8.16 "(select X (. X Xs) Xs)", 28.26/8.16 null 28.26/8.16 ], 28.26/8.16 [ 28.26/8.16 "(select X (. Y Ys) (. Y Zs))", 28.26/8.16 "(select X Ys Zs)" 28.26/8.16 ], 28.26/8.16 [ 28.26/8.16 "(members (. X Xs) Ys)", 28.26/8.16 "(',' (member X Ys) (members Xs Ys))" 28.26/8.16 ], 28.26/8.16 [ 28.26/8.16 "(members ([]) Ys)", 28.26/8.16 null 28.26/8.16 ], 28.26/8.16 [ 28.26/8.16 "(member X (. X X1))", 28.26/8.16 null 28.26/8.16 ], 28.26/8.16 [ 28.26/8.16 "(member X (. X2 T))", 28.26/8.16 "(member X T)" 28.26/8.16 ], 28.26/8.16 [ 28.26/8.16 "(test_color Name Pairs)", 28.26/8.16 "(',' (colors Name Colors) (',' (color_map Map Colors) (',' (map Name Symbols Map) (symbols Symbols Map Pairs))))" 28.26/8.16 ], 28.26/8.16 [ 28.26/8.16 "(symbols ([]) ([]) ([]))", 28.26/8.16 null 28.26/8.16 ], 28.26/8.16 [ 28.26/8.16 "(symbols (. S Ss) (. (region C N) Rs) (. (pair S C) Ps))", 28.26/8.16 "(symbols Ss Rs Ps)" 28.26/8.16 ], 28.26/8.16 [ 28.26/8.16 "(map (test) (. (a) (. (b) (. (c) (. (d) (. (e) (. (f) ([]))))))) (. (region A (. B (. C (. D ([]))))) (. (region B (. A (. C (. E ([]))))) (. (region C (. A (. B (. D (. E (. F ([]))))))) (. (region D (. A (. C (. F ([]))))) (. (region E (. B (. C (. F ([]))))) (. (region F (. C (. D (. E ([]))))) ([]))))))))", 28.26/8.16 null 28.26/8.16 ], 28.26/8.16 [ 28.26/8.16 "(map (west_europe) (. (portugal) (. (spain) (. (france) (. (belgium) (. (holland) (. (west_germany) (. (luxembourg) (. (italy) (. (switzerland) (. (austria) ([]))))))))))) (. (region P (. E ([]))) (. (region E (. F (. P ([])))) (. (region F (. E (. I (. S (. B (. WG (. L ([])))))))) (. (region B (. F (. H (. L (. WG ([])))))) (. (region H (. B (. WG ([])))) (. (region WG (. F (. A (. S (. H (. B (. L ([])))))))) (. (region L (. F (. B (. WG ([]))))) (. (region I (. F (. A (. S ([]))))) (. (region S (. F (. I (. A (. WG ([])))))) (. (region A (. I (. S (. WG ([]))))) ([]))))))))))))", 28.26/8.16 null 28.26/8.16 ], 28.26/8.16 [ 28.26/8.16 "(colors X (. (red) (. (yellow) (. (blue) (. (white) ([]))))))", 28.26/8.16 null 28.26/8.16 ] 28.26/8.16 ] 28.26/8.16 }, 28.26/8.16 "graph": { 28.26/8.16 "nodes": { 28.26/8.16 "709": { 28.26/8.16 "goal": [], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": [], 28.26/8.16 "free": [], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "67": { 28.26/8.16 "goal": [{ 28.26/8.16 "clause": 1, 28.26/8.16 "scope": 1, 28.26/8.16 "term": "(color_map T1 T2)" 28.26/8.16 }], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": ["T2"], 28.26/8.16 "free": [], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "type": "Nodes", 28.26/8.16 "590": { 28.26/8.16 "goal": [{ 28.26/8.16 "clause": -1, 28.26/8.16 "scope": -1, 28.26/8.16 "term": "(select T36 T35 X36)" 28.26/8.16 }], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": ["T35"], 28.26/8.16 "free": ["X36"], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "592": { 28.26/8.16 "goal": [{ 28.26/8.16 "clause": -1, 28.26/8.16 "scope": -1, 28.26/8.16 "term": "(members T43 T42)" 28.26/8.16 }], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": ["T42"], 28.26/8.16 "free": [], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "572": { 28.26/8.16 "goal": [{ 28.26/8.16 "clause": -1, 28.26/8.16 "scope": -1, 28.26/8.16 "term": "(',' (select T36 T35 X36) (members T37 X36))" 28.26/8.16 }], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": ["T35"], 28.26/8.16 "free": ["X36"], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "750": { 28.26/8.16 "goal": [{ 28.26/8.16 "clause": -1, 28.26/8.16 "scope": -1, 28.26/8.16 "term": "(member T120 T119)" 28.26/8.16 }], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": ["T119"], 28.26/8.16 "free": [], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "553": { 28.26/8.16 "goal": [{ 28.26/8.16 "clause": 2, 28.26/8.16 "scope": 2, 28.26/8.16 "term": "(color_region T18 T17)" 28.26/8.16 }], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": ["T17"], 28.26/8.16 "free": [], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "751": { 28.26/8.16 "goal": [], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": [], 28.26/8.16 "free": [], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "752": { 28.26/8.16 "goal": [{ 28.26/8.16 "clause": -1, 28.26/8.16 "scope": -1, 28.26/8.16 "term": "(true)" 28.26/8.16 }], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": [], 28.26/8.16 "free": [], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "577": { 28.26/8.16 "goal": [], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": [], 28.26/8.16 "free": [], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "753": { 28.26/8.16 "goal": [], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": [], 28.26/8.16 "free": [], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "754": { 28.26/8.16 "goal": [], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": [], 28.26/8.16 "free": [], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "755": { 28.26/8.16 "goal": [{ 28.26/8.16 "clause": -1, 28.26/8.16 "scope": -1, 28.26/8.16 "term": "(true)" 28.26/8.16 }], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": [], 28.26/8.16 "free": [], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "756": { 28.26/8.16 "goal": [], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": [], 28.26/8.16 "free": [], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "757": { 28.26/8.16 "goal": [], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": [], 28.26/8.16 "free": [], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "71": { 28.26/8.16 "goal": [{ 28.26/8.16 "clause": -1, 28.26/8.16 "scope": -1, 28.26/8.16 "term": "(',' (color_region T18 T17) (color_map T19 T17))" 28.26/8.16 }], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": ["T17"], 28.26/8.16 "free": [], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "72": { 28.26/8.16 "goal": [], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": [], 28.26/8.16 "free": [], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "638": { 28.26/8.16 "goal": [{ 28.26/8.16 "clause": -1, 28.26/8.16 "scope": -1, 28.26/8.16 "term": "(true)" 28.26/8.16 }], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": [], 28.26/8.16 "free": [], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "617": { 28.26/8.16 "goal": [{ 28.26/8.16 "clause": 3, 28.26/8.16 "scope": 3, 28.26/8.16 "term": "(select T36 T35 X36)" 28.26/8.16 }], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": ["T35"], 28.26/8.16 "free": ["X36"], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "74": { 28.26/8.16 "goal": [{ 28.26/8.16 "clause": -1, 28.26/8.16 "scope": -1, 28.26/8.16 "term": "(color_region T18 T17)" 28.26/8.16 }], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": ["T17"], 28.26/8.16 "free": [], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "76": { 28.26/8.16 "goal": [{ 28.26/8.16 "clause": -1, 28.26/8.16 "scope": -1, 28.26/8.16 "term": "(color_map T23 T17)" 28.26/8.16 }], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": ["T17"], 28.26/8.16 "free": [], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "1": { 28.26/8.16 "goal": [{ 28.26/8.16 "clause": -1, 28.26/8.16 "scope": -1, 28.26/8.16 "term": "(color_map T1 T2)" 28.26/8.16 }], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.16 }, 28.26/8.16 "ground": ["T2"], 28.26/8.16 "free": [], 28.26/8.16 "exprvars": [] 28.26/8.16 } 28.26/8.16 }, 28.26/8.16 "641": { 28.26/8.16 "goal": [], 28.26/8.16 "kb": { 28.26/8.16 "nonunifying": [], 28.26/8.16 "intvars": {}, 28.26/8.16 "arithmetic": { 28.26/8.16 "type": "PlainIntegerRelationState", 28.26/8.16 "relations": [] 28.26/8.17 }, 28.26/8.17 "ground": [], 28.26/8.17 "free": [], 28.26/8.17 "exprvars": [] 28.26/8.17 } 28.26/8.17 }, 28.26/8.17 "620": { 28.26/8.17 "goal": [{ 28.26/8.17 "clause": 4, 28.26/8.17 "scope": 3, 28.26/8.17 "term": "(select T36 T35 X36)" 28.26/8.17 }], 28.26/8.17 "kb": { 28.26/8.17 "nonunifying": [], 28.26/8.17 "intvars": {}, 28.26/8.17 "arithmetic": { 28.26/8.17 "type": "PlainIntegerRelationState", 28.26/8.17 "relations": [] 28.26/8.17 }, 28.26/8.17 "ground": ["T35"], 28.26/8.17 "free": ["X36"], 28.26/8.17 "exprvars": [] 28.26/8.17 } 28.26/8.17 }, 28.26/8.17 "642": { 28.26/8.17 "goal": [], 28.26/8.17 "kb": { 28.26/8.17 "nonunifying": [], 28.26/8.17 "intvars": {}, 28.26/8.17 "arithmetic": { 28.26/8.17 "type": "PlainIntegerRelationState", 28.26/8.17 "relations": [] 28.26/8.17 }, 28.26/8.17 "ground": [], 28.26/8.17 "free": [], 28.26/8.17 "exprvars": [] 28.26/8.17 } 28.26/8.17 }, 28.26/8.17 "742": { 28.26/8.17 "goal": [{ 28.26/8.17 "clause": -1, 28.26/8.17 "scope": -1, 28.26/8.17 "term": "(member T90 T89)" 28.26/8.17 }], 28.26/8.17 "kb": { 28.26/8.17 "nonunifying": [], 28.26/8.17 "intvars": {}, 28.26/8.17 "arithmetic": { 28.26/8.17 "type": "PlainIntegerRelationState", 28.26/8.17 "relations": [] 28.26/8.17 }, 28.26/8.17 "ground": ["T89"], 28.26/8.17 "free": [], 28.26/8.17 "exprvars": [] 28.26/8.17 } 28.26/8.17 }, 28.26/8.17 "743": { 28.26/8.17 "goal": [{ 28.26/8.17 "clause": -1, 28.26/8.17 "scope": -1, 28.26/8.17 "term": "(members T96 T89)" 28.26/8.17 }], 28.26/8.17 "kb": { 28.26/8.17 "nonunifying": [], 28.26/8.17 "intvars": {}, 28.26/8.17 "arithmetic": { 28.26/8.17 "type": "PlainIntegerRelationState", 28.26/8.17 "relations": [] 28.26/8.17 }, 28.26/8.17 "ground": ["T89"], 28.26/8.17 "free": [], 28.26/8.17 "exprvars": [] 28.26/8.17 } 28.26/8.17 }, 28.26/8.17 "744": { 28.26/8.17 "goal": [ 28.26/8.17 { 28.26/8.17 "clause": 7, 28.26/8.17 "scope": 5, 28.26/8.17 "term": "(member T90 T89)" 28.26/8.17 }, 28.26/8.17 { 28.26/8.17 "clause": 8, 28.26/8.17 "scope": 5, 28.26/8.17 "term": "(member T90 T89)" 28.26/8.17 } 28.26/8.17 ], 28.26/8.17 "kb": { 28.26/8.17 "nonunifying": [], 28.26/8.17 "intvars": {}, 28.26/8.17 "arithmetic": { 28.26/8.17 "type": "PlainIntegerRelationState", 28.26/8.17 "relations": [] 28.26/8.17 }, 28.26/8.17 "ground": ["T89"], 28.26/8.17 "free": [], 28.26/8.17 "exprvars": [] 28.26/8.17 } 28.26/8.17 }, 28.26/8.17 "745": { 28.26/8.17 "goal": [{ 28.26/8.17 "clause": 7, 28.26/8.17 "scope": 5, 28.26/8.17 "term": "(member T90 T89)" 28.26/8.17 }], 28.26/8.17 "kb": { 28.26/8.17 "nonunifying": [], 28.26/8.17 "intvars": {}, 28.26/8.17 "arithmetic": { 28.26/8.17 "type": "PlainIntegerRelationState", 28.26/8.17 "relations": [] 28.26/8.17 }, 28.26/8.17 "ground": ["T89"], 28.26/8.17 "free": [], 28.26/8.17 "exprvars": [] 28.26/8.17 } 28.26/8.17 }, 28.26/8.17 "746": { 28.26/8.17 "goal": [{ 28.26/8.17 "clause": 8, 28.26/8.17 "scope": 5, 28.26/8.17 "term": "(member T90 T89)" 28.26/8.17 }], 28.26/8.17 "kb": { 28.26/8.17 "nonunifying": [], 28.26/8.17 "intvars": {}, 28.26/8.17 "arithmetic": { 28.26/8.17 "type": "PlainIntegerRelationState", 28.26/8.17 "relations": [] 28.26/8.17 }, 28.26/8.17 "ground": ["T89"], 28.26/8.17 "free": [], 28.26/8.17 "exprvars": [] 28.26/8.17 } 28.26/8.17 }, 28.26/8.17 "60": { 28.26/8.17 "goal": [ 28.26/8.17 { 28.26/8.17 "clause": 0, 28.26/8.17 "scope": 1, 28.26/8.17 "term": "(color_map T1 T2)" 28.26/8.17 }, 28.26/8.17 { 28.26/8.17 "clause": 1, 28.26/8.17 "scope": 1, 28.26/8.17 "term": "(color_map T1 T2)" 28.26/8.17 } 28.26/8.17 ], 28.26/8.17 "kb": { 28.26/8.17 "nonunifying": [], 28.26/8.17 "intvars": {}, 28.26/8.17 "arithmetic": { 28.26/8.17 "type": "PlainIntegerRelationState", 28.26/8.17 "relations": [] 28.26/8.17 }, 28.26/8.17 "ground": ["T2"], 28.26/8.17 "free": [], 28.26/8.17 "exprvars": [] 28.26/8.17 } 28.26/8.17 }, 28.26/8.17 "703": { 28.26/8.17 "goal": [{ 28.26/8.17 "clause": -1, 28.26/8.17 "scope": -1, 28.26/8.17 "term": "(select T67 T66 X69)" 28.26/8.17 }], 28.26/8.17 "kb": { 28.26/8.17 "nonunifying": [], 28.26/8.17 "intvars": {}, 28.26/8.17 "arithmetic": { 28.26/8.17 "type": "PlainIntegerRelationState", 28.26/8.17 "relations": [] 28.26/8.17 }, 28.26/8.17 "ground": ["T66"], 28.26/8.17 "free": ["X69"], 28.26/8.17 "exprvars": [] 28.26/8.17 } 28.26/8.17 }, 28.26/8.17 "747": { 28.26/8.17 "goal": [{ 28.26/8.17 "clause": -1, 28.26/8.17 "scope": -1, 28.26/8.17 "term": "(true)" 28.26/8.17 }], 28.26/8.17 "kb": { 28.26/8.17 "nonunifying": [], 28.26/8.17 "intvars": {}, 28.26/8.17 "arithmetic": { 28.26/8.17 "type": "PlainIntegerRelationState", 28.26/8.17 "relations": [] 28.26/8.17 }, 28.26/8.17 "ground": [], 28.26/8.17 "free": [], 28.26/8.17 "exprvars": [] 28.26/8.17 } 28.26/8.17 }, 28.26/8.17 "704": { 28.26/8.17 "goal": [], 28.26/8.17 "kb": { 28.26/8.17 "nonunifying": [], 28.26/8.17 "intvars": {}, 28.26/8.17 "arithmetic": { 28.26/8.17 "type": "PlainIntegerRelationState", 28.26/8.17 "relations": [] 28.26/8.17 }, 28.26/8.17 "ground": [], 28.26/8.17 "free": [], 28.26/8.17 "exprvars": [] 28.26/8.17 } 28.26/8.17 }, 28.26/8.17 "748": { 28.26/8.17 "goal": [], 28.26/8.17 "kb": { 28.26/8.17 "nonunifying": [], 28.26/8.17 "intvars": {}, 28.26/8.17 "arithmetic": { 28.26/8.17 "type": "PlainIntegerRelationState", 28.26/8.17 "relations": [] 28.26/8.17 }, 28.26/8.17 "ground": [], 28.26/8.17 "free": [], 28.26/8.17 "exprvars": [] 28.26/8.17 } 28.26/8.17 }, 28.26/8.17 "606": { 28.26/8.17 "goal": [ 28.26/8.17 { 28.26/8.17 "clause": 3, 28.26/8.17 "scope": 3, 28.26/8.17 "term": "(select T36 T35 X36)" 28.26/8.17 }, 28.26/8.17 { 28.26/8.17 "clause": 4, 28.26/8.17 "scope": 3, 28.26/8.17 "term": "(select T36 T35 X36)" 28.26/8.17 } 28.26/8.17 ], 28.26/8.17 "kb": { 28.26/8.17 "nonunifying": [], 28.26/8.17 "intvars": {}, 28.26/8.17 "arithmetic": { 28.26/8.17 "type": "PlainIntegerRelationState", 28.26/8.17 "relations": [] 28.26/8.17 }, 28.26/8.17 "ground": ["T35"], 28.26/8.17 "free": ["X36"], 28.26/8.17 "exprvars": [] 28.26/8.17 } 28.26/8.17 }, 28.26/8.17 "705": { 28.26/8.17 "goal": [ 28.26/8.17 { 28.26/8.17 "clause": 5, 28.26/8.17 "scope": 4, 28.26/8.17 "term": "(members T43 T42)" 28.26/8.17 }, 28.26/8.17 { 28.26/8.17 "clause": 6, 28.26/8.17 "scope": 4, 28.26/8.17 "term": "(members T43 T42)" 28.26/8.17 } 28.26/8.17 ], 28.26/8.17 "kb": { 28.26/8.17 "nonunifying": [], 28.26/8.17 "intvars": {}, 28.26/8.17 "arithmetic": { 28.26/8.17 "type": "PlainIntegerRelationState", 28.26/8.17 "relations": [] 28.26/8.17 }, 28.26/8.17 "ground": ["T42"], 28.26/8.17 "free": [], 28.26/8.17 "exprvars": [] 28.26/8.17 } 28.26/8.17 }, 28.26/8.17 "749": { 28.26/8.17 "goal": [], 28.26/8.17 "kb": { 28.26/8.17 "nonunifying": [], 28.26/8.17 "intvars": {}, 28.26/8.17 "arithmetic": { 28.26/8.17 "type": "PlainIntegerRelationState", 28.26/8.17 "relations": [] 28.26/8.17 }, 28.26/8.17 "ground": [], 28.26/8.17 "free": [], 28.26/8.17 "exprvars": [] 28.26/8.17 } 28.26/8.17 }, 28.26/8.17 "63": { 28.26/8.17 "goal": [{ 28.26/8.17 "clause": 0, 28.26/8.17 "scope": 1, 28.26/8.17 "term": "(color_map T1 T2)" 28.26/8.17 }], 28.26/8.17 "kb": { 28.26/8.17 "nonunifying": [], 28.26/8.17 "intvars": {}, 28.26/8.17 "arithmetic": { 28.26/8.17 "type": "PlainIntegerRelationState", 28.26/8.17 "relations": [] 28.26/8.17 }, 28.26/8.17 "ground": ["T2"], 28.26/8.17 "free": [], 28.26/8.17 "exprvars": [] 28.26/8.17 } 28.26/8.17 }, 28.26/8.17 "706": { 28.26/8.17 "goal": [{ 28.26/8.17 "clause": 5, 28.26/8.17 "scope": 4, 28.26/8.17 "term": "(members T43 T42)" 28.26/8.17 }], 28.26/8.17 "kb": { 28.26/8.17 "nonunifying": [], 28.26/8.17 "intvars": {}, 28.26/8.17 "arithmetic": { 28.26/8.17 "type": "PlainIntegerRelationState", 28.26/8.17 "relations": [] 28.26/8.17 }, 28.26/8.17 "ground": ["T42"], 28.26/8.17 "free": [], 28.26/8.17 "exprvars": [] 28.26/8.17 } 28.26/8.17 }, 28.26/8.17 "707": { 28.26/8.17 "goal": [{ 28.26/8.17 "clause": 6, 28.26/8.17 "scope": 4, 28.26/8.17 "term": "(members T43 T42)" 28.26/8.17 }], 28.26/8.17 "kb": { 28.26/8.17 "nonunifying": [], 28.26/8.17 "intvars": {}, 28.26/8.17 "arithmetic": { 28.26/8.17 "type": "PlainIntegerRelationState", 28.26/8.17 "relations": [] 28.26/8.17 }, 28.26/8.17 "ground": ["T42"], 28.26/8.17 "free": [], 28.26/8.17 "exprvars": [] 28.26/8.17 } 28.26/8.17 }, 28.26/8.17 "708": { 28.26/8.17 "goal": [{ 28.26/8.17 "clause": -1, 28.26/8.17 "scope": -1, 28.26/8.17 "term": "(',' (member T90 T89) (members T91 T89))" 28.26/8.17 }], 28.26/8.17 "kb": { 28.26/8.17 "nonunifying": [], 28.26/8.17 "intvars": {}, 28.26/8.17 "arithmetic": { 28.26/8.17 "type": "PlainIntegerRelationState", 28.26/8.17 "relations": [] 28.26/8.17 }, 28.26/8.17 "ground": ["T89"], 28.26/8.17 "free": [], 28.26/8.17 "exprvars": [] 28.26/8.17 } 28.26/8.17 } 28.26/8.17 }, 28.26/8.17 "edges": [ 28.26/8.17 { 28.26/8.17 "from": 1, 28.26/8.17 "to": 60, 28.26/8.17 "label": "CASE" 28.26/8.17 }, 28.26/8.17 { 28.26/8.17 "from": 60, 28.26/8.17 "to": 63, 28.26/8.17 "label": "PARALLEL" 28.26/8.17 }, 28.26/8.17 { 28.26/8.17 "from": 60, 28.26/8.17 "to": 67, 28.26/8.17 "label": "PARALLEL" 28.26/8.17 }, 28.26/8.17 { 28.26/8.17 "from": 63, 28.26/8.17 "to": 71, 28.26/8.17 "label": "EVAL with clause\ncolor_map(.(X15, X16), X17) :- ','(color_region(X15, X17), color_map(X16, X17)).\nand substitutionX15 -> T18,\nX16 -> T19,\nT1 -> .(T18, T19),\nT2 -> T17,\nX17 -> T17,\nT15 -> T18,\nT16 -> T19" 28.26/8.17 }, 28.26/8.17 { 28.26/8.17 "from": 63, 28.26/8.17 "to": 72, 28.26/8.17 "label": "EVAL-BACKTRACK" 28.26/8.17 }, 28.26/8.17 { 28.26/8.17 "from": 67, 28.26/8.17 "to": 755, 28.26/8.17 "label": "EVAL with clause\ncolor_map([], X134).\nand substitutionT1 -> [],\nT2 -> T136,\nX134 -> T136" 28.26/8.17 }, 28.26/8.17 { 28.26/8.17 "from": 67, 28.26/8.17 "to": 756, 28.26/8.17 "label": "EVAL-BACKTRACK" 28.26/8.17 }, 28.26/8.17 { 28.26/8.17 "from": 71, 28.26/8.17 "to": 74, 28.26/8.17 "label": "SPLIT 1" 28.26/8.17 }, 28.26/8.17 { 28.26/8.17 "from": 71, 28.26/8.17 "to": 76, 28.26/8.17 "label": "SPLIT 2\nnew knowledge:\nT18 is ground\nT17 is ground\nreplacements:T19 -> T23" 28.26/8.17 }, 28.26/8.17 { 28.26/8.17 "from": 74, 28.26/8.17 "to": 553, 28.26/8.17 "label": "CASE" 28.26/8.17 }, 28.26/8.17 { 28.26/8.17 "from": 76, 28.26/8.17 "to": 1, 28.26/8.17 "label": "INSTANCE with matching:\nT1 -> T23\nT2 -> T17" 28.26/8.17 }, 28.26/8.17 { 28.26/8.17 "from": 553, 28.26/8.17 "to": 572, 28.26/8.17 "label": "EVAL with clause\ncolor_region(region(X33, X34), X35) :- ','(select(X33, X35, X36), members(X34, X36)).\nand substitutionX33 -> T36,\nX34 -> T37,\nT18 -> region(T36, T37),\nT17 -> T35,\nX35 -> T35,\nT33 -> T36,\nT34 -> T37" 28.26/8.17 }, 28.26/8.17 { 28.26/8.17 "from": 553, 28.26/8.17 "to": 577, 28.26/8.17 "label": "EVAL-BACKTRACK" 28.26/8.17 }, 28.26/8.17 { 28.26/8.17 "from": 572, 28.26/8.17 "to": 590, 28.26/8.17 "label": "SPLIT 1" 28.26/8.17 }, 28.26/8.17 { 28.26/8.17 "from": 572, 28.26/8.17 "to": 592, 28.26/8.17 "label": "SPLIT 2\nnew knowledge:\nT36 is ground\nT35 is ground\nT42 is ground\nreplacements:X36 -> T42,\nT37 -> T43" 28.26/8.17 }, 28.26/8.17 { 28.26/8.17 "from": 590, 28.26/8.17 "to": 606, 28.26/8.17 "label": "CASE" 28.26/8.17 }, 28.26/8.17 { 28.26/8.17 "from": 592, 28.26/8.17 "to": 705, 28.26/8.17 "label": "CASE" 28.26/8.17 }, 28.26/8.17 { 28.26/8.17 "from": 606, 28.26/8.17 "to": 617, 28.26/8.17 "label": "PARALLEL" 28.26/8.17 }, 28.26/8.17 { 28.26/8.17 "from": 606, 28.26/8.17 "to": 620, 28.26/8.17 "label": "PARALLEL" 28.26/8.17 }, 28.26/8.17 { 28.26/8.17 "from": 617, 28.26/8.17 "to": 638, 28.26/8.17 "label": "EVAL with clause\nselect(X53, .(X53, X54), X54).\nand substitutionT36 -> T56,\nX53 -> T56,\nX54 -> T57,\nT35 -> .(T56, T57),\nX36 -> T57" 28.26/8.17 }, 28.26/8.17 { 28.26/8.17 "from": 617, 28.26/8.17 "to": 641, 28.26/8.17 "label": "EVAL-BACKTRACK" 28.26/8.17 }, 28.26/8.17 { 28.26/8.17 "from": 620, 28.26/8.17 "to": 703, 28.26/8.17 "label": "EVAL with clause\nselect(X65, .(X66, X67), .(X66, X68)) :- select(X65, X67, X68).\nand substitutionT36 -> T67,\nX65 -> T67,\nX66 -> T65,\nX67 -> T66,\nT35 -> .(T65, T66),\nX68 -> X69,\nX36 -> .(T65, X69),\nT64 -> T67" 28.26/8.17 }, 28.26/8.17 { 28.26/8.17 "from": 620, 28.26/8.17 "to": 704, 28.26/8.17 "label": "EVAL-BACKTRACK" 28.26/8.17 }, 28.26/8.17 { 28.26/8.17 "from": 638, 28.26/8.17 "to": 642, 28.26/8.17 "label": "SUCCESS" 28.26/8.17 }, 28.26/8.17 { 28.26/8.17 "from": 703, 28.26/8.17 "to": 590, 28.26/8.17 "label": "INSTANCE with matching:\nT36 -> T67\nT35 -> T66\nX36 -> X69" 28.26/8.17 }, 28.26/8.17 { 28.26/8.17 "from": 705, 28.26/8.17 "to": 706, 28.26/8.17 "label": "PARALLEL" 28.26/8.17 }, 28.26/8.17 { 28.26/8.17 "from": 705, 28.26/8.17 "to": 707, 28.26/8.17 "label": "PARALLEL" 28.26/8.17 }, 28.26/8.17 { 28.26/8.17 "from": 706, 28.26/8.17 "to": 708, 28.26/8.17 "label": "EVAL with clause\nmembers(.(X89, X90), X91) :- ','(member(X89, X91), members(X90, X91)).\nand substitutionX89 -> T90,\nX90 -> T91,\nT43 -> .(T90, T91),\nT42 -> T89,\nX91 -> T89,\nT87 -> T90,\nT88 -> T91" 28.26/8.17 }, 28.26/8.17 { 28.26/8.17 "from": 706, 28.26/8.17 "to": 709, 28.26/8.17 "label": "EVAL-BACKTRACK" 28.26/8.17 }, 28.26/8.17 { 28.26/8.17 "from": 707, 28.26/8.17 "to": 752, 28.26/8.17 "label": "EVAL with clause\nmembers([], X128).\nand substitutionT43 -> [],\nT42 -> T130,\nX128 -> T130" 28.26/8.17 }, 28.26/8.17 { 28.26/8.17 "from": 707, 28.26/8.17 "to": 753, 28.26/8.17 "label": "EVAL-BACKTRACK" 28.26/8.17 }, 28.26/8.17 { 28.26/8.17 "from": 708, 28.26/8.17 "to": 742, 28.26/8.17 "label": "SPLIT 1" 28.26/8.17 }, 28.26/8.17 { 28.26/8.17 "from": 708, 28.26/8.17 "to": 743, 28.26/8.17 "label": "SPLIT 2\nnew knowledge:\nT90 is ground\nT89 is ground\nreplacements:T91 -> T96" 28.26/8.17 }, 28.26/8.17 { 28.26/8.17 "from": 742, 28.26/8.17 "to": 744, 28.26/8.17 "label": "CASE" 28.26/8.17 }, 28.26/8.17 { 28.26/8.17 "from": 743, 28.26/8.17 "to": 592, 28.26/8.17 "label": "INSTANCE with matching:\nT43 -> T96\nT42 -> T89" 28.26/8.17 }, 28.26/8.17 { 28.26/8.17 "from": 744, 28.26/8.17 "to": 745, 28.26/8.17 "label": "PARALLEL" 28.26/8.17 }, 28.26/8.17 { 28.26/8.17 "from": 744, 28.26/8.17 "to": 746, 28.26/8.17 "label": "PARALLEL" 28.26/8.17 }, 28.26/8.17 { 28.26/8.17 "from": 745, 28.26/8.17 "to": 747, 28.26/8.17 "label": "EVAL with clause\nmember(X108, .(X108, X109)).\nand substitutionT90 -> T109,\nX108 -> T109,\nX109 -> T110,\nT89 -> .(T109, T110)" 28.26/8.17 }, 28.26/8.17 { 28.26/8.17 "from": 745, 28.26/8.17 "to": 748, 28.26/8.17 "label": "EVAL-BACKTRACK" 28.26/8.17 }, 28.26/8.17 { 28.26/8.17 "from": 746, 28.26/8.17 "to": 750, 28.26/8.17 "label": "EVAL with clause\nmember(X116, .(X117, X118)) :- member(X116, X118).\nand substitutionT90 -> T120,\nX116 -> T120,\nX117 -> T118,\nX118 -> T119,\nT89 -> .(T118, T119),\nT117 -> T120" 28.26/8.17 }, 28.26/8.17 { 28.26/8.17 "from": 746, 28.26/8.17 "to": 751, 28.26/8.17 "label": "EVAL-BACKTRACK" 28.26/8.17 }, 28.26/8.17 { 28.26/8.17 "from": 747, 28.26/8.17 "to": 749, 28.26/8.17 "label": "SUCCESS" 28.26/8.17 }, 28.26/8.17 { 28.26/8.17 "from": 750, 28.26/8.17 "to": 742, 28.26/8.17 "label": "INSTANCE with matching:\nT90 -> T120\nT89 -> T119" 28.26/8.17 }, 28.26/8.17 { 28.26/8.17 "from": 752, 28.26/8.17 "to": 754, 28.26/8.17 "label": "SUCCESS" 28.26/8.17 }, 28.26/8.17 { 28.26/8.17 "from": 755, 28.26/8.17 "to": 757, 28.26/8.17 "label": "SUCCESS" 28.26/8.17 } 28.26/8.17 ], 28.26/8.17 "type": "Graph" 28.26/8.17 } 28.26/8.17 } 28.26/8.17 28.26/8.17 ---------------------------------------- 28.26/8.17 28.26/8.17 (114) 28.26/8.17 Complex Obligation (AND) 28.26/8.17 28.26/8.17 ---------------------------------------- 28.26/8.17 28.26/8.17 (115) 28.26/8.17 Obligation: 28.26/8.17 Rules: 28.26/8.17 f742_in(T89) -> f744_in(T89) :|: TRUE 28.26/8.17 f744_out(x) -> f742_out(x) :|: TRUE 28.26/8.17 f750_in(T119) -> f742_in(T119) :|: TRUE 28.26/8.17 f742_out(x1) -> f750_out(x1) :|: TRUE 28.26/8.17 f744_in(x2) -> f746_in(x2) :|: TRUE 28.26/8.17 f744_in(x3) -> f745_in(x3) :|: TRUE 28.26/8.17 f745_out(x4) -> f744_out(x4) :|: TRUE 28.26/8.17 f746_out(x5) -> f744_out(x5) :|: TRUE 28.26/8.17 f746_in(x6) -> f751_in :|: TRUE 28.26/8.17 f746_in(.(x7, x8)) -> f750_in(x8) :|: TRUE 28.26/8.17 f751_out -> f746_out(x9) :|: TRUE 28.26/8.17 f750_out(x10) -> f746_out(.(x11, x10)) :|: TRUE 28.26/8.17 f60_out(T2) -> f1_out(T2) :|: TRUE 28.26/8.17 f1_in(x12) -> f60_in(x12) :|: TRUE 28.26/8.17 f60_in(x13) -> f63_in(x13) :|: TRUE 28.26/8.17 f67_out(x14) -> f60_out(x14) :|: TRUE 28.26/8.17 f60_in(x15) -> f67_in(x15) :|: TRUE 28.26/8.17 f63_out(x16) -> f60_out(x16) :|: TRUE 28.26/8.17 f71_out(T17) -> f63_out(T17) :|: TRUE 28.26/8.17 f63_in(x17) -> f71_in(x17) :|: TRUE 28.26/8.17 f72_out -> f63_out(x18) :|: TRUE 28.26/8.17 f63_in(x19) -> f72_in :|: TRUE 28.26/8.17 f71_in(x20) -> f74_in(x20) :|: TRUE 28.26/8.17 f74_out(x21) -> f76_in(x21) :|: TRUE 28.26/8.17 f76_out(x22) -> f71_out(x22) :|: TRUE 28.26/8.17 f74_in(x23) -> f553_in(x23) :|: TRUE 28.26/8.17 f553_out(x24) -> f74_out(x24) :|: TRUE 28.26/8.17 f577_out -> f553_out(x25) :|: TRUE 28.26/8.17 f572_out(T35) -> f553_out(T35) :|: TRUE 28.26/8.17 f553_in(x26) -> f577_in :|: TRUE 28.26/8.17 f553_in(x27) -> f572_in(x27) :|: TRUE 28.26/8.17 f592_out(x28) -> f572_out(x29) :|: TRUE 28.26/8.17 f572_in(x30) -> f590_in(x30) :|: TRUE 28.26/8.17 f590_out(x31) -> f592_in(x32) :|: TRUE 28.26/8.17 f705_out(T42) -> f592_out(T42) :|: TRUE 28.26/8.17 f592_in(x33) -> f705_in(x33) :|: TRUE 28.26/8.17 f706_out(x34) -> f705_out(x34) :|: TRUE 28.26/8.17 f707_out(x35) -> f705_out(x35) :|: TRUE 28.26/8.17 f705_in(x36) -> f706_in(x36) :|: TRUE 28.26/8.17 f705_in(x37) -> f707_in(x37) :|: TRUE 28.26/8.17 f709_out -> f706_out(x38) :|: TRUE 28.26/8.17 f708_out(x39) -> f706_out(x39) :|: TRUE 28.26/8.17 f706_in(x40) -> f708_in(x40) :|: TRUE 28.26/8.17 f706_in(x41) -> f709_in :|: TRUE 28.26/8.17 f742_out(x42) -> f743_in(x42) :|: TRUE 28.26/8.17 f708_in(x43) -> f742_in(x43) :|: TRUE 28.26/8.17 f743_out(x44) -> f708_out(x44) :|: TRUE 28.26/8.17 Start term: f1_in(T2) 28.26/8.17 28.26/8.17 ---------------------------------------- 28.26/8.17 28.26/8.17 (116) IRSwTSimpleDependencyGraphProof (EQUIVALENT) 28.26/8.17 Constructed simple dependency graph. 28.26/8.17 28.26/8.17 Simplified to the following IRSwTs: 28.26/8.17 28.26/8.17 28.26/8.17 ---------------------------------------- 28.26/8.17 28.26/8.17 (117) 28.26/8.17 TRUE 28.26/8.17 28.26/8.17 ---------------------------------------- 28.26/8.17 28.26/8.17 (118) 28.26/8.17 Obligation: 28.26/8.17 Rules: 28.26/8.17 f705_out(T42) -> f592_out(T42) :|: TRUE 28.26/8.17 f592_in(x) -> f705_in(x) :|: TRUE 28.26/8.17 f742_in(T89) -> f744_in(T89) :|: TRUE 28.26/8.17 f744_out(x1) -> f742_out(x1) :|: TRUE 28.26/8.17 f742_out(x2) -> f743_in(x2) :|: TRUE 28.26/8.17 f708_in(x3) -> f742_in(x3) :|: TRUE 28.26/8.17 f743_out(x4) -> f708_out(x4) :|: TRUE 28.26/8.17 f744_in(x5) -> f746_in(x5) :|: TRUE 28.26/8.17 f744_in(x6) -> f745_in(x6) :|: TRUE 28.26/8.17 f745_out(x7) -> f744_out(x7) :|: TRUE 28.26/8.17 f746_out(x8) -> f744_out(x8) :|: TRUE 28.26/8.17 f706_out(x9) -> f705_out(x9) :|: TRUE 28.26/8.17 f707_out(x10) -> f705_out(x10) :|: TRUE 28.26/8.17 f705_in(x11) -> f706_in(x11) :|: TRUE 28.26/8.17 f705_in(x12) -> f707_in(x12) :|: TRUE 28.26/8.17 f709_out -> f706_out(x13) :|: TRUE 28.26/8.17 f708_out(x14) -> f706_out(x14) :|: TRUE 28.26/8.17 f706_in(x15) -> f708_in(x15) :|: TRUE 28.26/8.17 f706_in(x16) -> f709_in :|: TRUE 28.26/8.17 f746_in(x17) -> f751_in :|: TRUE 28.26/8.17 f746_in(.(T118, T119)) -> f750_in(T119) :|: TRUE 28.26/8.17 f751_out -> f746_out(x18) :|: TRUE 28.26/8.17 f750_out(x19) -> f746_out(.(x20, x19)) :|: TRUE 28.26/8.17 f750_in(x21) -> f742_in(x21) :|: TRUE 28.26/8.17 f742_out(x22) -> f750_out(x22) :|: TRUE 28.26/8.17 f745_in(x23) -> f748_in :|: TRUE 28.26/8.17 f745_in(.(T109, T110)) -> f747_in :|: TRUE 28.26/8.17 f747_out -> f745_out(.(x24, x25)) :|: TRUE 28.26/8.17 f748_out -> f745_out(x26) :|: TRUE 28.26/8.17 f747_in -> f747_out :|: TRUE 28.26/8.17 f592_out(x27) -> f743_out(x27) :|: TRUE 28.26/8.17 f743_in(x28) -> f592_in(x28) :|: TRUE 28.26/8.17 f60_out(T2) -> f1_out(T2) :|: TRUE 28.26/8.17 f1_in(x29) -> f60_in(x29) :|: TRUE 28.26/8.17 f60_in(x30) -> f63_in(x30) :|: TRUE 28.26/8.17 f67_out(x31) -> f60_out(x31) :|: TRUE 28.26/8.17 f60_in(x32) -> f67_in(x32) :|: TRUE 28.26/8.17 f63_out(x33) -> f60_out(x33) :|: TRUE 28.26/8.17 f71_out(T17) -> f63_out(T17) :|: TRUE 28.26/8.17 f63_in(x34) -> f71_in(x34) :|: TRUE 28.26/8.17 f72_out -> f63_out(x35) :|: TRUE 28.26/8.17 f63_in(x36) -> f72_in :|: TRUE 28.26/8.17 f71_in(x37) -> f74_in(x37) :|: TRUE 28.26/8.17 f74_out(x38) -> f76_in(x38) :|: TRUE 28.26/8.17 f76_out(x39) -> f71_out(x39) :|: TRUE 28.26/8.17 f74_in(x40) -> f553_in(x40) :|: TRUE 28.26/8.17 f553_out(x41) -> f74_out(x41) :|: TRUE 28.26/8.17 f577_out -> f553_out(x42) :|: TRUE 28.26/8.17 f572_out(T35) -> f553_out(T35) :|: TRUE 28.26/8.17 f553_in(x43) -> f577_in :|: TRUE 28.26/8.17 f553_in(x44) -> f572_in(x44) :|: TRUE 28.26/8.17 f592_out(x45) -> f572_out(x46) :|: TRUE 28.26/8.17 f572_in(x47) -> f590_in(x47) :|: TRUE 28.26/8.17 f590_out(x48) -> f592_in(x49) :|: TRUE 28.26/8.17 Start term: f1_in(T2) 28.26/8.17 28.26/8.17 ---------------------------------------- 28.26/8.17 28.26/8.17 (119) IRSwTSimpleDependencyGraphProof (EQUIVALENT) 28.26/8.17 Constructed simple dependency graph. 28.26/8.17 28.26/8.17 Simplified to the following IRSwTs: 28.26/8.17 28.26/8.17 28.26/8.17 ---------------------------------------- 28.26/8.17 28.26/8.17 (120) 28.26/8.17 TRUE 28.26/8.17 28.26/8.17 ---------------------------------------- 28.26/8.17 28.26/8.17 (121) 28.26/8.17 Obligation: 28.26/8.17 Rules: 28.26/8.17 f590_out(T66) -> f703_out(T66) :|: TRUE 28.26/8.17 f703_in(x) -> f590_in(x) :|: TRUE 28.26/8.17 f620_in(.(x1, x2)) -> f703_in(x2) :|: TRUE 28.26/8.17 f703_out(x3) -> f620_out(.(x4, x3)) :|: TRUE 28.26/8.17 f620_in(T35) -> f704_in :|: TRUE 28.26/8.17 f704_out -> f620_out(x5) :|: TRUE 28.26/8.17 f606_in(x6) -> f617_in(x6) :|: TRUE 28.26/8.17 f606_in(x7) -> f620_in(x7) :|: TRUE 28.26/8.17 f620_out(x8) -> f606_out(x8) :|: TRUE 28.26/8.17 f617_out(x9) -> f606_out(x9) :|: TRUE 28.26/8.17 f606_out(x10) -> f590_out(x10) :|: TRUE 28.26/8.17 f590_in(x11) -> f606_in(x11) :|: TRUE 28.26/8.17 f60_out(T2) -> f1_out(T2) :|: TRUE 28.26/8.17 f1_in(x12) -> f60_in(x12) :|: TRUE 28.26/8.17 f60_in(x13) -> f63_in(x13) :|: TRUE 28.26/8.17 f67_out(x14) -> f60_out(x14) :|: TRUE 28.26/8.17 f60_in(x15) -> f67_in(x15) :|: TRUE 28.26/8.17 f63_out(x16) -> f60_out(x16) :|: TRUE 28.26/8.17 f71_out(T17) -> f63_out(T17) :|: TRUE 28.26/8.17 f63_in(x17) -> f71_in(x17) :|: TRUE 28.26/8.17 f72_out -> f63_out(x18) :|: TRUE 28.26/8.17 f63_in(x19) -> f72_in :|: TRUE 28.26/8.17 f71_in(x20) -> f74_in(x20) :|: TRUE 28.26/8.17 f74_out(x21) -> f76_in(x21) :|: TRUE 28.26/8.17 f76_out(x22) -> f71_out(x22) :|: TRUE 28.26/8.17 f74_in(x23) -> f553_in(x23) :|: TRUE 28.26/8.17 f553_out(x24) -> f74_out(x24) :|: TRUE 28.26/8.17 f577_out -> f553_out(x25) :|: TRUE 28.26/8.17 f572_out(x26) -> f553_out(x26) :|: TRUE 28.26/8.17 f553_in(x27) -> f577_in :|: TRUE 28.26/8.17 f553_in(x28) -> f572_in(x28) :|: TRUE 28.26/8.17 f592_out(x29) -> f572_out(x30) :|: TRUE 28.26/8.17 f572_in(x31) -> f590_in(x31) :|: TRUE 28.26/8.17 f590_out(x32) -> f592_in(x33) :|: TRUE 28.26/8.17 Start term: f1_in(T2) 28.26/8.17 28.26/8.17 ---------------------------------------- 28.26/8.17 28.26/8.17 (122) IRSwTSimpleDependencyGraphProof (EQUIVALENT) 28.26/8.17 Constructed simple dependency graph. 28.26/8.17 28.26/8.17 Simplified to the following IRSwTs: 28.26/8.17 28.26/8.17 intTRSProblem: 28.26/8.17 f703_in(x) -> f590_in(x) :|: TRUE 28.26/8.17 f620_in(.(x1, x2)) -> f703_in(x2) :|: TRUE 28.26/8.17 f606_in(x7) -> f620_in(x7) :|: TRUE 28.26/8.17 f590_in(x11) -> f606_in(x11) :|: TRUE 28.26/8.17 28.26/8.17 28.26/8.17 ---------------------------------------- 28.26/8.17 28.26/8.17 (123) 28.26/8.17 Obligation: 28.26/8.17 Rules: 28.26/8.17 f703_in(x) -> f590_in(x) :|: TRUE 28.26/8.17 f620_in(.(x1, x2)) -> f703_in(x2) :|: TRUE 28.26/8.17 f606_in(x7) -> f620_in(x7) :|: TRUE 28.26/8.17 f590_in(x11) -> f606_in(x11) :|: TRUE 28.26/8.17 28.26/8.17 ---------------------------------------- 28.26/8.17 28.26/8.17 (124) IntTRSCompressionProof (EQUIVALENT) 28.26/8.17 Compressed rules. 28.26/8.17 ---------------------------------------- 28.26/8.17 28.26/8.17 (125) 28.26/8.17 Obligation: 28.26/8.17 Rules: 28.26/8.17 f606_in(.(x1:0, x2:0)) -> f606_in(x2:0) :|: TRUE 28.26/8.17 28.26/8.17 ---------------------------------------- 28.26/8.17 28.26/8.17 (126) IRSFormatTransformerProof (EQUIVALENT) 28.26/8.17 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 28.26/8.17 ---------------------------------------- 28.26/8.17 28.26/8.17 (127) 28.26/8.17 Obligation: 28.26/8.17 Rules: 28.26/8.17 f606_in(.(x1:0, x2:0)) -> f606_in(x2:0) :|: TRUE 28.26/8.17 28.26/8.17 ---------------------------------------- 28.26/8.17 28.26/8.17 (128) IRSwTTerminationDigraphProof (EQUIVALENT) 28.26/8.17 Constructed termination digraph! 28.26/8.17 Nodes: 28.26/8.17 (1) f606_in(.(x1:0, x2:0)) -> f606_in(x2:0) :|: TRUE 28.26/8.17 28.26/8.17 Arcs: 28.26/8.17 (1) -> (1) 28.26/8.17 28.26/8.17 This digraph is fully evaluated! 28.26/8.17 ---------------------------------------- 28.26/8.17 28.26/8.17 (129) 28.26/8.17 Obligation: 28.26/8.17 28.26/8.17 Termination digraph: 28.26/8.17 Nodes: 28.26/8.17 (1) f606_in(.(x1:0, x2:0)) -> f606_in(x2:0) :|: TRUE 28.26/8.17 28.26/8.17 Arcs: 28.26/8.17 (1) -> (1) 28.26/8.17 28.26/8.17 This digraph is fully evaluated! 28.26/8.17 28.26/8.17 ---------------------------------------- 28.26/8.17 28.26/8.17 (130) IntTRSUnneededArgumentFilterProof (EQUIVALENT) 28.26/8.17 Some arguments are removed because they cannot influence termination. We removed arguments according to the following replacements: 28.26/8.17 28.26/8.17 .(x1, x2) -> .(x2) 28.26/8.17 28.26/8.17 ---------------------------------------- 28.26/8.17 28.26/8.17 (131) 28.26/8.17 Obligation: 28.26/8.17 Rules: 28.26/8.17 f606_in(.(x2:0)) -> f606_in(x2:0) :|: TRUE 28.26/8.17 28.26/8.17 ---------------------------------------- 28.26/8.17 28.26/8.17 (132) TempFilterProof (SOUND) 28.26/8.17 Used the following sort dictionary for filtering: 28.26/8.17 f606_in(VARIABLE) 28.26/8.17 .(VARIABLE) 28.26/8.17 Removed predefined arithmetic. 28.26/8.17 ---------------------------------------- 28.26/8.17 28.26/8.17 (133) 28.26/8.17 Obligation: 28.26/8.17 Rules: 28.26/8.17 f606_in(.(x2:0)) -> f606_in(x2:0) 28.26/8.17 28.26/8.17 ---------------------------------------- 28.26/8.17 28.26/8.17 (134) IRSwTToQDPProof (SOUND) 28.26/8.17 Removed the integers and created a QDP-Problem. 28.26/8.17 ---------------------------------------- 28.26/8.17 28.26/8.17 (135) 28.26/8.17 Obligation: 28.26/8.17 Q DP problem: 28.26/8.17 The TRS P consists of the following rules: 28.26/8.17 28.26/8.17 f606_in(.(x2:0)) -> f606_in(x2:0) 28.26/8.17 28.26/8.17 R is empty. 28.26/8.17 Q is empty. 28.26/8.17 We have to consider all (P,Q,R)-chains. 28.26/8.17 ---------------------------------------- 28.26/8.17 28.26/8.17 (136) QDPSizeChangeProof (EQUIVALENT) 28.26/8.17 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. 28.26/8.17 28.26/8.17 From the DPs we obtained the following set of size-change graphs: 28.26/8.17 *f606_in(.(x2:0)) -> f606_in(x2:0) 28.26/8.17 The graph contains the following edges 1 > 1 28.26/8.17 28.26/8.17 28.26/8.17 ---------------------------------------- 28.26/8.17 28.26/8.17 (137) 28.26/8.17 YES 28.26/8.17 28.26/8.17 ---------------------------------------- 28.26/8.17 28.26/8.17 (138) 28.26/8.17 Obligation: 28.26/8.17 Rules: 28.26/8.17 f742_out(T89) -> f743_in(T89) :|: TRUE 28.26/8.17 f708_in(x) -> f742_in(x) :|: TRUE 28.26/8.17 f743_out(x1) -> f708_out(x1) :|: TRUE 28.26/8.17 f606_in(T35) -> f617_in(T35) :|: TRUE 28.26/8.17 f606_in(x2) -> f620_in(x2) :|: TRUE 28.26/8.17 f620_out(x3) -> f606_out(x3) :|: TRUE 28.26/8.17 f617_out(x4) -> f606_out(x4) :|: TRUE 28.26/8.17 f638_in -> f638_out :|: TRUE 28.26/8.17 f592_out(x5) -> f572_out(x6) :|: TRUE 28.26/8.17 f572_in(x7) -> f590_in(x7) :|: TRUE 28.26/8.17 f590_out(x8) -> f592_in(x9) :|: TRUE 28.26/8.17 f74_in(T17) -> f553_in(T17) :|: TRUE 28.26/8.17 f553_out(x10) -> f74_out(x10) :|: TRUE 28.26/8.17 f590_out(T66) -> f703_out(T66) :|: TRUE 28.26/8.17 f703_in(x11) -> f590_in(x11) :|: TRUE 28.26/8.17 f750_in(T119) -> f742_in(T119) :|: TRUE 28.26/8.17 f742_out(x12) -> f750_out(x12) :|: TRUE 28.26/8.17 f60_in(T2) -> f63_in(T2) :|: TRUE 28.26/8.17 f67_out(x13) -> f60_out(x13) :|: TRUE 28.26/8.17 f60_in(x14) -> f67_in(x14) :|: TRUE 28.26/8.17 f63_out(x15) -> f60_out(x15) :|: TRUE 28.26/8.17 f747_in -> f747_out :|: TRUE 28.26/8.17 f641_out -> f617_out(x16) :|: TRUE 28.26/8.17 f617_in(.(T56, T57)) -> f638_in :|: TRUE 28.26/8.17 f638_out -> f617_out(.(x17, x18)) :|: TRUE 28.26/8.17 f617_in(x19) -> f641_in :|: TRUE 28.26/8.17 f620_in(.(x20, x21)) -> f703_in(x21) :|: TRUE 28.26/8.17 f703_out(x22) -> f620_out(.(x23, x22)) :|: TRUE 28.26/8.17 f620_in(x24) -> f704_in :|: TRUE 28.26/8.17 f704_out -> f620_out(x25) :|: TRUE 28.26/8.17 f592_out(x26) -> f743_out(x26) :|: TRUE 28.26/8.17 f743_in(x27) -> f592_in(x27) :|: TRUE 28.26/8.17 f705_out(T42) -> f592_out(T42) :|: TRUE 28.26/8.17 f592_in(x28) -> f705_in(x28) :|: TRUE 28.26/8.17 f742_in(x29) -> f744_in(x29) :|: TRUE 28.26/8.17 f744_out(x30) -> f742_out(x30) :|: TRUE 28.26/8.17 f752_in -> f752_out :|: TRUE 28.26/8.17 f71_out(x31) -> f63_out(x31) :|: TRUE 28.26/8.17 f63_in(x32) -> f71_in(x32) :|: TRUE 28.26/8.17 f72_out -> f63_out(x33) :|: TRUE 28.26/8.17 f63_in(x34) -> f72_in :|: TRUE 28.26/8.17 f60_out(x35) -> f1_out(x35) :|: TRUE 28.26/8.17 f1_in(x36) -> f60_in(x36) :|: TRUE 28.26/8.17 f744_in(x37) -> f746_in(x37) :|: TRUE 28.26/8.17 f744_in(x38) -> f745_in(x38) :|: TRUE 28.26/8.17 f745_out(x39) -> f744_out(x39) :|: TRUE 28.26/8.17 f746_out(x40) -> f744_out(x40) :|: TRUE 28.26/8.17 f706_out(x41) -> f705_out(x41) :|: TRUE 28.26/8.17 f707_out(x42) -> f705_out(x42) :|: TRUE 28.26/8.17 f705_in(x43) -> f706_in(x43) :|: TRUE 28.26/8.17 f705_in(x44) -> f707_in(x44) :|: TRUE 28.26/8.17 f709_out -> f706_out(x45) :|: TRUE 28.26/8.17 f708_out(x46) -> f706_out(x46) :|: TRUE 28.26/8.17 f706_in(x47) -> f708_in(x47) :|: TRUE 28.26/8.17 f706_in(x48) -> f709_in :|: TRUE 28.26/8.17 f746_in(x49) -> f751_in :|: TRUE 28.26/8.17 f746_in(.(x50, x51)) -> f750_in(x51) :|: TRUE 28.26/8.17 f751_out -> f746_out(x52) :|: TRUE 28.26/8.17 f750_out(x53) -> f746_out(.(x54, x53)) :|: TRUE 28.26/8.17 f707_in(x55) -> f753_in :|: TRUE 28.26/8.17 f707_in(T130) -> f752_in :|: TRUE 28.26/8.17 f753_out -> f707_out(x56) :|: TRUE 28.26/8.17 f752_out -> f707_out(x57) :|: TRUE 28.26/8.17 f745_in(x58) -> f748_in :|: TRUE 28.26/8.17 f745_in(.(T109, T110)) -> f747_in :|: TRUE 28.26/8.17 f747_out -> f745_out(.(x59, x60)) :|: TRUE 28.26/8.17 f748_out -> f745_out(x61) :|: TRUE 28.26/8.17 f76_in(x62) -> f1_in(x62) :|: TRUE 28.26/8.17 f1_out(x63) -> f76_out(x63) :|: TRUE 28.26/8.17 f71_in(x64) -> f74_in(x64) :|: TRUE 28.26/8.17 f74_out(x65) -> f76_in(x65) :|: TRUE 28.26/8.17 f76_out(x66) -> f71_out(x66) :|: TRUE 28.26/8.17 f577_out -> f553_out(x67) :|: TRUE 28.26/8.17 f572_out(x68) -> f553_out(x68) :|: TRUE 28.26/8.17 f553_in(x69) -> f577_in :|: TRUE 28.26/8.17 f553_in(x70) -> f572_in(x70) :|: TRUE 28.26/8.17 f606_out(x71) -> f590_out(x71) :|: TRUE 28.26/8.17 f590_in(x72) -> f606_in(x72) :|: TRUE 28.26/8.17 Start term: f1_in(T2) 28.26/8.17 28.26/8.17 ---------------------------------------- 28.26/8.17 28.26/8.17 (139) IRSwTSimpleDependencyGraphProof (EQUIVALENT) 28.26/8.17 Constructed simple dependency graph. 28.26/8.17 28.26/8.17 Simplified to the following IRSwTs: 28.26/8.17 28.26/8.17 intTRSProblem: 28.26/8.17 f742_out(T89) -> f743_in(T89) :|: TRUE 28.26/8.17 f708_in(x) -> f742_in(x) :|: TRUE 28.26/8.17 f743_out(x1) -> f708_out(x1) :|: TRUE 28.26/8.17 f606_in(T35) -> f617_in(T35) :|: TRUE 28.26/8.17 f606_in(x2) -> f620_in(x2) :|: TRUE 28.26/8.17 f620_out(x3) -> f606_out(x3) :|: TRUE 28.26/8.17 f617_out(x4) -> f606_out(x4) :|: TRUE 28.26/8.17 f638_in -> f638_out :|: TRUE 28.26/8.17 f592_out(x5) -> f572_out(x6) :|: TRUE 28.26/8.17 f572_in(x7) -> f590_in(x7) :|: TRUE 28.26/8.17 f590_out(x8) -> f592_in(x9) :|: TRUE 28.26/8.17 f74_in(T17) -> f553_in(T17) :|: TRUE 28.26/8.17 f553_out(x10) -> f74_out(x10) :|: TRUE 28.26/8.17 f590_out(T66) -> f703_out(T66) :|: TRUE 28.26/8.17 f703_in(x11) -> f590_in(x11) :|: TRUE 28.26/8.17 f750_in(T119) -> f742_in(T119) :|: TRUE 28.26/8.17 f742_out(x12) -> f750_out(x12) :|: TRUE 28.26/8.17 f60_in(T2) -> f63_in(T2) :|: TRUE 28.26/8.17 f747_in -> f747_out :|: TRUE 28.26/8.17 f617_in(.(T56, T57)) -> f638_in :|: TRUE 28.26/8.17 f638_out -> f617_out(.(x17, x18)) :|: TRUE 28.26/8.17 f620_in(.(x20, x21)) -> f703_in(x21) :|: TRUE 28.26/8.17 f703_out(x22) -> f620_out(.(x23, x22)) :|: TRUE 28.26/8.17 f592_out(x26) -> f743_out(x26) :|: TRUE 28.26/8.17 f743_in(x27) -> f592_in(x27) :|: TRUE 28.26/8.17 f705_out(T42) -> f592_out(T42) :|: TRUE 28.26/8.17 f592_in(x28) -> f705_in(x28) :|: TRUE 28.26/8.17 f742_in(x29) -> f744_in(x29) :|: TRUE 28.26/8.17 f744_out(x30) -> f742_out(x30) :|: TRUE 28.26/8.17 f752_in -> f752_out :|: TRUE 28.26/8.17 f63_in(x32) -> f71_in(x32) :|: TRUE 28.26/8.17 f1_in(x36) -> f60_in(x36) :|: TRUE 28.26/8.17 f744_in(x37) -> f746_in(x37) :|: TRUE 28.26/8.17 f744_in(x38) -> f745_in(x38) :|: TRUE 28.26/8.17 f745_out(x39) -> f744_out(x39) :|: TRUE 28.26/8.17 f746_out(x40) -> f744_out(x40) :|: TRUE 28.26/8.17 f706_out(x41) -> f705_out(x41) :|: TRUE 28.26/8.17 f707_out(x42) -> f705_out(x42) :|: TRUE 28.26/8.17 f705_in(x43) -> f706_in(x43) :|: TRUE 28.26/8.17 f705_in(x44) -> f707_in(x44) :|: TRUE 28.26/8.17 f708_out(x46) -> f706_out(x46) :|: TRUE 28.26/8.17 f706_in(x47) -> f708_in(x47) :|: TRUE 28.26/8.17 f746_in(.(x50, x51)) -> f750_in(x51) :|: TRUE 28.26/8.17 f750_out(x53) -> f746_out(.(x54, x53)) :|: TRUE 28.26/8.17 f707_in(T130) -> f752_in :|: TRUE 28.26/8.17 f752_out -> f707_out(x57) :|: TRUE 28.26/8.17 f745_in(.(T109, T110)) -> f747_in :|: TRUE 28.26/8.17 f747_out -> f745_out(.(x59, x60)) :|: TRUE 28.26/8.17 f76_in(x62) -> f1_in(x62) :|: TRUE 28.26/8.17 f71_in(x64) -> f74_in(x64) :|: TRUE 28.26/8.17 f74_out(x65) -> f76_in(x65) :|: TRUE 28.26/8.17 f572_out(x68) -> f553_out(x68) :|: TRUE 28.26/8.17 f553_in(x70) -> f572_in(x70) :|: TRUE 28.26/8.17 f606_out(x71) -> f590_out(x71) :|: TRUE 28.26/8.17 f590_in(x72) -> f606_in(x72) :|: TRUE 28.26/8.17 28.26/8.17 28.26/8.17 ---------------------------------------- 28.26/8.17 28.26/8.17 (140) 28.26/8.17 Obligation: 28.26/8.17 Rules: 28.26/8.17 f742_out(T89) -> f743_in(T89) :|: TRUE 28.26/8.17 f708_in(x) -> f742_in(x) :|: TRUE 28.26/8.17 f743_out(x1) -> f708_out(x1) :|: TRUE 28.26/8.17 f606_in(T35) -> f617_in(T35) :|: TRUE 28.26/8.17 f606_in(x2) -> f620_in(x2) :|: TRUE 28.26/8.17 f620_out(x3) -> f606_out(x3) :|: TRUE 28.26/8.17 f617_out(x4) -> f606_out(x4) :|: TRUE 28.26/8.17 f638_in -> f638_out :|: TRUE 28.26/8.17 f592_out(x5) -> f572_out(x6) :|: TRUE 28.26/8.17 f572_in(x7) -> f590_in(x7) :|: TRUE 28.26/8.17 f590_out(x8) -> f592_in(x9) :|: TRUE 28.26/8.17 f74_in(T17) -> f553_in(T17) :|: TRUE 28.26/8.17 f553_out(x10) -> f74_out(x10) :|: TRUE 28.26/8.17 f590_out(T66) -> f703_out(T66) :|: TRUE 28.26/8.17 f703_in(x11) -> f590_in(x11) :|: TRUE 28.26/8.17 f750_in(T119) -> f742_in(T119) :|: TRUE 28.26/8.17 f742_out(x12) -> f750_out(x12) :|: TRUE 28.26/8.17 f60_in(T2) -> f63_in(T2) :|: TRUE 28.26/8.17 f747_in -> f747_out :|: TRUE 28.26/8.17 f617_in(.(T56, T57)) -> f638_in :|: TRUE 28.26/8.17 f638_out -> f617_out(.(x17, x18)) :|: TRUE 28.26/8.17 f620_in(.(x20, x21)) -> f703_in(x21) :|: TRUE 28.26/8.17 f703_out(x22) -> f620_out(.(x23, x22)) :|: TRUE 28.26/8.17 f592_out(x26) -> f743_out(x26) :|: TRUE 28.26/8.17 f743_in(x27) -> f592_in(x27) :|: TRUE 28.26/8.17 f705_out(T42) -> f592_out(T42) :|: TRUE 28.26/8.17 f592_in(x28) -> f705_in(x28) :|: TRUE 28.26/8.17 f742_in(x29) -> f744_in(x29) :|: TRUE 28.26/8.17 f744_out(x30) -> f742_out(x30) :|: TRUE 28.26/8.17 f752_in -> f752_out :|: TRUE 28.26/8.17 f63_in(x32) -> f71_in(x32) :|: TRUE 28.26/8.17 f1_in(x36) -> f60_in(x36) :|: TRUE 28.26/8.17 f744_in(x37) -> f746_in(x37) :|: TRUE 28.26/8.17 f744_in(x38) -> f745_in(x38) :|: TRUE 28.26/8.17 f745_out(x39) -> f744_out(x39) :|: TRUE 28.26/8.17 f746_out(x40) -> f744_out(x40) :|: TRUE 28.26/8.17 f706_out(x41) -> f705_out(x41) :|: TRUE 28.26/8.17 f707_out(x42) -> f705_out(x42) :|: TRUE 28.26/8.17 f705_in(x43) -> f706_in(x43) :|: TRUE 28.26/8.17 f705_in(x44) -> f707_in(x44) :|: TRUE 28.26/8.17 f708_out(x46) -> f706_out(x46) :|: TRUE 28.26/8.17 f706_in(x47) -> f708_in(x47) :|: TRUE 28.26/8.17 f746_in(.(x50, x51)) -> f750_in(x51) :|: TRUE 28.26/8.17 f750_out(x53) -> f746_out(.(x54, x53)) :|: TRUE 28.26/8.17 f707_in(T130) -> f752_in :|: TRUE 28.26/8.17 f752_out -> f707_out(x57) :|: TRUE 28.26/8.17 f745_in(.(T109, T110)) -> f747_in :|: TRUE 28.26/8.17 f747_out -> f745_out(.(x59, x60)) :|: TRUE 28.26/8.17 f76_in(x62) -> f1_in(x62) :|: TRUE 28.26/8.17 f71_in(x64) -> f74_in(x64) :|: TRUE 28.26/8.17 f74_out(x65) -> f76_in(x65) :|: TRUE 28.26/8.17 f572_out(x68) -> f553_out(x68) :|: TRUE 28.26/8.17 f553_in(x70) -> f572_in(x70) :|: TRUE 28.26/8.17 f606_out(x71) -> f590_out(x71) :|: TRUE 28.26/8.17 f590_in(x72) -> f606_in(x72) :|: TRUE 28.26/8.17 28.26/8.17 ---------------------------------------- 28.26/8.17 28.26/8.17 (141) IntTRSCompressionProof (EQUIVALENT) 28.26/8.17 Compressed rules. 28.26/8.17 ---------------------------------------- 28.26/8.17 28.26/8.17 (142) 28.26/8.17 Obligation: 28.26/8.17 Rules: 28.26/8.17 f606_in(.(x20:0, x21:0)) -> f606_in(x21:0) :|: TRUE 28.26/8.17 f705_in(x43:0) -> f744_in(x43:0) :|: TRUE 28.26/8.17 f590_out(T66:0) -> f590_out(.(x23:0, T66:0)) :|: TRUE 28.26/8.17 f705_in(x44:0) -> f705_out(x57:0) :|: TRUE 28.26/8.17 f744_in(.(x50:0, x51:0)) -> f744_in(x51:0) :|: TRUE 28.26/8.17 f705_out(T42:0) -> f705_out(T42:0) :|: TRUE 28.26/8.17 f606_in(.(T56:0, T57:0)) -> f590_out(.(x17:0, x18:0)) :|: TRUE 28.26/8.17 f590_out(x8:0) -> f705_in(x9:0) :|: TRUE 28.26/8.17 f744_out(x30:0) -> f744_out(.(x54:0, x30:0)) :|: TRUE 28.26/8.17 f705_out(x) -> f606_in(x1) :|: TRUE 28.26/8.17 f744_out(x2) -> f705_in(x2) :|: TRUE 28.26/8.17 f744_in(.(T109:0, T110:0)) -> f744_out(.(x59:0, x60:0)) :|: TRUE 28.26/8.17 28.26/8.17 ---------------------------------------- 28.26/8.17 28.26/8.17 (143) IRSFormatTransformerProof (EQUIVALENT) 28.26/8.17 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 28.26/8.17 ---------------------------------------- 28.26/8.17 28.26/8.17 (144) 28.26/8.17 Obligation: 28.26/8.17 Rules: 28.26/8.17 f606_in(.(x20:0, x21:0)) -> f606_in(x21:0) :|: TRUE 28.26/8.17 f705_in(x43:0) -> f744_in(x43:0) :|: TRUE 28.26/8.17 f590_out(T66:0) -> f590_out(.(x23:0, T66:0)) :|: TRUE 28.26/8.17 f705_in(x44:0) -> f705_out(x57:0) :|: TRUE 28.26/8.17 f744_in(.(x50:0, x51:0)) -> f744_in(x51:0) :|: TRUE 28.26/8.17 f705_out(T42:0) -> f705_out(T42:0) :|: TRUE 28.26/8.17 f606_in(.(T56:0, T57:0)) -> f590_out(.(x17:0, x18:0)) :|: TRUE 28.26/8.17 f590_out(x8:0) -> f705_in(x9:0) :|: TRUE 28.26/8.17 f744_out(x30:0) -> f744_out(.(x54:0, x30:0)) :|: TRUE 28.26/8.17 f705_out(x) -> f606_in(x1) :|: TRUE 28.26/8.17 f744_out(x2) -> f705_in(x2) :|: TRUE 28.26/8.17 f744_in(.(T109:0, T110:0)) -> f744_out(.(x59:0, x60:0)) :|: TRUE 28.26/8.17 28.26/8.17 ---------------------------------------- 28.26/8.17 28.26/8.17 (145) IRSwTTerminationDigraphProof (EQUIVALENT) 28.26/8.17 Constructed termination digraph! 28.26/8.17 Nodes: 28.26/8.17 (1) f606_in(.(x20:0, x21:0)) -> f606_in(x21:0) :|: TRUE 28.26/8.17 (2) f705_in(x43:0) -> f744_in(x43:0) :|: TRUE 28.26/8.17 (3) f590_out(T66:0) -> f590_out(.(x23:0, T66:0)) :|: TRUE 28.26/8.17 (4) f705_in(x44:0) -> f705_out(x57:0) :|: TRUE 28.26/8.17 (5) f744_in(.(x50:0, x51:0)) -> f744_in(x51:0) :|: TRUE 28.26/8.17 (6) f705_out(T42:0) -> f705_out(T42:0) :|: TRUE 28.26/8.17 (7) f606_in(.(T56:0, T57:0)) -> f590_out(.(x17:0, x18:0)) :|: TRUE 28.26/8.17 (8) f590_out(x8:0) -> f705_in(x9:0) :|: TRUE 28.26/8.17 (9) f744_out(x30:0) -> f744_out(.(x54:0, x30:0)) :|: TRUE 28.26/8.17 (10) f705_out(x) -> f606_in(x1) :|: TRUE 28.26/8.17 (11) f744_out(x2) -> f705_in(x2) :|: TRUE 28.26/8.17 (12) f744_in(.(T109:0, T110:0)) -> f744_out(.(x59:0, x60:0)) :|: TRUE 28.26/8.17 28.26/8.17 Arcs: 28.26/8.17 (1) -> (1), (7) 28.26/8.17 (2) -> (5), (12) 28.26/8.17 (3) -> (3), (8) 28.26/8.17 (4) -> (6), (10) 28.26/8.17 (5) -> (5), (12) 28.26/8.17 (6) -> (6), (10) 28.26/8.17 (7) -> (3), (8) 28.26/8.17 (8) -> (2), (4) 28.26/8.17 (9) -> (9), (11) 28.26/8.17 (10) -> (1), (7) 28.26/8.17 (11) -> (2), (4) 28.26/8.17 (12) -> (9), (11) 28.26/8.17 28.26/8.17 This digraph is fully evaluated! 28.26/8.17 ---------------------------------------- 28.26/8.17 28.26/8.17 (146) 28.26/8.17 Obligation: 28.26/8.17 28.26/8.17 Termination digraph: 28.26/8.17 Nodes: 28.26/8.17 (1) f606_in(.(x20:0, x21:0)) -> f606_in(x21:0) :|: TRUE 28.26/8.17 (2) f705_out(x) -> f606_in(x1) :|: TRUE 28.26/8.17 (3) f705_out(T42:0) -> f705_out(T42:0) :|: TRUE 28.26/8.17 (4) f705_in(x44:0) -> f705_out(x57:0) :|: TRUE 28.26/8.17 (5) f744_out(x2) -> f705_in(x2) :|: TRUE 28.26/8.17 (6) f744_out(x30:0) -> f744_out(.(x54:0, x30:0)) :|: TRUE 28.26/8.17 (7) f744_in(.(T109:0, T110:0)) -> f744_out(.(x59:0, x60:0)) :|: TRUE 28.26/8.17 (8) f744_in(.(x50:0, x51:0)) -> f744_in(x51:0) :|: TRUE 28.26/8.17 (9) f705_in(x43:0) -> f744_in(x43:0) :|: TRUE 28.26/8.17 (10) f590_out(x8:0) -> f705_in(x9:0) :|: TRUE 28.26/8.17 (11) f590_out(T66:0) -> f590_out(.(x23:0, T66:0)) :|: TRUE 28.26/8.17 (12) f606_in(.(T56:0, T57:0)) -> f590_out(.(x17:0, x18:0)) :|: TRUE 28.26/8.17 28.26/8.17 Arcs: 28.26/8.17 (1) -> (1), (12) 28.26/8.17 (2) -> (1), (12) 28.26/8.17 (3) -> (2), (3) 28.26/8.17 (4) -> (2), (3) 28.26/8.17 (5) -> (4), (9) 28.26/8.17 (6) -> (5), (6) 28.26/8.17 (7) -> (5), (6) 28.26/8.17 (8) -> (7), (8) 28.26/8.17 (9) -> (7), (8) 28.26/8.17 (10) -> (4), (9) 28.26/8.17 (11) -> (10), (11) 28.26/8.17 (12) -> (10), (11) 28.26/8.17 28.26/8.17 This digraph is fully evaluated! 28.26/8.17 28.26/8.17 ---------------------------------------- 28.26/8.17 28.26/8.17 (147) IntTRSUnneededArgumentFilterProof (EQUIVALENT) 28.26/8.17 Some arguments are removed because they cannot influence termination. We removed arguments according to the following replacements: 28.26/8.17 28.26/8.17 .(x1, x2) -> .(x2) 28.26/8.17 28.26/8.17 ---------------------------------------- 28.26/8.17 28.26/8.17 (148) 28.26/8.17 Obligation: 28.26/8.17 Rules: 28.26/8.17 f606_in(.(x21:0)) -> f606_in(x21:0) :|: TRUE 28.26/8.17 f705_out(x) -> f606_in(x1) :|: TRUE 28.26/8.17 f705_out(T42:0) -> f705_out(T42:0) :|: TRUE 28.26/8.17 f705_in(x44:0) -> f705_out(x57:0) :|: TRUE 28.26/8.17 f744_out(x2) -> f705_in(x2) :|: TRUE 28.26/8.17 f744_out(x30:0) -> f744_out(.(x30:0)) :|: TRUE 28.26/8.17 f744_in(.(T110:0)) -> f744_out(.(x60:0)) :|: TRUE 28.26/8.17 f744_in(.(x51:0)) -> f744_in(x51:0) :|: TRUE 28.26/8.17 f705_in(x43:0) -> f744_in(x43:0) :|: TRUE 28.26/8.17 f590_out(x8:0) -> f705_in(x9:0) :|: TRUE 28.26/8.17 f590_out(T66:0) -> f590_out(.(T66:0)) :|: TRUE 28.26/8.17 f606_in(.(T57:0)) -> f590_out(.(x18:0)) :|: TRUE 28.62/8.27 EOF