34.73/10.91 MAYBE 35.02/10.93 proof of /export/starexec/sandbox/benchmark/theBenchmark.pl 35.02/10.93 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 35.02/10.93 35.02/10.93 35.02/10.93 Left Termination of the query pattern 35.02/10.93 35.02/10.93 color_map(a,g) 35.02/10.93 35.02/10.93 w.r.t. the given Prolog program could not be shown: 35.02/10.93 35.02/10.93 (0) Prolog 35.02/10.93 (1) PrologToPiTRSProof [SOUND, 0 ms] 35.02/10.93 (2) PiTRS 35.02/10.93 (3) DependencyPairsProof [EQUIVALENT, 6 ms] 35.02/10.93 (4) PiDP 35.02/10.93 (5) DependencyGraphProof [EQUIVALENT, 0 ms] 35.02/10.93 (6) AND 35.02/10.93 (7) PiDP 35.02/10.93 (8) UsableRulesProof [EQUIVALENT, 0 ms] 35.02/10.93 (9) PiDP 35.02/10.93 (10) PiDPToQDPProof [SOUND, 0 ms] 35.02/10.93 (11) QDP 35.02/10.93 (12) QDPSizeChangeProof [EQUIVALENT, 0 ms] 35.02/10.93 (13) YES 35.02/10.93 (14) PiDP 35.02/10.93 (15) UsableRulesProof [EQUIVALENT, 0 ms] 35.02/10.93 (16) PiDP 35.02/10.93 (17) PiDPToQDPProof [SOUND, 1 ms] 35.02/10.93 (18) QDP 35.02/10.93 (19) TransformationProof [SOUND, 0 ms] 35.02/10.93 (20) QDP 35.02/10.93 (21) TransformationProof [EQUIVALENT, 0 ms] 35.02/10.93 (22) QDP 35.02/10.93 (23) NonTerminationLoopProof [COMPLETE, 0 ms] 35.02/10.93 (24) NO 35.02/10.93 (25) PiDP 35.02/10.93 (26) UsableRulesProof [EQUIVALENT, 0 ms] 35.02/10.93 (27) PiDP 35.02/10.93 (28) PiDPToQDPProof [SOUND, 0 ms] 35.02/10.93 (29) QDP 35.02/10.93 (30) QDPSizeChangeProof [EQUIVALENT, 0 ms] 35.02/10.93 (31) YES 35.02/10.93 (32) PiDP 35.02/10.93 (33) UsableRulesProof [EQUIVALENT, 0 ms] 35.02/10.93 (34) PiDP 35.02/10.93 (35) PiDPToQDPProof [SOUND, 0 ms] 35.02/10.93 (36) QDP 35.02/10.93 (37) TransformationProof [SOUND, 0 ms] 35.02/10.93 (38) QDP 35.02/10.93 (39) UsableRulesProof [EQUIVALENT, 0 ms] 35.02/10.93 (40) QDP 35.02/10.93 (41) QReductionProof [EQUIVALENT, 0 ms] 35.02/10.93 (42) QDP 35.02/10.93 (43) PrologToPiTRSProof [SOUND, 0 ms] 35.02/10.93 (44) PiTRS 35.02/10.93 (45) DependencyPairsProof [EQUIVALENT, 18 ms] 35.02/10.93 (46) PiDP 35.02/10.93 (47) DependencyGraphProof [EQUIVALENT, 0 ms] 35.02/10.93 (48) AND 35.02/10.93 (49) PiDP 35.02/10.93 (50) UsableRulesProof [EQUIVALENT, 0 ms] 35.02/10.93 (51) PiDP 35.02/10.93 (52) PiDPToQDPProof [SOUND, 0 ms] 35.02/10.93 (53) QDP 35.02/10.93 (54) QDPSizeChangeProof [EQUIVALENT, 0 ms] 35.02/10.93 (55) YES 35.02/10.93 (56) PiDP 35.02/10.93 (57) UsableRulesProof [EQUIVALENT, 0 ms] 35.02/10.93 (58) PiDP 35.02/10.93 (59) PiDPToQDPProof [SOUND, 0 ms] 35.02/10.93 (60) QDP 35.02/10.93 (61) TransformationProof [SOUND, 0 ms] 35.02/10.93 (62) QDP 35.02/10.93 (63) TransformationProof [EQUIVALENT, 0 ms] 35.02/10.93 (64) QDP 35.02/10.93 (65) PiDP 35.02/10.93 (66) UsableRulesProof [EQUIVALENT, 0 ms] 35.02/10.93 (67) PiDP 35.02/10.93 (68) PiDP 35.02/10.93 (69) UsableRulesProof [EQUIVALENT, 0 ms] 35.02/10.93 (70) PiDP 35.02/10.93 (71) PrologToTRSTransformerProof [SOUND, 34 ms] 35.02/10.93 (72) QTRS 35.02/10.93 (73) DependencyPairsProof [EQUIVALENT, 0 ms] 35.02/10.93 (74) QDP 35.02/10.93 (75) DependencyGraphProof [EQUIVALENT, 0 ms] 35.02/10.93 (76) AND 35.02/10.93 (77) QDP 35.02/10.93 (78) UsableRulesProof [EQUIVALENT, 0 ms] 35.02/10.93 (79) QDP 35.02/10.93 (80) QDPSizeChangeProof [EQUIVALENT, 0 ms] 35.02/10.93 (81) YES 35.02/10.93 (82) QDP 35.02/10.93 (83) NonTerminationLoopProof [COMPLETE, 0 ms] 35.02/10.93 (84) NO 35.02/10.93 (85) QDP 35.02/10.93 (86) UsableRulesProof [EQUIVALENT, 0 ms] 35.02/10.93 (87) QDP 35.02/10.93 (88) QDPSizeChangeProof [EQUIVALENT, 0 ms] 35.02/10.93 (89) YES 35.02/10.93 (90) QDP 35.02/10.93 (91) NonTerminationLoopProof [COMPLETE, 0 ms] 35.02/10.93 (92) NO 35.02/10.93 (93) PrologToDTProblemTransformerProof [SOUND, 38 ms] 35.02/10.93 (94) TRIPLES 35.02/10.93 (95) TriplesToPiDPProof [SOUND, 0 ms] 35.02/10.93 (96) PiDP 35.02/10.93 (97) DependencyGraphProof [EQUIVALENT, 0 ms] 35.02/10.93 (98) AND 35.02/10.93 (99) PiDP 35.02/10.93 (100) UsableRulesProof [EQUIVALENT, 0 ms] 35.02/10.93 (101) PiDP 35.02/10.93 (102) PiDPToQDPProof [SOUND, 0 ms] 35.02/10.93 (103) QDP 35.02/10.93 (104) QDPSizeChangeProof [EQUIVALENT, 0 ms] 35.02/10.93 (105) YES 35.02/10.93 (106) PiDP 35.02/10.93 (107) UsableRulesProof [EQUIVALENT, 0 ms] 35.02/10.93 (108) PiDP 35.02/10.93 (109) PiDPToQDPProof [SOUND, 0 ms] 35.02/10.93 (110) QDP 35.02/10.93 (111) TransformationProof [SOUND, 0 ms] 35.02/10.93 (112) QDP 35.02/10.93 (113) TransformationProof [EQUIVALENT, 0 ms] 35.02/10.93 (114) QDP 35.02/10.93 (115) PiDP 35.02/10.93 (116) UsableRulesProof [EQUIVALENT, 0 ms] 35.02/10.93 (117) PiDP 35.02/10.93 (118) PiDP 35.02/10.93 (119) PrologToIRSwTTransformerProof [SOUND, 33 ms] 35.02/10.93 (120) AND 35.02/10.93 (121) IRSwT 35.02/10.93 (122) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms] 35.02/10.93 (123) TRUE 35.02/10.93 (124) IRSwT 35.02/10.93 (125) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms] 35.02/10.93 (126) TRUE 35.02/10.93 (127) IRSwT 35.02/10.93 (128) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms] 35.02/10.93 (129) IRSwT 35.02/10.93 (130) IntTRSCompressionProof [EQUIVALENT, 19 ms] 35.02/10.93 (131) IRSwT 35.02/10.93 (132) IRSFormatTransformerProof [EQUIVALENT, 0 ms] 35.02/10.93 (133) IRSwT 35.02/10.93 (134) IRSwTTerminationDigraphProof [EQUIVALENT, 6 ms] 35.02/10.93 (135) IRSwT 35.02/10.93 (136) IntTRSUnneededArgumentFilterProof [EQUIVALENT, 1 ms] 35.02/10.93 (137) IRSwT 35.02/10.93 (138) TempFilterProof [SOUND, 3 ms] 35.02/10.93 (139) IRSwT 35.02/10.93 (140) IRSwTToQDPProof [SOUND, 1 ms] 35.02/10.93 (141) QDP 35.02/10.93 (142) QDPSizeChangeProof [EQUIVALENT, 0 ms] 35.02/10.93 (143) YES 35.02/10.93 (144) IRSwT 35.02/10.93 (145) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms] 35.02/10.93 (146) IRSwT 35.02/10.93 (147) IntTRSCompressionProof [EQUIVALENT, 26 ms] 35.02/10.93 (148) IRSwT 35.02/10.93 (149) IRSFormatTransformerProof [EQUIVALENT, 0 ms] 35.02/10.93 (150) IRSwT 35.02/10.93 (151) IRSwTTerminationDigraphProof [EQUIVALENT, 68 ms] 35.02/10.93 (152) IRSwT 35.02/10.93 35.02/10.93 35.02/10.93 ---------------------------------------- 35.02/10.93 35.02/10.93 (0) 35.02/10.93 Obligation: 35.02/10.93 Clauses: 35.02/10.93 35.02/10.93 color_map(l(Region, Regions), Colors) :- ','(color_region(Region, Colors), color_map(Regions, Colors)). 35.02/10.93 color_map(nil, Colors). 35.02/10.93 color_region(region(Name, Color, Neighbors), Colors) :- ','(select(Color, Colors, Colors1), members(Neighbors, Colors1)). 35.02/10.93 select(X, .(X, Xs), Xs). 35.02/10.93 select(X, .(Y, Ys), .(Y, Zs)) :- select(X, Ys, Zs). 35.02/10.93 members(.(X, Xs), Ys) :- ','(member(X, Ys), members(Xs, Ys)). 35.02/10.93 members([], Ys). 35.02/10.93 member(X, .(X, X1)). 35.02/10.93 member(X, .(X2, T)) :- member(X, T). 35.02/10.93 test_color(Name, Map) :- ','(map(Name, Map), ','(colors(Name, Colors), color_map(Map, Colors))). 35.02/10.93 map(test, l(region(a, A, .(B, .(C, .(D, [])))), l(region(b, B, .(A, .(C, .(E, [])))), l(region(c, C, .(A, .(B, .(D, .(E, .(F, [])))))), l(region(d, D, .(A, .(C, .(F, [])))), l(region(e, E, .(B, .(C, .(F, [])))), l(region(f, F, .(C, .(D, .(E, [])))), nil))))))). 35.02/10.93 colors(X, .(red, .(yellow, .(blue, .(white, []))))). 35.02/10.93 35.02/10.93 35.02/10.93 Query: color_map(a,g) 35.02/10.93 ---------------------------------------- 35.02/10.93 35.02/10.93 (1) PrologToPiTRSProof (SOUND) 35.02/10.93 We use the technique of [TOCL09]. With regard to the inferred argument filtering the predicates were used in the following modes: 35.02/10.93 35.02/10.93 color_map_in_2: (f,b) 35.02/10.93 35.02/10.93 color_region_in_2: (f,b) 35.02/10.93 35.02/10.93 select_in_3: (f,b,f) 35.02/10.93 35.02/10.93 members_in_2: (f,b) 35.02/10.93 35.02/10.93 member_in_2: (f,b) 35.02/10.93 35.02/10.93 Transforming Prolog into the following Term Rewriting System: 35.02/10.93 35.02/10.93 Pi-finite rewrite system: 35.02/10.93 The TRS R consists of the following rules: 35.02/10.93 35.02/10.93 color_map_in_ag(l(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 35.02/10.93 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 35.02/10.93 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 35.02/10.93 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 35.02/10.93 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 35.02/10.93 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 35.02/10.93 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 35.02/10.93 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 35.02/10.93 member_in_ag(X, .(X2, T)) -> U8_ag(X, X2, T, member_in_ag(X, T)) 35.02/10.93 U8_ag(X, X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 35.02/10.93 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 35.02/10.93 members_in_ag([], Ys) -> members_out_ag([], Ys) 35.02/10.93 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 35.02/10.93 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 35.02/10.93 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 35.02/10.93 color_map_in_ag(nil, Colors) -> color_map_out_ag(nil, Colors) 35.02/10.93 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(l(Region, Regions), Colors) 35.02/10.93 35.02/10.93 The argument filtering Pi contains the following mapping: 35.02/10.93 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 35.02/10.93 35.02/10.93 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 35.02/10.93 35.02/10.93 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 35.02/10.93 35.02/10.93 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x5) 35.02/10.93 35.02/10.93 select_in_aga(x1, x2, x3) = select_in_aga(x2) 35.02/10.93 35.02/10.93 .(x1, x2) = .(x1, x2) 35.02/10.93 35.02/10.93 select_out_aga(x1, x2, x3) = select_out_aga(x1, x3) 35.02/10.93 35.02/10.93 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x5) 35.02/10.93 35.02/10.93 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x5) 35.02/10.93 35.02/10.93 members_in_ag(x1, x2) = members_in_ag(x2) 35.02/10.93 35.02/10.93 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 35.02/10.93 35.02/10.93 member_in_ag(x1, x2) = member_in_ag(x2) 35.02/10.93 35.02/10.93 member_out_ag(x1, x2) = member_out_ag(x1) 35.02/10.93 35.02/10.93 U8_ag(x1, x2, x3, x4) = U8_ag(x4) 35.02/10.93 35.02/10.93 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x4) 35.02/10.93 35.02/10.93 members_out_ag(x1, x2) = members_out_ag(x1) 35.02/10.93 35.02/10.93 color_region_out_ag(x1, x2) = color_region_out_ag(x1) 35.02/10.93 35.02/10.93 region(x1, x2, x3) = region(x2, x3) 35.02/10.93 35.02/10.93 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x4) 35.02/10.93 35.02/10.93 color_map_out_ag(x1, x2) = color_map_out_ag(x1) 35.02/10.93 35.02/10.93 l(x1, x2) = l(x1, x2) 35.02/10.93 35.02/10.93 35.02/10.93 35.02/10.93 35.02/10.93 35.02/10.93 Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog 35.02/10.93 35.02/10.93 35.02/10.93 35.02/10.93 ---------------------------------------- 35.02/10.93 35.02/10.93 (2) 35.02/10.93 Obligation: 35.02/10.93 Pi-finite rewrite system: 35.02/10.93 The TRS R consists of the following rules: 35.02/10.93 35.02/10.93 color_map_in_ag(l(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 35.02/10.93 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 35.02/10.93 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 35.02/10.93 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 35.02/10.93 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 35.02/10.93 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 35.02/10.93 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 35.02/10.93 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 35.02/10.93 member_in_ag(X, .(X2, T)) -> U8_ag(X, X2, T, member_in_ag(X, T)) 35.02/10.93 U8_ag(X, X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 35.02/10.93 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 35.02/10.93 members_in_ag([], Ys) -> members_out_ag([], Ys) 35.02/10.93 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 35.02/10.93 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 35.02/10.93 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 35.02/10.93 color_map_in_ag(nil, Colors) -> color_map_out_ag(nil, Colors) 35.02/10.93 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(l(Region, Regions), Colors) 35.02/10.93 35.02/10.93 The argument filtering Pi contains the following mapping: 35.02/10.93 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 35.02/10.93 35.02/10.93 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 35.02/10.93 35.02/10.93 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 35.02/10.93 35.02/10.93 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x5) 35.02/10.93 35.02/10.93 select_in_aga(x1, x2, x3) = select_in_aga(x2) 35.02/10.93 35.02/10.93 .(x1, x2) = .(x1, x2) 35.02/10.93 35.02/10.93 select_out_aga(x1, x2, x3) = select_out_aga(x1, x3) 35.02/10.93 35.02/10.93 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x5) 35.02/10.93 35.02/10.93 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x5) 35.02/10.93 35.02/10.93 members_in_ag(x1, x2) = members_in_ag(x2) 35.02/10.93 35.02/10.93 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 35.02/10.93 35.02/10.93 member_in_ag(x1, x2) = member_in_ag(x2) 35.02/10.93 35.02/10.93 member_out_ag(x1, x2) = member_out_ag(x1) 35.02/10.93 35.02/10.93 U8_ag(x1, x2, x3, x4) = U8_ag(x4) 35.02/10.93 35.02/10.93 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x4) 35.02/10.93 35.02/10.93 members_out_ag(x1, x2) = members_out_ag(x1) 35.02/10.93 35.02/10.93 color_region_out_ag(x1, x2) = color_region_out_ag(x1) 35.02/10.93 35.02/10.93 region(x1, x2, x3) = region(x2, x3) 35.02/10.93 35.02/10.93 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x4) 35.02/10.93 35.02/10.93 color_map_out_ag(x1, x2) = color_map_out_ag(x1) 35.02/10.93 35.02/10.93 l(x1, x2) = l(x1, x2) 35.02/10.93 35.02/10.93 35.02/10.93 35.02/10.93 ---------------------------------------- 35.02/10.93 35.02/10.93 (3) DependencyPairsProof (EQUIVALENT) 35.02/10.93 Using Dependency Pairs [AG00,LOPSTR] we result in the following initial DP problem: 35.02/10.93 Pi DP problem: 35.02/10.93 The TRS P consists of the following rules: 35.02/10.93 35.02/10.93 COLOR_MAP_IN_AG(l(Region, Regions), Colors) -> U1_AG(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 35.02/10.93 COLOR_MAP_IN_AG(l(Region, Regions), Colors) -> COLOR_REGION_IN_AG(Region, Colors) 35.02/10.93 COLOR_REGION_IN_AG(region(Name, Color, Neighbors), Colors) -> U3_AG(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 35.02/10.93 COLOR_REGION_IN_AG(region(Name, Color, Neighbors), Colors) -> SELECT_IN_AGA(Color, Colors, Colors1) 35.02/10.93 SELECT_IN_AGA(X, .(Y, Ys), .(Y, Zs)) -> U5_AGA(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 35.02/10.93 SELECT_IN_AGA(X, .(Y, Ys), .(Y, Zs)) -> SELECT_IN_AGA(X, Ys, Zs) 35.02/10.93 U3_AG(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_AG(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 35.02/10.93 U3_AG(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> MEMBERS_IN_AG(Neighbors, Colors1) 35.02/10.93 MEMBERS_IN_AG(.(X, Xs), Ys) -> U6_AG(X, Xs, Ys, member_in_ag(X, Ys)) 35.02/10.93 MEMBERS_IN_AG(.(X, Xs), Ys) -> MEMBER_IN_AG(X, Ys) 35.02/10.93 MEMBER_IN_AG(X, .(X2, T)) -> U8_AG(X, X2, T, member_in_ag(X, T)) 35.02/10.93 MEMBER_IN_AG(X, .(X2, T)) -> MEMBER_IN_AG(X, T) 35.02/10.93 U6_AG(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_AG(X, Xs, Ys, members_in_ag(Xs, Ys)) 35.02/10.93 U6_AG(X, Xs, Ys, member_out_ag(X, Ys)) -> MEMBERS_IN_AG(Xs, Ys) 35.02/10.93 U1_AG(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_AG(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 35.02/10.93 U1_AG(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> COLOR_MAP_IN_AG(Regions, Colors) 35.02/10.93 35.02/10.93 The TRS R consists of the following rules: 35.02/10.93 35.02/10.93 color_map_in_ag(l(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 35.02/10.93 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 35.02/10.93 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 35.02/10.93 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 35.02/10.93 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 35.02/10.93 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 35.02/10.93 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 35.02/10.93 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 35.02/10.93 member_in_ag(X, .(X2, T)) -> U8_ag(X, X2, T, member_in_ag(X, T)) 35.02/10.93 U8_ag(X, X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 35.02/10.93 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 35.02/10.93 members_in_ag([], Ys) -> members_out_ag([], Ys) 35.02/10.93 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 35.02/10.93 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 35.02/10.93 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 35.02/10.93 color_map_in_ag(nil, Colors) -> color_map_out_ag(nil, Colors) 35.02/10.93 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(l(Region, Regions), Colors) 35.02/10.93 35.02/10.93 The argument filtering Pi contains the following mapping: 35.02/10.93 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 35.02/10.93 35.02/10.93 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 35.02/10.93 35.02/10.93 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 35.02/10.93 35.02/10.93 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x5) 35.02/10.93 35.02/10.93 select_in_aga(x1, x2, x3) = select_in_aga(x2) 35.02/10.93 35.02/10.93 .(x1, x2) = .(x1, x2) 35.02/10.93 35.02/10.93 select_out_aga(x1, x2, x3) = select_out_aga(x1, x3) 35.02/10.93 35.02/10.93 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x5) 35.02/10.93 35.02/10.93 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x5) 35.02/10.93 35.02/10.93 members_in_ag(x1, x2) = members_in_ag(x2) 35.02/10.93 35.02/10.93 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 35.02/10.93 35.02/10.93 member_in_ag(x1, x2) = member_in_ag(x2) 35.02/10.93 35.02/10.93 member_out_ag(x1, x2) = member_out_ag(x1) 35.02/10.93 35.02/10.93 U8_ag(x1, x2, x3, x4) = U8_ag(x4) 35.02/10.93 35.02/10.93 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x4) 35.02/10.93 35.02/10.93 members_out_ag(x1, x2) = members_out_ag(x1) 35.02/10.93 35.02/10.93 color_region_out_ag(x1, x2) = color_region_out_ag(x1) 35.02/10.93 35.02/10.93 region(x1, x2, x3) = region(x2, x3) 35.02/10.93 35.02/10.93 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x4) 35.02/10.93 35.02/10.93 color_map_out_ag(x1, x2) = color_map_out_ag(x1) 35.02/10.93 35.02/10.93 l(x1, x2) = l(x1, x2) 35.02/10.93 35.02/10.93 COLOR_MAP_IN_AG(x1, x2) = COLOR_MAP_IN_AG(x2) 35.02/10.93 35.02/10.93 U1_AG(x1, x2, x3, x4) = U1_AG(x3, x4) 35.02/10.93 35.02/10.93 COLOR_REGION_IN_AG(x1, x2) = COLOR_REGION_IN_AG(x2) 35.02/10.93 35.02/10.93 U3_AG(x1, x2, x3, x4, x5) = U3_AG(x5) 35.02/10.93 35.02/10.93 SELECT_IN_AGA(x1, x2, x3) = SELECT_IN_AGA(x2) 35.02/10.93 35.02/10.93 U5_AGA(x1, x2, x3, x4, x5) = U5_AGA(x2, x5) 35.02/10.93 35.02/10.93 U4_AG(x1, x2, x3, x4, x5) = U4_AG(x2, x5) 35.02/10.93 35.02/10.93 MEMBERS_IN_AG(x1, x2) = MEMBERS_IN_AG(x2) 35.02/10.93 35.02/10.93 U6_AG(x1, x2, x3, x4) = U6_AG(x3, x4) 35.02/10.93 35.02/10.93 MEMBER_IN_AG(x1, x2) = MEMBER_IN_AG(x2) 35.02/10.93 35.02/10.93 U8_AG(x1, x2, x3, x4) = U8_AG(x4) 35.02/10.93 35.02/10.93 U7_AG(x1, x2, x3, x4) = U7_AG(x1, x4) 35.02/10.93 35.02/10.93 U2_AG(x1, x2, x3, x4) = U2_AG(x1, x4) 35.02/10.93 35.02/10.93 35.02/10.93 We have to consider all (P,R,Pi)-chains 35.02/10.93 ---------------------------------------- 35.02/10.93 35.02/10.93 (4) 35.02/10.93 Obligation: 35.02/10.93 Pi DP problem: 35.02/10.93 The TRS P consists of the following rules: 35.02/10.93 35.02/10.93 COLOR_MAP_IN_AG(l(Region, Regions), Colors) -> U1_AG(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 35.02/10.93 COLOR_MAP_IN_AG(l(Region, Regions), Colors) -> COLOR_REGION_IN_AG(Region, Colors) 35.02/10.93 COLOR_REGION_IN_AG(region(Name, Color, Neighbors), Colors) -> U3_AG(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 35.02/10.93 COLOR_REGION_IN_AG(region(Name, Color, Neighbors), Colors) -> SELECT_IN_AGA(Color, Colors, Colors1) 35.02/10.93 SELECT_IN_AGA(X, .(Y, Ys), .(Y, Zs)) -> U5_AGA(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 35.02/10.93 SELECT_IN_AGA(X, .(Y, Ys), .(Y, Zs)) -> SELECT_IN_AGA(X, Ys, Zs) 35.02/10.93 U3_AG(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_AG(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 35.02/10.93 U3_AG(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> MEMBERS_IN_AG(Neighbors, Colors1) 35.02/10.93 MEMBERS_IN_AG(.(X, Xs), Ys) -> U6_AG(X, Xs, Ys, member_in_ag(X, Ys)) 35.02/10.93 MEMBERS_IN_AG(.(X, Xs), Ys) -> MEMBER_IN_AG(X, Ys) 35.02/10.93 MEMBER_IN_AG(X, .(X2, T)) -> U8_AG(X, X2, T, member_in_ag(X, T)) 35.02/10.93 MEMBER_IN_AG(X, .(X2, T)) -> MEMBER_IN_AG(X, T) 35.02/10.93 U6_AG(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_AG(X, Xs, Ys, members_in_ag(Xs, Ys)) 35.02/10.93 U6_AG(X, Xs, Ys, member_out_ag(X, Ys)) -> MEMBERS_IN_AG(Xs, Ys) 35.02/10.93 U1_AG(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_AG(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 35.02/10.93 U1_AG(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> COLOR_MAP_IN_AG(Regions, Colors) 35.02/10.93 35.02/10.93 The TRS R consists of the following rules: 35.02/10.93 35.02/10.93 color_map_in_ag(l(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 35.02/10.93 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 35.02/10.93 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 35.02/10.93 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 35.02/10.93 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 35.02/10.93 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 35.02/10.93 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 35.02/10.93 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 35.02/10.93 member_in_ag(X, .(X2, T)) -> U8_ag(X, X2, T, member_in_ag(X, T)) 35.02/10.93 U8_ag(X, X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 35.02/10.93 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 35.02/10.93 members_in_ag([], Ys) -> members_out_ag([], Ys) 35.02/10.93 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 35.02/10.93 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 35.02/10.93 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 35.02/10.93 color_map_in_ag(nil, Colors) -> color_map_out_ag(nil, Colors) 35.02/10.93 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(l(Region, Regions), Colors) 35.02/10.93 35.02/10.93 The argument filtering Pi contains the following mapping: 35.02/10.93 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 35.02/10.93 35.02/10.93 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 35.02/10.93 35.02/10.93 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 35.02/10.93 35.02/10.93 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x5) 35.02/10.93 35.02/10.93 select_in_aga(x1, x2, x3) = select_in_aga(x2) 35.02/10.93 35.02/10.93 .(x1, x2) = .(x1, x2) 35.02/10.93 35.02/10.93 select_out_aga(x1, x2, x3) = select_out_aga(x1, x3) 35.02/10.93 35.02/10.93 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x5) 35.02/10.93 35.02/10.93 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x5) 35.02/10.93 35.02/10.93 members_in_ag(x1, x2) = members_in_ag(x2) 35.02/10.93 35.02/10.93 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 35.02/10.93 35.02/10.93 member_in_ag(x1, x2) = member_in_ag(x2) 35.02/10.93 35.02/10.93 member_out_ag(x1, x2) = member_out_ag(x1) 35.02/10.93 35.02/10.93 U8_ag(x1, x2, x3, x4) = U8_ag(x4) 35.02/10.93 35.02/10.93 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x4) 35.02/10.93 35.02/10.93 members_out_ag(x1, x2) = members_out_ag(x1) 35.02/10.93 35.02/10.93 color_region_out_ag(x1, x2) = color_region_out_ag(x1) 35.02/10.93 35.02/10.93 region(x1, x2, x3) = region(x2, x3) 35.02/10.93 35.02/10.93 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x4) 35.02/10.93 35.02/10.93 color_map_out_ag(x1, x2) = color_map_out_ag(x1) 35.02/10.93 35.02/10.93 l(x1, x2) = l(x1, x2) 35.02/10.93 35.02/10.93 COLOR_MAP_IN_AG(x1, x2) = COLOR_MAP_IN_AG(x2) 35.02/10.93 35.02/10.93 U1_AG(x1, x2, x3, x4) = U1_AG(x3, x4) 35.02/10.93 35.02/10.93 COLOR_REGION_IN_AG(x1, x2) = COLOR_REGION_IN_AG(x2) 35.02/10.93 35.02/10.93 U3_AG(x1, x2, x3, x4, x5) = U3_AG(x5) 35.02/10.93 35.02/10.93 SELECT_IN_AGA(x1, x2, x3) = SELECT_IN_AGA(x2) 35.02/10.93 35.02/10.93 U5_AGA(x1, x2, x3, x4, x5) = U5_AGA(x2, x5) 35.02/10.93 35.02/10.93 U4_AG(x1, x2, x3, x4, x5) = U4_AG(x2, x5) 35.02/10.93 35.02/10.93 MEMBERS_IN_AG(x1, x2) = MEMBERS_IN_AG(x2) 35.02/10.93 35.02/10.93 U6_AG(x1, x2, x3, x4) = U6_AG(x3, x4) 35.02/10.93 35.02/10.93 MEMBER_IN_AG(x1, x2) = MEMBER_IN_AG(x2) 35.02/10.93 35.02/10.93 U8_AG(x1, x2, x3, x4) = U8_AG(x4) 35.02/10.93 35.02/10.93 U7_AG(x1, x2, x3, x4) = U7_AG(x1, x4) 35.02/10.93 35.02/10.93 U2_AG(x1, x2, x3, x4) = U2_AG(x1, x4) 35.02/10.93 35.02/10.93 35.02/10.93 We have to consider all (P,R,Pi)-chains 35.02/10.93 ---------------------------------------- 35.02/10.93 35.02/10.93 (5) DependencyGraphProof (EQUIVALENT) 35.02/10.93 The approximation of the Dependency Graph [LOPSTR] contains 4 SCCs with 10 less nodes. 35.02/10.93 ---------------------------------------- 35.02/10.93 35.02/10.93 (6) 35.02/10.93 Complex Obligation (AND) 35.02/10.93 35.02/10.93 ---------------------------------------- 35.02/10.93 35.02/10.93 (7) 35.02/10.93 Obligation: 35.02/10.93 Pi DP problem: 35.02/10.93 The TRS P consists of the following rules: 35.02/10.93 35.02/10.93 MEMBER_IN_AG(X, .(X2, T)) -> MEMBER_IN_AG(X, T) 35.02/10.93 35.02/10.93 The TRS R consists of the following rules: 35.02/10.93 35.02/10.93 color_map_in_ag(l(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 35.02/10.93 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 35.02/10.93 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 35.02/10.93 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 35.02/10.93 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 35.02/10.93 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 35.02/10.93 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 35.02/10.93 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 35.02/10.93 member_in_ag(X, .(X2, T)) -> U8_ag(X, X2, T, member_in_ag(X, T)) 35.02/10.93 U8_ag(X, X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 35.02/10.93 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 35.02/10.93 members_in_ag([], Ys) -> members_out_ag([], Ys) 35.02/10.93 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 35.02/10.93 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 35.02/10.93 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 35.02/10.93 color_map_in_ag(nil, Colors) -> color_map_out_ag(nil, Colors) 35.02/10.93 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(l(Region, Regions), Colors) 35.02/10.93 35.02/10.93 The argument filtering Pi contains the following mapping: 35.02/10.93 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 35.02/10.93 35.02/10.93 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 35.02/10.93 35.02/10.93 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 35.02/10.93 35.02/10.93 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x5) 35.02/10.93 35.02/10.93 select_in_aga(x1, x2, x3) = select_in_aga(x2) 35.02/10.93 35.02/10.93 .(x1, x2) = .(x1, x2) 35.02/10.93 35.02/10.93 select_out_aga(x1, x2, x3) = select_out_aga(x1, x3) 35.02/10.93 35.02/10.93 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x5) 35.02/10.93 35.02/10.93 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x5) 35.02/10.93 35.02/10.93 members_in_ag(x1, x2) = members_in_ag(x2) 35.02/10.93 35.02/10.93 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 35.02/10.93 35.02/10.93 member_in_ag(x1, x2) = member_in_ag(x2) 35.02/10.93 35.02/10.93 member_out_ag(x1, x2) = member_out_ag(x1) 35.02/10.93 35.02/10.93 U8_ag(x1, x2, x3, x4) = U8_ag(x4) 35.02/10.93 35.02/10.93 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x4) 35.02/10.93 35.02/10.93 members_out_ag(x1, x2) = members_out_ag(x1) 35.02/10.93 35.02/10.93 color_region_out_ag(x1, x2) = color_region_out_ag(x1) 35.02/10.93 35.02/10.93 region(x1, x2, x3) = region(x2, x3) 35.02/10.93 35.02/10.93 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x4) 35.02/10.93 35.02/10.93 color_map_out_ag(x1, x2) = color_map_out_ag(x1) 35.02/10.93 35.02/10.93 l(x1, x2) = l(x1, x2) 35.02/10.93 35.02/10.93 MEMBER_IN_AG(x1, x2) = MEMBER_IN_AG(x2) 35.02/10.93 35.02/10.93 35.02/10.93 We have to consider all (P,R,Pi)-chains 35.02/10.93 ---------------------------------------- 35.02/10.93 35.02/10.93 (8) UsableRulesProof (EQUIVALENT) 35.02/10.93 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 35.02/10.93 ---------------------------------------- 35.02/10.93 35.02/10.93 (9) 35.02/10.93 Obligation: 35.02/10.93 Pi DP problem: 35.02/10.93 The TRS P consists of the following rules: 35.02/10.93 35.02/10.93 MEMBER_IN_AG(X, .(X2, T)) -> MEMBER_IN_AG(X, T) 35.02/10.93 35.02/10.93 R is empty. 35.02/10.93 The argument filtering Pi contains the following mapping: 35.02/10.93 .(x1, x2) = .(x1, x2) 35.02/10.93 35.02/10.93 MEMBER_IN_AG(x1, x2) = MEMBER_IN_AG(x2) 35.02/10.93 35.02/10.93 35.02/10.93 We have to consider all (P,R,Pi)-chains 35.02/10.93 ---------------------------------------- 35.02/10.93 35.02/10.93 (10) PiDPToQDPProof (SOUND) 35.02/10.93 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 35.02/10.93 ---------------------------------------- 35.02/10.93 35.02/10.93 (11) 35.02/10.93 Obligation: 35.02/10.93 Q DP problem: 35.02/10.93 The TRS P consists of the following rules: 35.02/10.93 35.02/10.93 MEMBER_IN_AG(.(X2, T)) -> MEMBER_IN_AG(T) 35.02/10.93 35.02/10.93 R is empty. 35.02/10.93 Q is empty. 35.02/10.93 We have to consider all (P,Q,R)-chains. 35.02/10.93 ---------------------------------------- 35.02/10.93 35.02/10.93 (12) QDPSizeChangeProof (EQUIVALENT) 35.02/10.93 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. 35.02/10.93 35.02/10.93 From the DPs we obtained the following set of size-change graphs: 35.02/10.93 *MEMBER_IN_AG(.(X2, T)) -> MEMBER_IN_AG(T) 35.02/10.93 The graph contains the following edges 1 > 1 35.02/10.93 35.02/10.93 35.02/10.93 ---------------------------------------- 35.02/10.93 35.02/10.93 (13) 35.02/10.93 YES 35.02/10.93 35.02/10.93 ---------------------------------------- 35.02/10.93 35.02/10.93 (14) 35.02/10.93 Obligation: 35.02/10.93 Pi DP problem: 35.02/10.93 The TRS P consists of the following rules: 35.02/10.93 35.02/10.93 U6_AG(X, Xs, Ys, member_out_ag(X, Ys)) -> MEMBERS_IN_AG(Xs, Ys) 35.02/10.93 MEMBERS_IN_AG(.(X, Xs), Ys) -> U6_AG(X, Xs, Ys, member_in_ag(X, Ys)) 35.02/10.93 35.02/10.93 The TRS R consists of the following rules: 35.02/10.93 35.02/10.93 color_map_in_ag(l(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 35.02/10.93 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 35.02/10.93 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 35.02/10.93 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 35.02/10.93 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 35.02/10.93 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 35.02/10.93 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 35.02/10.93 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 35.02/10.93 member_in_ag(X, .(X2, T)) -> U8_ag(X, X2, T, member_in_ag(X, T)) 35.02/10.93 U8_ag(X, X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 35.02/10.93 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 35.02/10.93 members_in_ag([], Ys) -> members_out_ag([], Ys) 35.02/10.93 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 35.02/10.93 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 35.02/10.93 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 35.02/10.93 color_map_in_ag(nil, Colors) -> color_map_out_ag(nil, Colors) 35.02/10.93 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(l(Region, Regions), Colors) 35.02/10.93 35.02/10.93 The argument filtering Pi contains the following mapping: 35.02/10.93 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 35.02/10.93 35.02/10.93 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 35.02/10.93 35.02/10.93 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 35.02/10.93 35.02/10.93 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x5) 35.02/10.93 35.02/10.93 select_in_aga(x1, x2, x3) = select_in_aga(x2) 35.02/10.93 35.02/10.93 .(x1, x2) = .(x1, x2) 35.02/10.93 35.02/10.93 select_out_aga(x1, x2, x3) = select_out_aga(x1, x3) 35.02/10.93 35.02/10.93 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x5) 35.02/10.93 35.02/10.93 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x5) 35.02/10.93 35.02/10.93 members_in_ag(x1, x2) = members_in_ag(x2) 35.02/10.93 35.02/10.93 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 35.02/10.93 35.02/10.93 member_in_ag(x1, x2) = member_in_ag(x2) 35.02/10.93 35.02/10.93 member_out_ag(x1, x2) = member_out_ag(x1) 35.02/10.93 35.02/10.93 U8_ag(x1, x2, x3, x4) = U8_ag(x4) 35.02/10.93 35.02/10.93 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x4) 35.02/10.93 35.02/10.93 members_out_ag(x1, x2) = members_out_ag(x1) 35.02/10.93 35.02/10.93 color_region_out_ag(x1, x2) = color_region_out_ag(x1) 35.02/10.93 35.02/10.93 region(x1, x2, x3) = region(x2, x3) 35.02/10.93 35.02/10.93 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x4) 35.02/10.93 35.02/10.93 color_map_out_ag(x1, x2) = color_map_out_ag(x1) 35.02/10.93 35.02/10.93 l(x1, x2) = l(x1, x2) 35.02/10.93 35.02/10.93 MEMBERS_IN_AG(x1, x2) = MEMBERS_IN_AG(x2) 35.02/10.93 35.02/10.93 U6_AG(x1, x2, x3, x4) = U6_AG(x3, x4) 35.02/10.93 35.02/10.93 35.02/10.93 We have to consider all (P,R,Pi)-chains 35.02/10.93 ---------------------------------------- 35.02/10.93 35.02/10.93 (15) UsableRulesProof (EQUIVALENT) 35.02/10.93 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 35.02/10.93 ---------------------------------------- 35.02/10.93 35.02/10.93 (16) 35.02/10.93 Obligation: 35.02/10.93 Pi DP problem: 35.02/10.93 The TRS P consists of the following rules: 35.02/10.93 35.02/10.93 U6_AG(X, Xs, Ys, member_out_ag(X, Ys)) -> MEMBERS_IN_AG(Xs, Ys) 35.02/10.93 MEMBERS_IN_AG(.(X, Xs), Ys) -> U6_AG(X, Xs, Ys, member_in_ag(X, Ys)) 35.02/10.93 35.02/10.93 The TRS R consists of the following rules: 35.02/10.93 35.02/10.93 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 35.02/10.93 member_in_ag(X, .(X2, T)) -> U8_ag(X, X2, T, member_in_ag(X, T)) 35.02/10.93 U8_ag(X, X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 35.02/10.93 35.02/10.93 The argument filtering Pi contains the following mapping: 35.02/10.93 .(x1, x2) = .(x1, x2) 35.02/10.93 35.02/10.93 member_in_ag(x1, x2) = member_in_ag(x2) 35.02/10.93 35.02/10.93 member_out_ag(x1, x2) = member_out_ag(x1) 35.02/10.93 35.02/10.93 U8_ag(x1, x2, x3, x4) = U8_ag(x4) 35.02/10.93 35.02/10.93 MEMBERS_IN_AG(x1, x2) = MEMBERS_IN_AG(x2) 35.02/10.93 35.02/10.93 U6_AG(x1, x2, x3, x4) = U6_AG(x3, x4) 35.02/10.93 35.02/10.93 35.02/10.93 We have to consider all (P,R,Pi)-chains 35.02/10.93 ---------------------------------------- 35.02/10.93 35.02/10.93 (17) PiDPToQDPProof (SOUND) 35.02/10.93 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 35.02/10.93 ---------------------------------------- 35.02/10.93 35.02/10.93 (18) 35.02/10.93 Obligation: 35.02/10.93 Q DP problem: 35.02/10.93 The TRS P consists of the following rules: 35.02/10.93 35.02/10.93 U6_AG(Ys, member_out_ag(X)) -> MEMBERS_IN_AG(Ys) 35.02/10.93 MEMBERS_IN_AG(Ys) -> U6_AG(Ys, member_in_ag(Ys)) 35.02/10.93 35.02/10.93 The TRS R consists of the following rules: 35.02/10.93 35.02/10.93 member_in_ag(.(X, X1)) -> member_out_ag(X) 35.02/10.93 member_in_ag(.(X2, T)) -> U8_ag(member_in_ag(T)) 35.02/10.93 U8_ag(member_out_ag(X)) -> member_out_ag(X) 35.02/10.93 35.02/10.93 The set Q consists of the following terms: 35.02/10.93 35.02/10.93 member_in_ag(x0) 35.02/10.93 U8_ag(x0) 35.02/10.93 35.02/10.93 We have to consider all (P,Q,R)-chains. 35.02/10.93 ---------------------------------------- 35.02/10.93 35.02/10.93 (19) TransformationProof (SOUND) 35.02/10.93 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]: 35.02/10.93 35.02/10.93 (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))) 35.02/10.93 (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)))) 35.02/10.93 35.02/10.93 35.02/10.93 ---------------------------------------- 35.02/10.93 35.02/10.93 (20) 35.02/10.93 Obligation: 35.02/10.93 Q DP problem: 35.02/10.93 The TRS P consists of the following rules: 35.02/10.93 35.02/10.93 U6_AG(Ys, member_out_ag(X)) -> MEMBERS_IN_AG(Ys) 35.02/10.93 MEMBERS_IN_AG(.(x0, x1)) -> U6_AG(.(x0, x1), member_out_ag(x0)) 35.02/10.93 MEMBERS_IN_AG(.(x0, x1)) -> U6_AG(.(x0, x1), U8_ag(member_in_ag(x1))) 35.02/10.93 35.02/10.93 The TRS R consists of the following rules: 35.02/10.93 35.02/10.93 member_in_ag(.(X, X1)) -> member_out_ag(X) 35.02/10.93 member_in_ag(.(X2, T)) -> U8_ag(member_in_ag(T)) 35.02/10.93 U8_ag(member_out_ag(X)) -> member_out_ag(X) 35.02/10.93 35.02/10.93 The set Q consists of the following terms: 35.02/10.93 35.02/10.93 member_in_ag(x0) 35.02/10.93 U8_ag(x0) 35.02/10.93 35.02/10.93 We have to consider all (P,Q,R)-chains. 35.02/10.93 ---------------------------------------- 35.02/10.93 35.02/10.93 (21) TransformationProof (EQUIVALENT) 35.02/10.93 By instantiating [LPAR04] the rule U6_AG(Ys, member_out_ag(X)) -> MEMBERS_IN_AG(Ys) we obtained the following new rules [LPAR04]: 35.02/10.93 35.02/10.93 (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))) 35.02/10.94 (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))) 35.02/10.94 35.02/10.94 35.02/10.94 ---------------------------------------- 35.02/10.94 35.02/10.94 (22) 35.02/10.94 Obligation: 35.02/10.94 Q DP problem: 35.02/10.94 The TRS P consists of the following rules: 35.02/10.94 35.02/10.94 MEMBERS_IN_AG(.(x0, x1)) -> U6_AG(.(x0, x1), member_out_ag(x0)) 35.02/10.94 MEMBERS_IN_AG(.(x0, x1)) -> U6_AG(.(x0, x1), U8_ag(member_in_ag(x1))) 35.02/10.94 U6_AG(.(z0, z1), member_out_ag(z0)) -> MEMBERS_IN_AG(.(z0, z1)) 35.02/10.94 U6_AG(.(z0, z1), member_out_ag(x1)) -> MEMBERS_IN_AG(.(z0, z1)) 35.02/10.94 35.02/10.94 The TRS R consists of the following rules: 35.02/10.94 35.02/10.94 member_in_ag(.(X, X1)) -> member_out_ag(X) 35.02/10.94 member_in_ag(.(X2, T)) -> U8_ag(member_in_ag(T)) 35.02/10.94 U8_ag(member_out_ag(X)) -> member_out_ag(X) 35.02/10.94 35.02/10.94 The set Q consists of the following terms: 35.02/10.94 35.02/10.94 member_in_ag(x0) 35.02/10.94 U8_ag(x0) 35.02/10.94 35.02/10.94 We have to consider all (P,Q,R)-chains. 35.02/10.94 ---------------------------------------- 35.02/10.94 35.02/10.94 (23) NonTerminationLoopProof (COMPLETE) 35.02/10.94 We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. 35.02/10.94 Found a loop by narrowing to the left: 35.02/10.94 35.02/10.94 s = U6_AG(.(z0, z1), member_out_ag(z0)) evaluates to t =U6_AG(.(z0, z1), member_out_ag(z0)) 35.02/10.94 35.02/10.94 Thus s starts an infinite chain as s semiunifies with t with the following substitutions: 35.02/10.94 * Matcher: [ ] 35.02/10.94 * Semiunifier: [ ] 35.02/10.94 35.02/10.94 -------------------------------------------------------------------------------- 35.02/10.94 Rewriting sequence 35.02/10.94 35.02/10.94 U6_AG(.(z0, z1), member_out_ag(z0)) -> MEMBERS_IN_AG(.(z0, z1)) 35.02/10.94 with rule U6_AG(.(z0', z1'), member_out_ag(z0')) -> MEMBERS_IN_AG(.(z0', z1')) at position [] and matcher [z0' / z0, z1' / z1] 35.02/10.94 35.02/10.94 MEMBERS_IN_AG(.(z0, z1)) -> U6_AG(.(z0, z1), member_out_ag(z0)) 35.02/10.94 with rule MEMBERS_IN_AG(.(x0, x1)) -> U6_AG(.(x0, x1), member_out_ag(x0)) 35.02/10.94 35.02/10.94 Now applying the matcher to the start term leads to a term which is equal to the last term in the rewriting sequence 35.02/10.94 35.02/10.94 35.02/10.94 All these steps are and every following step will be a correct step w.r.t to Q. 35.02/10.94 35.02/10.94 35.02/10.94 35.02/10.94 35.02/10.94 ---------------------------------------- 35.02/10.94 35.02/10.94 (24) 35.02/10.94 NO 35.02/10.94 35.02/10.94 ---------------------------------------- 35.02/10.94 35.02/10.94 (25) 35.02/10.94 Obligation: 35.02/10.94 Pi DP problem: 35.02/10.94 The TRS P consists of the following rules: 35.02/10.94 35.02/10.94 SELECT_IN_AGA(X, .(Y, Ys), .(Y, Zs)) -> SELECT_IN_AGA(X, Ys, Zs) 35.02/10.94 35.02/10.94 The TRS R consists of the following rules: 35.02/10.94 35.02/10.94 color_map_in_ag(l(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 35.02/10.94 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 35.02/10.94 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 35.02/10.94 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 35.02/10.94 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 35.02/10.94 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 35.02/10.94 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 35.02/10.94 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 35.02/10.94 member_in_ag(X, .(X2, T)) -> U8_ag(X, X2, T, member_in_ag(X, T)) 35.02/10.94 U8_ag(X, X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 35.02/10.94 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 35.02/10.94 members_in_ag([], Ys) -> members_out_ag([], Ys) 35.02/10.94 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 35.02/10.94 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 35.02/10.94 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 35.02/10.94 color_map_in_ag(nil, Colors) -> color_map_out_ag(nil, Colors) 35.02/10.94 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(l(Region, Regions), Colors) 35.02/10.94 35.02/10.94 The argument filtering Pi contains the following mapping: 35.02/10.94 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 35.02/10.94 35.02/10.94 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 35.02/10.94 35.02/10.94 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 35.02/10.94 35.02/10.94 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x5) 35.02/10.94 35.02/10.94 select_in_aga(x1, x2, x3) = select_in_aga(x2) 35.02/10.94 35.02/10.94 .(x1, x2) = .(x1, x2) 35.02/10.94 35.02/10.94 select_out_aga(x1, x2, x3) = select_out_aga(x1, x3) 35.02/10.94 35.02/10.94 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x5) 35.02/10.94 35.02/10.94 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x5) 35.02/10.94 35.02/10.94 members_in_ag(x1, x2) = members_in_ag(x2) 35.02/10.94 35.02/10.94 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 35.02/10.94 35.02/10.94 member_in_ag(x1, x2) = member_in_ag(x2) 35.02/10.94 35.02/10.94 member_out_ag(x1, x2) = member_out_ag(x1) 35.02/10.94 35.02/10.94 U8_ag(x1, x2, x3, x4) = U8_ag(x4) 35.02/10.94 35.02/10.94 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x4) 35.02/10.94 35.02/10.94 members_out_ag(x1, x2) = members_out_ag(x1) 35.02/10.94 35.02/10.94 color_region_out_ag(x1, x2) = color_region_out_ag(x1) 35.02/10.94 35.02/10.94 region(x1, x2, x3) = region(x2, x3) 35.02/10.94 35.02/10.94 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x4) 35.02/10.94 35.02/10.94 color_map_out_ag(x1, x2) = color_map_out_ag(x1) 35.02/10.94 35.02/10.94 l(x1, x2) = l(x1, x2) 35.02/10.94 35.02/10.94 SELECT_IN_AGA(x1, x2, x3) = SELECT_IN_AGA(x2) 35.02/10.94 35.02/10.94 35.02/10.94 We have to consider all (P,R,Pi)-chains 35.02/10.94 ---------------------------------------- 35.02/10.94 35.02/10.94 (26) UsableRulesProof (EQUIVALENT) 35.02/10.94 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 35.02/10.94 ---------------------------------------- 35.02/10.94 35.02/10.94 (27) 35.02/10.94 Obligation: 35.02/10.94 Pi DP problem: 35.02/10.94 The TRS P consists of the following rules: 35.02/10.94 35.02/10.94 SELECT_IN_AGA(X, .(Y, Ys), .(Y, Zs)) -> SELECT_IN_AGA(X, Ys, Zs) 35.02/10.94 35.02/10.94 R is empty. 35.02/10.94 The argument filtering Pi contains the following mapping: 35.02/10.94 .(x1, x2) = .(x1, x2) 35.02/10.94 35.02/10.94 SELECT_IN_AGA(x1, x2, x3) = SELECT_IN_AGA(x2) 35.02/10.94 35.02/10.94 35.02/10.94 We have to consider all (P,R,Pi)-chains 35.02/10.94 ---------------------------------------- 35.02/10.94 35.02/10.94 (28) PiDPToQDPProof (SOUND) 35.02/10.94 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 35.02/10.94 ---------------------------------------- 35.02/10.94 35.02/10.94 (29) 35.02/10.94 Obligation: 35.02/10.94 Q DP problem: 35.02/10.94 The TRS P consists of the following rules: 35.02/10.94 35.02/10.94 SELECT_IN_AGA(.(Y, Ys)) -> SELECT_IN_AGA(Ys) 35.02/10.94 35.02/10.94 R is empty. 35.02/10.94 Q is empty. 35.02/10.94 We have to consider all (P,Q,R)-chains. 35.02/10.94 ---------------------------------------- 35.02/10.94 35.02/10.94 (30) QDPSizeChangeProof (EQUIVALENT) 35.02/10.94 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. 35.02/10.94 35.02/10.94 From the DPs we obtained the following set of size-change graphs: 35.02/10.94 *SELECT_IN_AGA(.(Y, Ys)) -> SELECT_IN_AGA(Ys) 35.02/10.94 The graph contains the following edges 1 > 1 35.02/10.94 35.02/10.94 35.02/10.94 ---------------------------------------- 35.02/10.94 35.02/10.94 (31) 35.02/10.94 YES 35.02/10.94 35.02/10.94 ---------------------------------------- 35.02/10.94 35.02/10.94 (32) 35.02/10.94 Obligation: 35.02/10.94 Pi DP problem: 35.02/10.94 The TRS P consists of the following rules: 35.02/10.94 35.02/10.94 U1_AG(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> COLOR_MAP_IN_AG(Regions, Colors) 35.02/10.94 COLOR_MAP_IN_AG(l(Region, Regions), Colors) -> U1_AG(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 35.02/10.94 35.02/10.94 The TRS R consists of the following rules: 35.02/10.94 35.02/10.94 color_map_in_ag(l(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 35.02/10.94 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 35.02/10.94 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 35.02/10.94 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 35.02/10.94 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 35.02/10.94 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 35.02/10.94 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 35.02/10.94 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 35.02/10.94 member_in_ag(X, .(X2, T)) -> U8_ag(X, X2, T, member_in_ag(X, T)) 35.02/10.94 U8_ag(X, X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 35.02/10.94 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 35.02/10.94 members_in_ag([], Ys) -> members_out_ag([], Ys) 35.02/10.94 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 35.02/10.94 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 35.02/10.94 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 35.02/10.94 color_map_in_ag(nil, Colors) -> color_map_out_ag(nil, Colors) 35.02/10.95 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(l(Region, Regions), Colors) 35.02/10.95 35.02/10.95 The argument filtering Pi contains the following mapping: 35.02/10.95 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 35.02/10.95 35.02/10.95 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 35.02/10.95 35.02/10.95 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 35.02/10.95 35.02/10.95 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x5) 35.02/10.95 35.02/10.95 select_in_aga(x1, x2, x3) = select_in_aga(x2) 35.02/10.95 35.02/10.95 .(x1, x2) = .(x1, x2) 35.02/10.95 35.02/10.95 select_out_aga(x1, x2, x3) = select_out_aga(x1, x3) 35.02/10.95 35.02/10.95 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x5) 35.02/10.95 35.02/10.95 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x5) 35.02/10.95 35.02/10.95 members_in_ag(x1, x2) = members_in_ag(x2) 35.02/10.95 35.02/10.95 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 35.02/10.95 35.02/10.95 member_in_ag(x1, x2) = member_in_ag(x2) 35.02/10.95 35.02/10.95 member_out_ag(x1, x2) = member_out_ag(x1) 35.02/10.95 35.02/10.95 U8_ag(x1, x2, x3, x4) = U8_ag(x4) 35.02/10.95 35.02/10.95 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x4) 35.02/10.95 35.02/10.95 members_out_ag(x1, x2) = members_out_ag(x1) 35.02/10.95 35.02/10.95 color_region_out_ag(x1, x2) = color_region_out_ag(x1) 35.02/10.95 35.02/10.95 region(x1, x2, x3) = region(x2, x3) 35.02/10.95 35.02/10.95 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x4) 35.02/10.95 35.02/10.95 color_map_out_ag(x1, x2) = color_map_out_ag(x1) 35.02/10.95 35.02/10.95 l(x1, x2) = l(x1, x2) 35.02/10.95 35.02/10.95 COLOR_MAP_IN_AG(x1, x2) = COLOR_MAP_IN_AG(x2) 35.02/10.95 35.02/10.95 U1_AG(x1, x2, x3, x4) = U1_AG(x3, x4) 35.02/10.95 35.02/10.95 35.02/10.95 We have to consider all (P,R,Pi)-chains 35.02/10.95 ---------------------------------------- 35.02/10.95 35.02/10.95 (33) UsableRulesProof (EQUIVALENT) 35.02/10.95 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 35.02/10.95 ---------------------------------------- 35.02/10.95 35.02/10.95 (34) 35.02/10.95 Obligation: 35.02/10.95 Pi DP problem: 35.02/10.95 The TRS P consists of the following rules: 35.02/10.95 35.02/10.95 U1_AG(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> COLOR_MAP_IN_AG(Regions, Colors) 35.02/10.95 COLOR_MAP_IN_AG(l(Region, Regions), Colors) -> U1_AG(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 35.02/10.95 35.02/10.95 The TRS R consists of the following rules: 35.02/10.95 35.02/10.95 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 35.02/10.95 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 35.02/10.95 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 35.02/10.95 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 35.02/10.95 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 35.02/10.95 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 35.02/10.95 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 35.02/10.95 members_in_ag([], Ys) -> members_out_ag([], Ys) 35.02/10.95 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 35.02/10.95 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 35.02/10.95 member_in_ag(X, .(X2, T)) -> U8_ag(X, X2, T, member_in_ag(X, T)) 35.02/10.95 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 35.02/10.95 U8_ag(X, X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 35.02/10.95 35.02/10.95 The argument filtering Pi contains the following mapping: 35.02/10.95 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 35.02/10.95 35.02/10.95 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x5) 35.02/10.95 35.02/10.95 select_in_aga(x1, x2, x3) = select_in_aga(x2) 35.02/10.95 35.02/10.95 .(x1, x2) = .(x1, x2) 35.02/10.95 35.02/10.95 select_out_aga(x1, x2, x3) = select_out_aga(x1, x3) 35.02/10.95 35.02/10.95 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x5) 35.02/10.95 35.02/10.95 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x5) 35.02/10.95 35.02/10.95 members_in_ag(x1, x2) = members_in_ag(x2) 35.02/10.95 35.02/10.95 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 35.02/10.95 35.02/10.95 member_in_ag(x1, x2) = member_in_ag(x2) 35.02/10.95 35.02/10.95 member_out_ag(x1, x2) = member_out_ag(x1) 35.02/10.95 35.02/10.95 U8_ag(x1, x2, x3, x4) = U8_ag(x4) 35.02/10.95 35.02/10.95 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x4) 35.02/10.95 35.02/10.95 members_out_ag(x1, x2) = members_out_ag(x1) 35.02/10.95 35.02/10.95 color_region_out_ag(x1, x2) = color_region_out_ag(x1) 35.02/10.95 35.02/10.95 region(x1, x2, x3) = region(x2, x3) 35.02/10.95 35.02/10.95 l(x1, x2) = l(x1, x2) 35.02/10.95 35.02/10.95 COLOR_MAP_IN_AG(x1, x2) = COLOR_MAP_IN_AG(x2) 35.02/10.95 35.02/10.95 U1_AG(x1, x2, x3, x4) = U1_AG(x3, x4) 35.02/10.95 35.02/10.95 35.02/10.95 We have to consider all (P,R,Pi)-chains 35.02/10.95 ---------------------------------------- 35.02/10.95 35.02/10.95 (35) PiDPToQDPProof (SOUND) 35.02/10.95 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 35.02/10.95 ---------------------------------------- 35.02/10.95 35.02/10.95 (36) 35.02/10.95 Obligation: 35.02/10.95 Q DP problem: 35.02/10.95 The TRS P consists of the following rules: 35.02/10.95 35.02/10.95 U1_AG(Colors, color_region_out_ag(Region)) -> COLOR_MAP_IN_AG(Colors) 35.02/10.95 COLOR_MAP_IN_AG(Colors) -> U1_AG(Colors, color_region_in_ag(Colors)) 35.02/10.95 35.02/10.95 The TRS R consists of the following rules: 35.02/10.95 35.02/10.95 color_region_in_ag(Colors) -> U3_ag(select_in_aga(Colors)) 35.02/10.95 U3_ag(select_out_aga(Color, Colors1)) -> U4_ag(Color, members_in_ag(Colors1)) 35.02/10.95 select_in_aga(.(X, Xs)) -> select_out_aga(X, Xs) 35.02/10.95 select_in_aga(.(Y, Ys)) -> U5_aga(Y, select_in_aga(Ys)) 35.02/10.95 U4_ag(Color, members_out_ag(Neighbors)) -> color_region_out_ag(region(Color, Neighbors)) 35.02/10.95 U5_aga(Y, select_out_aga(X, Zs)) -> select_out_aga(X, .(Y, Zs)) 35.02/10.95 members_in_ag(Ys) -> U6_ag(Ys, member_in_ag(Ys)) 35.02/10.95 members_in_ag(Ys) -> members_out_ag([]) 35.02/10.95 U6_ag(Ys, member_out_ag(X)) -> U7_ag(X, members_in_ag(Ys)) 35.02/10.95 member_in_ag(.(X, X1)) -> member_out_ag(X) 35.02/10.95 member_in_ag(.(X2, T)) -> U8_ag(member_in_ag(T)) 35.02/10.95 U7_ag(X, members_out_ag(Xs)) -> members_out_ag(.(X, Xs)) 35.02/10.95 U8_ag(member_out_ag(X)) -> member_out_ag(X) 35.02/10.95 35.02/10.95 The set Q consists of the following terms: 35.02/10.95 35.02/10.95 color_region_in_ag(x0) 35.02/10.95 U3_ag(x0) 35.02/10.95 select_in_aga(x0) 35.02/10.95 U4_ag(x0, x1) 35.02/10.95 U5_aga(x0, x1) 35.02/10.95 members_in_ag(x0) 35.02/10.95 U6_ag(x0, x1) 35.02/10.95 member_in_ag(x0) 35.02/10.95 U7_ag(x0, x1) 35.02/10.95 U8_ag(x0) 35.02/10.95 35.02/10.95 We have to consider all (P,Q,R)-chains. 35.02/10.95 ---------------------------------------- 35.02/10.95 35.02/10.95 (37) TransformationProof (SOUND) 35.02/10.95 By narrowing [LPAR04] the rule COLOR_MAP_IN_AG(Colors) -> U1_AG(Colors, color_region_in_ag(Colors)) at position [1] we obtained the following new rules [LPAR04]: 35.02/10.95 35.02/10.95 (COLOR_MAP_IN_AG(x0) -> U1_AG(x0, U3_ag(select_in_aga(x0))),COLOR_MAP_IN_AG(x0) -> U1_AG(x0, U3_ag(select_in_aga(x0)))) 35.02/10.95 35.02/10.95 35.02/10.95 ---------------------------------------- 35.02/10.95 35.02/10.95 (38) 35.02/10.95 Obligation: 35.02/10.95 Q DP problem: 35.02/10.95 The TRS P consists of the following rules: 35.02/10.95 35.02/10.95 U1_AG(Colors, color_region_out_ag(Region)) -> COLOR_MAP_IN_AG(Colors) 35.02/10.95 COLOR_MAP_IN_AG(x0) -> U1_AG(x0, U3_ag(select_in_aga(x0))) 35.02/10.95 35.02/10.95 The TRS R consists of the following rules: 35.02/10.95 35.02/10.95 color_region_in_ag(Colors) -> U3_ag(select_in_aga(Colors)) 35.02/10.95 U3_ag(select_out_aga(Color, Colors1)) -> U4_ag(Color, members_in_ag(Colors1)) 35.02/10.95 select_in_aga(.(X, Xs)) -> select_out_aga(X, Xs) 35.02/10.95 select_in_aga(.(Y, Ys)) -> U5_aga(Y, select_in_aga(Ys)) 35.02/10.95 U4_ag(Color, members_out_ag(Neighbors)) -> color_region_out_ag(region(Color, Neighbors)) 35.02/10.95 U5_aga(Y, select_out_aga(X, Zs)) -> select_out_aga(X, .(Y, Zs)) 35.02/10.95 members_in_ag(Ys) -> U6_ag(Ys, member_in_ag(Ys)) 35.02/10.95 members_in_ag(Ys) -> members_out_ag([]) 35.02/10.95 U6_ag(Ys, member_out_ag(X)) -> U7_ag(X, members_in_ag(Ys)) 35.02/10.95 member_in_ag(.(X, X1)) -> member_out_ag(X) 35.02/10.95 member_in_ag(.(X2, T)) -> U8_ag(member_in_ag(T)) 35.02/10.95 U7_ag(X, members_out_ag(Xs)) -> members_out_ag(.(X, Xs)) 35.02/10.95 U8_ag(member_out_ag(X)) -> member_out_ag(X) 35.02/10.95 35.02/10.95 The set Q consists of the following terms: 35.02/10.95 35.02/10.95 color_region_in_ag(x0) 35.02/10.95 U3_ag(x0) 35.02/10.95 select_in_aga(x0) 35.02/10.95 U4_ag(x0, x1) 35.02/10.95 U5_aga(x0, x1) 35.02/10.95 members_in_ag(x0) 35.02/10.95 U6_ag(x0, x1) 35.02/10.95 member_in_ag(x0) 35.02/10.95 U7_ag(x0, x1) 35.02/10.95 U8_ag(x0) 35.02/10.95 35.02/10.95 We have to consider all (P,Q,R)-chains. 35.02/10.95 ---------------------------------------- 35.02/10.95 35.02/10.95 (39) UsableRulesProof (EQUIVALENT) 35.02/10.95 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 35.02/10.95 ---------------------------------------- 35.02/10.95 35.02/10.95 (40) 35.02/10.95 Obligation: 35.02/10.95 Q DP problem: 35.02/10.95 The TRS P consists of the following rules: 35.02/10.95 35.02/10.95 U1_AG(Colors, color_region_out_ag(Region)) -> COLOR_MAP_IN_AG(Colors) 35.02/10.95 COLOR_MAP_IN_AG(x0) -> U1_AG(x0, U3_ag(select_in_aga(x0))) 35.02/10.95 35.02/10.95 The TRS R consists of the following rules: 35.02/10.95 35.02/10.95 select_in_aga(.(X, Xs)) -> select_out_aga(X, Xs) 35.02/10.95 select_in_aga(.(Y, Ys)) -> U5_aga(Y, select_in_aga(Ys)) 35.02/10.95 U3_ag(select_out_aga(Color, Colors1)) -> U4_ag(Color, members_in_ag(Colors1)) 35.02/10.95 members_in_ag(Ys) -> U6_ag(Ys, member_in_ag(Ys)) 35.02/10.95 members_in_ag(Ys) -> members_out_ag([]) 35.02/10.95 U4_ag(Color, members_out_ag(Neighbors)) -> color_region_out_ag(region(Color, Neighbors)) 35.02/10.95 member_in_ag(.(X, X1)) -> member_out_ag(X) 35.02/10.95 member_in_ag(.(X2, T)) -> U8_ag(member_in_ag(T)) 35.02/10.95 U6_ag(Ys, member_out_ag(X)) -> U7_ag(X, members_in_ag(Ys)) 35.02/10.95 U7_ag(X, members_out_ag(Xs)) -> members_out_ag(.(X, Xs)) 35.02/10.95 U8_ag(member_out_ag(X)) -> member_out_ag(X) 35.02/10.95 U5_aga(Y, select_out_aga(X, Zs)) -> select_out_aga(X, .(Y, Zs)) 35.02/10.95 35.02/10.95 The set Q consists of the following terms: 35.02/10.95 35.02/10.95 color_region_in_ag(x0) 35.02/10.95 U3_ag(x0) 35.02/10.95 select_in_aga(x0) 35.02/10.95 U4_ag(x0, x1) 35.02/10.95 U5_aga(x0, x1) 35.02/10.95 members_in_ag(x0) 35.02/10.95 U6_ag(x0, x1) 35.02/10.95 member_in_ag(x0) 35.02/10.95 U7_ag(x0, x1) 35.02/10.95 U8_ag(x0) 35.02/10.95 35.02/10.95 We have to consider all (P,Q,R)-chains. 35.02/10.95 ---------------------------------------- 35.02/10.95 35.02/10.95 (41) QReductionProof (EQUIVALENT) 35.02/10.95 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 35.02/10.95 35.02/10.95 color_region_in_ag(x0) 35.02/10.95 35.02/10.95 35.02/10.95 ---------------------------------------- 35.02/10.95 35.02/10.95 (42) 35.02/10.95 Obligation: 35.02/10.95 Q DP problem: 35.02/10.95 The TRS P consists of the following rules: 35.02/10.95 35.02/10.95 U1_AG(Colors, color_region_out_ag(Region)) -> COLOR_MAP_IN_AG(Colors) 35.02/10.95 COLOR_MAP_IN_AG(x0) -> U1_AG(x0, U3_ag(select_in_aga(x0))) 35.02/10.95 35.02/10.95 The TRS R consists of the following rules: 35.02/10.95 35.02/10.95 select_in_aga(.(X, Xs)) -> select_out_aga(X, Xs) 35.02/10.95 select_in_aga(.(Y, Ys)) -> U5_aga(Y, select_in_aga(Ys)) 35.02/10.95 U3_ag(select_out_aga(Color, Colors1)) -> U4_ag(Color, members_in_ag(Colors1)) 35.02/10.95 members_in_ag(Ys) -> U6_ag(Ys, member_in_ag(Ys)) 35.02/10.95 members_in_ag(Ys) -> members_out_ag([]) 35.02/10.95 U4_ag(Color, members_out_ag(Neighbors)) -> color_region_out_ag(region(Color, Neighbors)) 35.02/10.95 member_in_ag(.(X, X1)) -> member_out_ag(X) 35.02/10.95 member_in_ag(.(X2, T)) -> U8_ag(member_in_ag(T)) 35.02/10.95 U6_ag(Ys, member_out_ag(X)) -> U7_ag(X, members_in_ag(Ys)) 35.02/10.95 U7_ag(X, members_out_ag(Xs)) -> members_out_ag(.(X, Xs)) 35.02/10.95 U8_ag(member_out_ag(X)) -> member_out_ag(X) 35.02/10.95 U5_aga(Y, select_out_aga(X, Zs)) -> select_out_aga(X, .(Y, Zs)) 35.02/10.95 35.02/10.95 The set Q consists of the following terms: 35.02/10.95 35.02/10.95 U3_ag(x0) 35.02/10.95 select_in_aga(x0) 35.02/10.95 U4_ag(x0, x1) 35.02/10.95 U5_aga(x0, x1) 35.02/10.95 members_in_ag(x0) 35.02/10.95 U6_ag(x0, x1) 35.02/10.95 member_in_ag(x0) 35.02/10.95 U7_ag(x0, x1) 35.02/10.95 U8_ag(x0) 35.02/10.95 35.02/10.95 We have to consider all (P,Q,R)-chains. 35.02/10.95 ---------------------------------------- 35.02/10.95 35.02/10.95 (43) PrologToPiTRSProof (SOUND) 35.02/10.95 We use the technique of [TOCL09]. With regard to the inferred argument filtering the predicates were used in the following modes: 35.02/10.95 35.02/10.95 color_map_in_2: (f,b) 35.02/10.95 35.02/10.95 color_region_in_2: (f,b) 35.02/10.95 35.02/10.95 select_in_3: (f,b,f) 35.02/10.95 35.02/10.95 members_in_2: (f,b) 35.02/10.95 35.02/10.95 member_in_2: (f,b) 35.02/10.95 35.02/10.95 Transforming Prolog into the following Term Rewriting System: 35.02/10.95 35.02/10.95 Pi-finite rewrite system: 35.02/10.95 The TRS R consists of the following rules: 35.02/10.95 35.02/10.95 color_map_in_ag(l(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 35.02/10.95 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 35.02/10.95 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 35.02/10.95 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 35.02/10.95 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 35.02/10.95 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 35.02/10.95 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 35.02/10.95 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 35.02/10.95 member_in_ag(X, .(X2, T)) -> U8_ag(X, X2, T, member_in_ag(X, T)) 35.02/10.95 U8_ag(X, X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 35.02/10.95 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 35.02/10.95 members_in_ag([], Ys) -> members_out_ag([], Ys) 35.02/10.95 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 35.02/10.95 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 35.02/10.95 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 35.02/10.95 color_map_in_ag(nil, Colors) -> color_map_out_ag(nil, Colors) 35.02/10.95 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(l(Region, Regions), Colors) 35.02/10.95 35.02/10.95 The argument filtering Pi contains the following mapping: 35.02/10.95 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 35.02/10.95 35.02/10.95 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 35.02/10.95 35.02/10.95 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 35.02/10.95 35.02/10.95 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x4, x5) 35.02/10.95 35.02/10.95 select_in_aga(x1, x2, x3) = select_in_aga(x2) 35.02/10.95 35.02/10.95 .(x1, x2) = .(x1, x2) 35.02/10.95 35.02/10.95 select_out_aga(x1, x2, x3) = select_out_aga(x1, x2, x3) 35.02/10.95 35.02/10.95 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x3, x5) 35.02/10.95 35.02/10.95 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x4, x5) 35.02/10.95 35.02/10.95 members_in_ag(x1, x2) = members_in_ag(x2) 35.02/10.95 35.02/10.95 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 35.02/10.95 35.02/10.95 member_in_ag(x1, x2) = member_in_ag(x2) 35.02/10.95 35.02/10.95 member_out_ag(x1, x2) = member_out_ag(x1, x2) 35.02/10.95 35.02/10.95 U8_ag(x1, x2, x3, x4) = U8_ag(x2, x3, x4) 35.02/10.95 35.02/10.95 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x3, x4) 35.02/10.95 35.02/10.95 members_out_ag(x1, x2) = members_out_ag(x1, x2) 35.02/10.95 35.02/10.95 color_region_out_ag(x1, x2) = color_region_out_ag(x1, x2) 35.02/10.95 35.02/10.95 region(x1, x2, x3) = region(x2, x3) 35.02/10.95 35.02/10.95 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x3, x4) 35.02/10.95 35.02/10.95 color_map_out_ag(x1, x2) = color_map_out_ag(x1, x2) 35.02/10.95 35.02/10.95 l(x1, x2) = l(x1, x2) 35.02/10.95 35.02/10.95 35.02/10.95 35.02/10.95 35.02/10.95 35.02/10.95 Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog 35.02/10.95 35.02/10.95 35.02/10.95 35.02/10.95 ---------------------------------------- 35.02/10.95 35.02/10.95 (44) 35.02/10.95 Obligation: 35.02/10.95 Pi-finite rewrite system: 35.02/10.95 The TRS R consists of the following rules: 35.02/10.95 35.02/10.95 color_map_in_ag(l(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 35.02/10.95 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 35.02/10.95 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 35.02/10.95 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 35.02/10.95 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 35.02/10.95 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 35.02/10.95 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 35.02/10.95 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 35.02/10.95 member_in_ag(X, .(X2, T)) -> U8_ag(X, X2, T, member_in_ag(X, T)) 35.02/10.95 U8_ag(X, X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 35.02/10.95 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 35.02/10.95 members_in_ag([], Ys) -> members_out_ag([], Ys) 35.02/10.95 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 35.02/10.95 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 35.02/10.95 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 35.02/10.95 color_map_in_ag(nil, Colors) -> color_map_out_ag(nil, Colors) 35.02/10.95 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(l(Region, Regions), Colors) 35.02/10.95 35.02/10.95 The argument filtering Pi contains the following mapping: 35.02/10.95 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 35.02/10.95 35.02/10.95 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 35.02/10.95 35.02/10.95 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 35.02/10.95 35.02/10.95 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x4, x5) 35.02/10.95 35.02/10.95 select_in_aga(x1, x2, x3) = select_in_aga(x2) 35.02/10.95 35.02/10.95 .(x1, x2) = .(x1, x2) 35.02/10.95 35.02/10.95 select_out_aga(x1, x2, x3) = select_out_aga(x1, x2, x3) 35.02/10.95 35.02/10.95 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x3, x5) 35.02/10.95 35.02/10.95 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x4, x5) 35.02/10.95 35.02/10.95 members_in_ag(x1, x2) = members_in_ag(x2) 35.02/10.95 35.02/10.95 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 35.02/10.95 35.02/10.95 member_in_ag(x1, x2) = member_in_ag(x2) 35.02/10.95 35.02/10.95 member_out_ag(x1, x2) = member_out_ag(x1, x2) 35.02/10.95 35.02/10.95 U8_ag(x1, x2, x3, x4) = U8_ag(x2, x3, x4) 35.02/10.95 35.02/10.95 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x3, x4) 35.02/10.95 35.02/10.95 members_out_ag(x1, x2) = members_out_ag(x1, x2) 35.02/10.95 35.02/10.95 color_region_out_ag(x1, x2) = color_region_out_ag(x1, x2) 35.02/10.95 35.02/10.95 region(x1, x2, x3) = region(x2, x3) 35.02/10.95 35.02/10.95 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x3, x4) 35.02/10.95 35.02/10.95 color_map_out_ag(x1, x2) = color_map_out_ag(x1, x2) 35.02/10.95 35.02/10.95 l(x1, x2) = l(x1, x2) 35.02/10.95 35.02/10.95 35.02/10.95 35.02/10.95 ---------------------------------------- 35.02/10.95 35.02/10.95 (45) DependencyPairsProof (EQUIVALENT) 35.02/10.95 Using Dependency Pairs [AG00,LOPSTR] we result in the following initial DP problem: 35.02/10.95 Pi DP problem: 35.02/10.95 The TRS P consists of the following rules: 35.02/10.95 35.02/10.95 COLOR_MAP_IN_AG(l(Region, Regions), Colors) -> U1_AG(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 35.02/10.95 COLOR_MAP_IN_AG(l(Region, Regions), Colors) -> COLOR_REGION_IN_AG(Region, Colors) 35.02/10.95 COLOR_REGION_IN_AG(region(Name, Color, Neighbors), Colors) -> U3_AG(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 35.02/10.95 COLOR_REGION_IN_AG(region(Name, Color, Neighbors), Colors) -> SELECT_IN_AGA(Color, Colors, Colors1) 35.02/10.95 SELECT_IN_AGA(X, .(Y, Ys), .(Y, Zs)) -> U5_AGA(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 35.02/10.95 SELECT_IN_AGA(X, .(Y, Ys), .(Y, Zs)) -> SELECT_IN_AGA(X, Ys, Zs) 35.02/10.95 U3_AG(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_AG(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 35.02/10.95 U3_AG(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> MEMBERS_IN_AG(Neighbors, Colors1) 35.02/10.95 MEMBERS_IN_AG(.(X, Xs), Ys) -> U6_AG(X, Xs, Ys, member_in_ag(X, Ys)) 35.02/10.95 MEMBERS_IN_AG(.(X, Xs), Ys) -> MEMBER_IN_AG(X, Ys) 35.02/10.95 MEMBER_IN_AG(X, .(X2, T)) -> U8_AG(X, X2, T, member_in_ag(X, T)) 35.02/10.95 MEMBER_IN_AG(X, .(X2, T)) -> MEMBER_IN_AG(X, T) 35.02/10.95 U6_AG(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_AG(X, Xs, Ys, members_in_ag(Xs, Ys)) 35.02/10.95 U6_AG(X, Xs, Ys, member_out_ag(X, Ys)) -> MEMBERS_IN_AG(Xs, Ys) 35.02/10.95 U1_AG(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_AG(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 35.02/10.95 U1_AG(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> COLOR_MAP_IN_AG(Regions, Colors) 35.02/10.95 35.02/10.95 The TRS R consists of the following rules: 35.02/10.95 35.02/10.95 color_map_in_ag(l(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 35.02/10.95 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 35.02/10.95 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 35.02/10.95 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 35.02/10.95 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 35.02/10.95 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 35.02/10.95 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 35.02/10.95 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 35.02/10.95 member_in_ag(X, .(X2, T)) -> U8_ag(X, X2, T, member_in_ag(X, T)) 35.02/10.95 U8_ag(X, X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 35.02/10.95 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 35.02/10.95 members_in_ag([], Ys) -> members_out_ag([], Ys) 35.02/10.95 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 35.02/10.95 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 35.02/10.95 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 35.02/10.95 color_map_in_ag(nil, Colors) -> color_map_out_ag(nil, Colors) 35.02/10.95 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(l(Region, Regions), Colors) 35.02/10.95 35.02/10.95 The argument filtering Pi contains the following mapping: 35.02/10.95 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 35.02/10.95 35.02/10.95 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 35.02/10.95 35.02/10.95 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 35.02/10.95 35.02/10.95 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x4, x5) 35.02/10.95 35.02/10.95 select_in_aga(x1, x2, x3) = select_in_aga(x2) 35.02/10.95 35.02/10.95 .(x1, x2) = .(x1, x2) 35.02/10.95 35.02/10.95 select_out_aga(x1, x2, x3) = select_out_aga(x1, x2, x3) 35.02/10.95 35.02/10.95 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x3, x5) 35.02/10.95 35.02/10.95 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x4, x5) 35.02/10.95 35.02/10.95 members_in_ag(x1, x2) = members_in_ag(x2) 35.02/10.95 35.02/10.95 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 35.02/10.95 35.02/10.95 member_in_ag(x1, x2) = member_in_ag(x2) 35.02/10.95 35.02/10.95 member_out_ag(x1, x2) = member_out_ag(x1, x2) 35.02/10.95 35.02/10.95 U8_ag(x1, x2, x3, x4) = U8_ag(x2, x3, x4) 35.02/10.95 35.02/10.95 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x3, x4) 35.02/10.95 35.02/10.95 members_out_ag(x1, x2) = members_out_ag(x1, x2) 35.02/10.95 35.02/10.95 color_region_out_ag(x1, x2) = color_region_out_ag(x1, x2) 35.02/10.95 35.02/10.95 region(x1, x2, x3) = region(x2, x3) 35.02/10.95 35.02/10.95 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x3, x4) 35.02/10.95 35.02/10.95 color_map_out_ag(x1, x2) = color_map_out_ag(x1, x2) 35.02/10.95 35.02/10.95 l(x1, x2) = l(x1, x2) 35.02/10.95 35.02/10.95 COLOR_MAP_IN_AG(x1, x2) = COLOR_MAP_IN_AG(x2) 35.02/10.95 35.02/10.95 U1_AG(x1, x2, x3, x4) = U1_AG(x3, x4) 35.02/10.95 35.02/10.95 COLOR_REGION_IN_AG(x1, x2) = COLOR_REGION_IN_AG(x2) 35.02/10.95 35.02/10.95 U3_AG(x1, x2, x3, x4, x5) = U3_AG(x4, x5) 35.02/10.95 35.02/10.95 SELECT_IN_AGA(x1, x2, x3) = SELECT_IN_AGA(x2) 35.02/10.95 35.02/10.95 U5_AGA(x1, x2, x3, x4, x5) = U5_AGA(x2, x3, x5) 35.02/10.95 35.02/10.95 U4_AG(x1, x2, x3, x4, x5) = U4_AG(x2, x4, x5) 35.02/10.95 35.02/10.95 MEMBERS_IN_AG(x1, x2) = MEMBERS_IN_AG(x2) 35.02/10.95 35.02/10.95 U6_AG(x1, x2, x3, x4) = U6_AG(x3, x4) 35.02/10.95 35.02/10.95 MEMBER_IN_AG(x1, x2) = MEMBER_IN_AG(x2) 35.02/10.95 35.02/10.95 U8_AG(x1, x2, x3, x4) = U8_AG(x2, x3, x4) 35.02/10.95 35.02/10.95 U7_AG(x1, x2, x3, x4) = U7_AG(x1, x3, x4) 35.02/10.95 35.02/10.95 U2_AG(x1, x2, x3, x4) = U2_AG(x1, x3, x4) 35.02/10.95 35.02/10.95 35.02/10.95 We have to consider all (P,R,Pi)-chains 35.02/10.95 ---------------------------------------- 35.02/10.95 35.02/10.95 (46) 35.02/10.95 Obligation: 35.02/10.95 Pi DP problem: 35.02/10.95 The TRS P consists of the following rules: 35.02/10.95 35.02/10.95 COLOR_MAP_IN_AG(l(Region, Regions), Colors) -> U1_AG(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 35.02/10.95 COLOR_MAP_IN_AG(l(Region, Regions), Colors) -> COLOR_REGION_IN_AG(Region, Colors) 35.02/10.95 COLOR_REGION_IN_AG(region(Name, Color, Neighbors), Colors) -> U3_AG(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 35.02/10.95 COLOR_REGION_IN_AG(region(Name, Color, Neighbors), Colors) -> SELECT_IN_AGA(Color, Colors, Colors1) 35.02/10.95 SELECT_IN_AGA(X, .(Y, Ys), .(Y, Zs)) -> U5_AGA(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 35.02/10.95 SELECT_IN_AGA(X, .(Y, Ys), .(Y, Zs)) -> SELECT_IN_AGA(X, Ys, Zs) 35.02/10.95 U3_AG(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_AG(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 35.02/10.95 U3_AG(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> MEMBERS_IN_AG(Neighbors, Colors1) 35.02/10.95 MEMBERS_IN_AG(.(X, Xs), Ys) -> U6_AG(X, Xs, Ys, member_in_ag(X, Ys)) 35.02/10.95 MEMBERS_IN_AG(.(X, Xs), Ys) -> MEMBER_IN_AG(X, Ys) 35.02/10.95 MEMBER_IN_AG(X, .(X2, T)) -> U8_AG(X, X2, T, member_in_ag(X, T)) 35.02/10.95 MEMBER_IN_AG(X, .(X2, T)) -> MEMBER_IN_AG(X, T) 35.02/10.95 U6_AG(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_AG(X, Xs, Ys, members_in_ag(Xs, Ys)) 35.02/10.95 U6_AG(X, Xs, Ys, member_out_ag(X, Ys)) -> MEMBERS_IN_AG(Xs, Ys) 35.02/10.95 U1_AG(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_AG(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 35.02/10.95 U1_AG(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> COLOR_MAP_IN_AG(Regions, Colors) 35.02/10.95 35.02/10.95 The TRS R consists of the following rules: 35.02/10.95 35.02/10.95 color_map_in_ag(l(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 35.02/10.95 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 35.02/10.95 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 35.02/10.95 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 35.02/10.95 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 35.02/10.95 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 35.02/10.95 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 35.02/10.95 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 35.02/10.95 member_in_ag(X, .(X2, T)) -> U8_ag(X, X2, T, member_in_ag(X, T)) 35.02/10.95 U8_ag(X, X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 35.02/10.95 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 35.02/10.95 members_in_ag([], Ys) -> members_out_ag([], Ys) 35.02/10.95 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 35.02/10.95 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 35.02/10.95 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 35.02/10.95 color_map_in_ag(nil, Colors) -> color_map_out_ag(nil, Colors) 35.02/10.95 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(l(Region, Regions), Colors) 35.02/10.95 35.02/10.95 The argument filtering Pi contains the following mapping: 35.02/10.95 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 35.02/10.95 35.02/10.95 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 35.02/10.95 35.02/10.95 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 35.02/10.95 35.02/10.95 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x4, x5) 35.02/10.95 35.02/10.95 select_in_aga(x1, x2, x3) = select_in_aga(x2) 35.02/10.95 35.02/10.95 .(x1, x2) = .(x1, x2) 35.02/10.95 35.02/10.95 select_out_aga(x1, x2, x3) = select_out_aga(x1, x2, x3) 35.02/10.95 35.02/10.95 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x3, x5) 35.02/10.95 35.02/10.95 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x4, x5) 35.02/10.95 35.02/10.95 members_in_ag(x1, x2) = members_in_ag(x2) 35.02/10.95 35.02/10.95 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 35.02/10.95 35.02/10.95 member_in_ag(x1, x2) = member_in_ag(x2) 35.02/10.95 35.02/10.95 member_out_ag(x1, x2) = member_out_ag(x1, x2) 35.02/10.95 35.02/10.95 U8_ag(x1, x2, x3, x4) = U8_ag(x2, x3, x4) 35.02/10.95 35.02/10.95 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x3, x4) 35.02/10.95 35.02/10.95 members_out_ag(x1, x2) = members_out_ag(x1, x2) 35.02/10.95 35.02/10.95 color_region_out_ag(x1, x2) = color_region_out_ag(x1, x2) 35.02/10.95 35.02/10.95 region(x1, x2, x3) = region(x2, x3) 35.02/10.95 35.02/10.95 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x3, x4) 35.02/10.95 35.02/10.95 color_map_out_ag(x1, x2) = color_map_out_ag(x1, x2) 35.02/10.95 35.02/10.95 l(x1, x2) = l(x1, x2) 35.02/10.95 35.02/10.95 COLOR_MAP_IN_AG(x1, x2) = COLOR_MAP_IN_AG(x2) 35.02/10.95 35.02/10.95 U1_AG(x1, x2, x3, x4) = U1_AG(x3, x4) 35.02/10.95 35.02/10.95 COLOR_REGION_IN_AG(x1, x2) = COLOR_REGION_IN_AG(x2) 35.02/10.95 35.02/10.95 U3_AG(x1, x2, x3, x4, x5) = U3_AG(x4, x5) 35.02/10.95 35.02/10.95 SELECT_IN_AGA(x1, x2, x3) = SELECT_IN_AGA(x2) 35.02/10.95 35.02/10.95 U5_AGA(x1, x2, x3, x4, x5) = U5_AGA(x2, x3, x5) 35.02/10.95 35.02/10.95 U4_AG(x1, x2, x3, x4, x5) = U4_AG(x2, x4, x5) 35.02/10.95 35.02/10.95 MEMBERS_IN_AG(x1, x2) = MEMBERS_IN_AG(x2) 35.02/10.95 35.02/10.95 U6_AG(x1, x2, x3, x4) = U6_AG(x3, x4) 35.02/10.95 35.02/10.95 MEMBER_IN_AG(x1, x2) = MEMBER_IN_AG(x2) 35.02/10.95 35.02/10.95 U8_AG(x1, x2, x3, x4) = U8_AG(x2, x3, x4) 35.02/10.95 35.02/10.95 U7_AG(x1, x2, x3, x4) = U7_AG(x1, x3, x4) 35.02/10.95 35.02/10.95 U2_AG(x1, x2, x3, x4) = U2_AG(x1, x3, x4) 35.02/10.95 35.02/10.95 35.02/10.95 We have to consider all (P,R,Pi)-chains 35.02/10.95 ---------------------------------------- 35.02/10.95 35.02/10.95 (47) DependencyGraphProof (EQUIVALENT) 35.02/10.95 The approximation of the Dependency Graph [LOPSTR] contains 4 SCCs with 10 less nodes. 35.02/10.95 ---------------------------------------- 35.02/10.95 35.02/10.95 (48) 35.02/10.95 Complex Obligation (AND) 35.02/10.95 35.02/10.95 ---------------------------------------- 35.02/10.95 35.02/10.95 (49) 35.02/10.95 Obligation: 35.02/10.95 Pi DP problem: 35.02/10.95 The TRS P consists of the following rules: 35.02/10.95 35.02/10.95 MEMBER_IN_AG(X, .(X2, T)) -> MEMBER_IN_AG(X, T) 35.02/10.95 35.02/10.95 The TRS R consists of the following rules: 35.02/10.95 35.02/10.95 color_map_in_ag(l(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 35.02/10.95 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 35.02/10.95 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 35.02/10.95 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 35.02/10.95 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 35.02/10.95 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 35.02/10.95 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 35.02/10.95 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 35.02/10.95 member_in_ag(X, .(X2, T)) -> U8_ag(X, X2, T, member_in_ag(X, T)) 35.02/10.95 U8_ag(X, X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 35.02/10.95 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 35.02/10.95 members_in_ag([], Ys) -> members_out_ag([], Ys) 35.02/10.95 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 35.02/10.95 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 35.02/10.95 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 35.02/10.95 color_map_in_ag(nil, Colors) -> color_map_out_ag(nil, Colors) 35.02/10.95 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(l(Region, Regions), Colors) 35.02/10.95 35.02/10.95 The argument filtering Pi contains the following mapping: 35.02/10.95 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 35.02/10.95 35.02/10.95 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 35.02/10.95 35.02/10.95 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 35.02/10.95 35.02/10.95 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x4, x5) 35.02/10.95 35.02/10.95 select_in_aga(x1, x2, x3) = select_in_aga(x2) 35.02/10.95 35.02/10.95 .(x1, x2) = .(x1, x2) 35.02/10.95 35.02/10.95 select_out_aga(x1, x2, x3) = select_out_aga(x1, x2, x3) 35.02/10.95 35.02/10.95 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x3, x5) 35.02/10.95 35.02/10.95 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x4, x5) 35.02/10.95 35.02/10.95 members_in_ag(x1, x2) = members_in_ag(x2) 35.02/10.95 35.02/10.95 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 35.02/10.95 35.02/10.95 member_in_ag(x1, x2) = member_in_ag(x2) 35.02/10.95 35.02/10.95 member_out_ag(x1, x2) = member_out_ag(x1, x2) 35.02/10.95 35.02/10.95 U8_ag(x1, x2, x3, x4) = U8_ag(x2, x3, x4) 35.02/10.95 35.02/10.95 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x3, x4) 35.02/10.95 35.02/10.95 members_out_ag(x1, x2) = members_out_ag(x1, x2) 35.02/10.95 35.02/10.95 color_region_out_ag(x1, x2) = color_region_out_ag(x1, x2) 35.02/10.95 35.02/10.95 region(x1, x2, x3) = region(x2, x3) 35.02/10.95 35.02/10.95 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x3, x4) 35.02/10.95 35.02/10.95 color_map_out_ag(x1, x2) = color_map_out_ag(x1, x2) 35.02/10.95 35.02/10.95 l(x1, x2) = l(x1, x2) 35.02/10.95 35.02/10.95 MEMBER_IN_AG(x1, x2) = MEMBER_IN_AG(x2) 35.02/10.95 35.02/10.95 35.02/10.95 We have to consider all (P,R,Pi)-chains 35.02/10.95 ---------------------------------------- 35.02/10.95 35.02/10.95 (50) UsableRulesProof (EQUIVALENT) 35.02/10.95 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 35.02/10.95 ---------------------------------------- 35.02/10.95 35.02/10.95 (51) 35.02/10.95 Obligation: 35.02/10.95 Pi DP problem: 35.02/10.95 The TRS P consists of the following rules: 35.02/10.95 35.02/10.95 MEMBER_IN_AG(X, .(X2, T)) -> MEMBER_IN_AG(X, T) 35.02/10.95 35.02/10.95 R is empty. 35.02/10.95 The argument filtering Pi contains the following mapping: 35.02/10.95 .(x1, x2) = .(x1, x2) 35.02/10.95 35.02/10.95 MEMBER_IN_AG(x1, x2) = MEMBER_IN_AG(x2) 35.02/10.95 35.02/10.95 35.02/10.95 We have to consider all (P,R,Pi)-chains 35.02/10.95 ---------------------------------------- 35.02/10.95 35.02/10.95 (52) PiDPToQDPProof (SOUND) 35.02/10.95 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 35.02/10.95 ---------------------------------------- 35.02/10.95 35.02/10.95 (53) 35.02/10.95 Obligation: 35.02/10.95 Q DP problem: 35.02/10.95 The TRS P consists of the following rules: 35.02/10.95 35.02/10.95 MEMBER_IN_AG(.(X2, T)) -> MEMBER_IN_AG(T) 35.02/10.95 35.02/10.95 R is empty. 35.02/10.95 Q is empty. 35.02/10.95 We have to consider all (P,Q,R)-chains. 35.02/10.95 ---------------------------------------- 35.02/10.95 35.02/10.95 (54) QDPSizeChangeProof (EQUIVALENT) 35.02/10.95 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. 35.02/10.95 35.02/10.95 From the DPs we obtained the following set of size-change graphs: 35.02/10.95 *MEMBER_IN_AG(.(X2, T)) -> MEMBER_IN_AG(T) 35.02/10.95 The graph contains the following edges 1 > 1 35.02/10.95 35.02/10.95 35.02/10.95 ---------------------------------------- 35.02/10.95 35.02/10.95 (55) 35.02/10.95 YES 35.02/10.95 35.02/10.95 ---------------------------------------- 35.02/10.95 35.02/10.95 (56) 35.02/10.95 Obligation: 35.02/10.95 Pi DP problem: 35.02/10.95 The TRS P consists of the following rules: 35.02/10.95 35.02/10.95 U6_AG(X, Xs, Ys, member_out_ag(X, Ys)) -> MEMBERS_IN_AG(Xs, Ys) 35.02/10.95 MEMBERS_IN_AG(.(X, Xs), Ys) -> U6_AG(X, Xs, Ys, member_in_ag(X, Ys)) 35.02/10.95 35.02/10.95 The TRS R consists of the following rules: 35.02/10.95 35.02/10.95 color_map_in_ag(l(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 35.02/10.95 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 35.02/10.95 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 35.02/10.95 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 35.02/10.95 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 35.02/10.95 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 35.02/10.95 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 35.02/10.95 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 35.02/10.95 member_in_ag(X, .(X2, T)) -> U8_ag(X, X2, T, member_in_ag(X, T)) 35.02/10.95 U8_ag(X, X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 35.02/10.95 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 35.02/10.95 members_in_ag([], Ys) -> members_out_ag([], Ys) 35.02/10.95 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 35.02/10.95 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 35.02/10.95 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 35.02/10.95 color_map_in_ag(nil, Colors) -> color_map_out_ag(nil, Colors) 35.02/10.95 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(l(Region, Regions), Colors) 35.02/10.95 35.02/10.95 The argument filtering Pi contains the following mapping: 35.02/10.95 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 35.02/10.95 35.02/10.95 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 35.02/10.95 35.02/10.95 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 35.16/10.98 35.16/10.98 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x4, x5) 35.16/10.98 35.16/10.98 select_in_aga(x1, x2, x3) = select_in_aga(x2) 35.16/10.98 35.16/10.98 .(x1, x2) = .(x1, x2) 35.16/10.98 35.16/10.98 select_out_aga(x1, x2, x3) = select_out_aga(x1, x2, x3) 35.16/10.98 35.16/10.98 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x3, x5) 35.16/10.98 35.16/10.98 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x4, x5) 35.16/10.98 35.16/10.98 members_in_ag(x1, x2) = members_in_ag(x2) 35.16/10.98 35.16/10.98 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 35.16/10.98 35.16/10.98 member_in_ag(x1, x2) = member_in_ag(x2) 35.16/10.98 35.16/10.98 member_out_ag(x1, x2) = member_out_ag(x1, x2) 35.16/10.98 35.16/10.98 U8_ag(x1, x2, x3, x4) = U8_ag(x2, x3, x4) 35.16/10.98 35.16/10.98 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x3, x4) 35.16/10.98 35.16/10.98 members_out_ag(x1, x2) = members_out_ag(x1, x2) 35.16/10.98 35.16/10.98 color_region_out_ag(x1, x2) = color_region_out_ag(x1, x2) 35.16/10.98 35.16/10.98 region(x1, x2, x3) = region(x2, x3) 35.16/10.98 35.16/10.98 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x3, x4) 35.16/10.98 35.16/10.98 color_map_out_ag(x1, x2) = color_map_out_ag(x1, x2) 35.16/10.98 35.16/10.98 l(x1, x2) = l(x1, x2) 35.16/10.98 35.16/10.98 MEMBERS_IN_AG(x1, x2) = MEMBERS_IN_AG(x2) 35.16/10.98 35.16/10.98 U6_AG(x1, x2, x3, x4) = U6_AG(x3, x4) 35.16/10.98 35.16/10.98 35.16/10.98 We have to consider all (P,R,Pi)-chains 35.16/10.98 ---------------------------------------- 35.16/10.98 35.16/10.98 (57) UsableRulesProof (EQUIVALENT) 35.16/10.98 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 35.16/10.98 ---------------------------------------- 35.16/10.98 35.16/10.98 (58) 35.16/10.98 Obligation: 35.16/10.98 Pi DP problem: 35.16/10.98 The TRS P consists of the following rules: 35.16/10.98 35.16/10.98 U6_AG(X, Xs, Ys, member_out_ag(X, Ys)) -> MEMBERS_IN_AG(Xs, Ys) 35.16/10.98 MEMBERS_IN_AG(.(X, Xs), Ys) -> U6_AG(X, Xs, Ys, member_in_ag(X, Ys)) 35.16/10.98 35.16/10.98 The TRS R consists of the following rules: 35.16/10.98 35.16/10.98 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 35.16/10.98 member_in_ag(X, .(X2, T)) -> U8_ag(X, X2, T, member_in_ag(X, T)) 35.16/10.98 U8_ag(X, X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 35.16/10.98 35.16/10.98 The argument filtering Pi contains the following mapping: 35.16/10.98 .(x1, x2) = .(x1, x2) 35.16/10.98 35.16/10.98 member_in_ag(x1, x2) = member_in_ag(x2) 35.16/10.98 35.16/10.98 member_out_ag(x1, x2) = member_out_ag(x1, x2) 35.16/10.98 35.16/10.98 U8_ag(x1, x2, x3, x4) = U8_ag(x2, x3, x4) 35.16/10.98 35.16/10.98 MEMBERS_IN_AG(x1, x2) = MEMBERS_IN_AG(x2) 35.16/10.98 35.16/10.98 U6_AG(x1, x2, x3, x4) = U6_AG(x3, x4) 35.16/10.98 35.16/10.98 35.16/10.98 We have to consider all (P,R,Pi)-chains 35.16/10.98 ---------------------------------------- 35.16/10.98 35.16/10.98 (59) PiDPToQDPProof (SOUND) 35.16/10.98 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 35.16/10.98 ---------------------------------------- 35.16/10.98 35.16/10.98 (60) 35.16/10.98 Obligation: 35.16/10.98 Q DP problem: 35.16/10.98 The TRS P consists of the following rules: 35.16/10.98 35.16/10.98 U6_AG(Ys, member_out_ag(X, Ys)) -> MEMBERS_IN_AG(Ys) 35.16/10.98 MEMBERS_IN_AG(Ys) -> U6_AG(Ys, member_in_ag(Ys)) 35.16/10.98 35.16/10.98 The TRS R consists of the following rules: 35.16/10.98 35.16/10.98 member_in_ag(.(X, X1)) -> member_out_ag(X, .(X, X1)) 35.16/10.98 member_in_ag(.(X2, T)) -> U8_ag(X2, T, member_in_ag(T)) 35.16/10.98 U8_ag(X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 35.16/10.98 35.16/10.98 The set Q consists of the following terms: 35.16/10.98 35.16/10.98 member_in_ag(x0) 35.16/10.98 U8_ag(x0, x1, x2) 35.16/10.98 35.16/10.98 We have to consider all (P,Q,R)-chains. 35.16/10.98 ---------------------------------------- 35.16/10.98 35.16/10.98 (61) TransformationProof (SOUND) 35.16/10.98 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]: 35.16/10.98 35.16/10.98 (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)))) 35.16/10.98 (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)))) 35.16/10.98 35.16/10.98 35.16/10.98 ---------------------------------------- 35.16/10.98 35.16/10.98 (62) 35.16/10.98 Obligation: 35.16/10.98 Q DP problem: 35.16/10.98 The TRS P consists of the following rules: 35.16/10.98 35.16/10.98 U6_AG(Ys, member_out_ag(X, Ys)) -> MEMBERS_IN_AG(Ys) 35.16/10.98 MEMBERS_IN_AG(.(x0, x1)) -> U6_AG(.(x0, x1), member_out_ag(x0, .(x0, x1))) 35.16/10.98 MEMBERS_IN_AG(.(x0, x1)) -> U6_AG(.(x0, x1), U8_ag(x0, x1, member_in_ag(x1))) 35.16/10.98 35.16/10.98 The TRS R consists of the following rules: 35.16/10.98 35.16/10.98 member_in_ag(.(X, X1)) -> member_out_ag(X, .(X, X1)) 35.16/10.98 member_in_ag(.(X2, T)) -> U8_ag(X2, T, member_in_ag(T)) 35.16/10.98 U8_ag(X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 35.16/10.98 35.16/10.98 The set Q consists of the following terms: 35.16/10.98 35.16/10.98 member_in_ag(x0) 35.16/10.98 U8_ag(x0, x1, x2) 35.16/10.98 35.16/10.98 We have to consider all (P,Q,R)-chains. 35.16/10.98 ---------------------------------------- 35.16/10.98 35.16/10.98 (63) TransformationProof (EQUIVALENT) 35.16/10.98 By instantiating [LPAR04] the rule U6_AG(Ys, member_out_ag(X, Ys)) -> MEMBERS_IN_AG(Ys) we obtained the following new rules [LPAR04]: 35.16/10.99 35.16/10.99 (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))) 35.16/10.99 (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))) 35.16/10.99 35.16/10.99 35.16/10.99 ---------------------------------------- 35.16/10.99 35.16/10.99 (64) 35.16/10.99 Obligation: 35.16/10.99 Q DP problem: 35.16/10.99 The TRS P consists of the following rules: 35.16/10.99 35.16/10.99 MEMBERS_IN_AG(.(x0, x1)) -> U6_AG(.(x0, x1), member_out_ag(x0, .(x0, x1))) 35.16/10.99 MEMBERS_IN_AG(.(x0, x1)) -> U6_AG(.(x0, x1), U8_ag(x0, x1, member_in_ag(x1))) 35.16/10.99 U6_AG(.(z0, z1), member_out_ag(z0, .(z0, z1))) -> MEMBERS_IN_AG(.(z0, z1)) 35.16/10.99 U6_AG(.(z0, z1), member_out_ag(x1, .(z0, z1))) -> MEMBERS_IN_AG(.(z0, z1)) 35.16/10.99 35.16/10.99 The TRS R consists of the following rules: 35.16/10.99 35.16/10.99 member_in_ag(.(X, X1)) -> member_out_ag(X, .(X, X1)) 35.16/10.99 member_in_ag(.(X2, T)) -> U8_ag(X2, T, member_in_ag(T)) 35.16/10.99 U8_ag(X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 35.16/10.99 35.16/10.99 The set Q consists of the following terms: 35.16/10.99 35.16/10.99 member_in_ag(x0) 35.16/10.99 U8_ag(x0, x1, x2) 35.16/10.99 35.16/10.99 We have to consider all (P,Q,R)-chains. 35.16/10.99 ---------------------------------------- 35.16/10.99 35.16/10.99 (65) 35.16/10.99 Obligation: 35.16/10.99 Pi DP problem: 35.16/10.99 The TRS P consists of the following rules: 35.16/10.99 35.16/10.99 SELECT_IN_AGA(X, .(Y, Ys), .(Y, Zs)) -> SELECT_IN_AGA(X, Ys, Zs) 35.16/10.99 35.16/10.99 The TRS R consists of the following rules: 35.16/10.99 35.16/10.99 color_map_in_ag(l(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 35.16/10.99 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 35.16/10.99 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 35.16/10.99 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 35.16/10.99 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 35.16/10.99 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 35.16/10.99 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 35.16/10.99 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 35.16/10.99 member_in_ag(X, .(X2, T)) -> U8_ag(X, X2, T, member_in_ag(X, T)) 35.16/10.99 U8_ag(X, X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 35.16/10.99 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 35.16/10.99 members_in_ag([], Ys) -> members_out_ag([], Ys) 35.16/10.99 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 35.16/10.99 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 35.16/10.99 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 35.16/10.99 color_map_in_ag(nil, Colors) -> color_map_out_ag(nil, Colors) 35.16/10.99 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(l(Region, Regions), Colors) 35.16/10.99 35.16/10.99 The argument filtering Pi contains the following mapping: 35.16/10.99 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 35.16/10.99 35.16/10.99 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 35.16/10.99 35.16/10.99 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 35.16/10.99 35.16/10.99 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x4, x5) 35.16/10.99 35.16/10.99 select_in_aga(x1, x2, x3) = select_in_aga(x2) 35.16/10.99 35.16/10.99 .(x1, x2) = .(x1, x2) 35.16/10.99 35.16/10.99 select_out_aga(x1, x2, x3) = select_out_aga(x1, x2, x3) 35.16/10.99 35.16/10.99 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x3, x5) 35.16/10.99 35.16/10.99 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x4, x5) 35.16/10.99 35.16/10.99 members_in_ag(x1, x2) = members_in_ag(x2) 35.16/10.99 35.16/10.99 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 35.16/10.99 35.16/10.99 member_in_ag(x1, x2) = member_in_ag(x2) 35.16/10.99 35.16/10.99 member_out_ag(x1, x2) = member_out_ag(x1, x2) 35.16/10.99 35.16/10.99 U8_ag(x1, x2, x3, x4) = U8_ag(x2, x3, x4) 35.16/10.99 35.16/10.99 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x3, x4) 35.16/10.99 35.16/10.99 members_out_ag(x1, x2) = members_out_ag(x1, x2) 35.16/10.99 35.16/10.99 color_region_out_ag(x1, x2) = color_region_out_ag(x1, x2) 35.16/10.99 35.16/10.99 region(x1, x2, x3) = region(x2, x3) 35.16/10.99 35.16/10.99 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x3, x4) 35.16/10.99 35.16/10.99 color_map_out_ag(x1, x2) = color_map_out_ag(x1, x2) 35.16/10.99 35.16/10.99 l(x1, x2) = l(x1, x2) 35.16/10.99 35.16/10.99 SELECT_IN_AGA(x1, x2, x3) = SELECT_IN_AGA(x2) 35.16/10.99 35.16/10.99 35.16/10.99 We have to consider all (P,R,Pi)-chains 35.16/10.99 ---------------------------------------- 35.16/10.99 35.16/10.99 (66) UsableRulesProof (EQUIVALENT) 35.16/10.99 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 35.16/10.99 ---------------------------------------- 35.16/10.99 35.16/10.99 (67) 35.16/10.99 Obligation: 35.16/10.99 Pi DP problem: 35.16/10.99 The TRS P consists of the following rules: 35.16/10.99 35.16/10.99 SELECT_IN_AGA(X, .(Y, Ys), .(Y, Zs)) -> SELECT_IN_AGA(X, Ys, Zs) 35.16/10.99 35.16/10.99 R is empty. 35.16/10.99 The argument filtering Pi contains the following mapping: 35.16/10.99 .(x1, x2) = .(x1, x2) 35.16/10.99 35.16/10.99 SELECT_IN_AGA(x1, x2, x3) = SELECT_IN_AGA(x2) 35.16/10.99 35.16/10.99 35.16/10.99 We have to consider all (P,R,Pi)-chains 35.16/10.99 ---------------------------------------- 35.16/10.99 35.16/10.99 (68) 35.16/10.99 Obligation: 35.16/10.99 Pi DP problem: 35.16/10.99 The TRS P consists of the following rules: 35.16/10.99 35.16/10.99 U1_AG(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> COLOR_MAP_IN_AG(Regions, Colors) 35.16/10.99 COLOR_MAP_IN_AG(l(Region, Regions), Colors) -> U1_AG(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 35.16/10.99 35.16/10.99 The TRS R consists of the following rules: 35.16/10.99 35.16/10.99 color_map_in_ag(l(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 35.16/10.99 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 35.16/10.99 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 35.16/10.99 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 35.16/10.99 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 35.16/10.99 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 35.16/10.99 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 35.16/10.99 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 35.16/10.99 member_in_ag(X, .(X2, T)) -> U8_ag(X, X2, T, member_in_ag(X, T)) 35.16/10.99 U8_ag(X, X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 35.16/10.99 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 35.16/10.99 members_in_ag([], Ys) -> members_out_ag([], Ys) 35.16/10.99 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 35.16/10.99 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 35.16/10.99 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 35.16/10.99 color_map_in_ag(nil, Colors) -> color_map_out_ag(nil, Colors) 35.16/10.99 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(l(Region, Regions), Colors) 35.16/10.99 35.16/10.99 The argument filtering Pi contains the following mapping: 35.16/10.99 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 35.16/10.99 35.16/10.99 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 35.16/10.99 35.16/10.99 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 35.16/10.99 35.16/10.99 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x4, x5) 35.16/10.99 35.16/10.99 select_in_aga(x1, x2, x3) = select_in_aga(x2) 35.16/10.99 35.16/10.99 .(x1, x2) = .(x1, x2) 35.16/10.99 35.16/10.99 select_out_aga(x1, x2, x3) = select_out_aga(x1, x2, x3) 35.16/10.99 35.16/10.99 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x3, x5) 35.16/10.99 35.16/10.99 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x4, x5) 35.16/10.99 35.16/10.99 members_in_ag(x1, x2) = members_in_ag(x2) 35.16/10.99 35.16/10.99 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 35.16/10.99 35.16/10.99 member_in_ag(x1, x2) = member_in_ag(x2) 35.16/10.99 35.16/10.99 member_out_ag(x1, x2) = member_out_ag(x1, x2) 35.16/10.99 35.16/10.99 U8_ag(x1, x2, x3, x4) = U8_ag(x2, x3, x4) 35.16/10.99 35.16/10.99 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x3, x4) 35.16/10.99 35.16/10.99 members_out_ag(x1, x2) = members_out_ag(x1, x2) 35.16/10.99 35.16/10.99 color_region_out_ag(x1, x2) = color_region_out_ag(x1, x2) 35.16/10.99 35.16/10.99 region(x1, x2, x3) = region(x2, x3) 35.16/10.99 35.16/10.99 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x3, x4) 35.16/10.99 35.16/10.99 color_map_out_ag(x1, x2) = color_map_out_ag(x1, x2) 35.16/10.99 35.16/10.99 l(x1, x2) = l(x1, x2) 35.16/10.99 35.16/10.99 COLOR_MAP_IN_AG(x1, x2) = COLOR_MAP_IN_AG(x2) 35.16/10.99 35.16/10.99 U1_AG(x1, x2, x3, x4) = U1_AG(x3, x4) 35.16/10.99 35.16/10.99 35.16/10.99 We have to consider all (P,R,Pi)-chains 35.16/10.99 ---------------------------------------- 35.16/10.99 35.16/10.99 (69) UsableRulesProof (EQUIVALENT) 35.16/10.99 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 35.16/10.99 ---------------------------------------- 35.16/10.99 35.16/10.99 (70) 35.16/10.99 Obligation: 35.16/10.99 Pi DP problem: 35.16/10.99 The TRS P consists of the following rules: 35.16/10.99 35.16/10.99 U1_AG(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> COLOR_MAP_IN_AG(Regions, Colors) 35.16/10.99 COLOR_MAP_IN_AG(l(Region, Regions), Colors) -> U1_AG(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 35.16/10.99 35.16/10.99 The TRS R consists of the following rules: 35.16/10.99 35.16/10.99 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 35.16/10.99 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 35.16/10.99 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 35.16/10.99 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 35.16/10.99 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 35.16/10.99 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 35.16/10.99 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 35.16/10.99 members_in_ag([], Ys) -> members_out_ag([], Ys) 35.16/10.99 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 35.16/10.99 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 35.16/10.99 member_in_ag(X, .(X2, T)) -> U8_ag(X, X2, T, member_in_ag(X, T)) 35.16/10.99 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 35.16/10.99 U8_ag(X, X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 35.16/10.99 35.16/10.99 The argument filtering Pi contains the following mapping: 35.16/10.99 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 35.16/10.99 35.16/10.99 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x4, x5) 35.16/10.99 35.16/10.99 select_in_aga(x1, x2, x3) = select_in_aga(x2) 35.16/10.99 35.16/10.99 .(x1, x2) = .(x1, x2) 35.16/10.99 35.16/10.99 select_out_aga(x1, x2, x3) = select_out_aga(x1, x2, x3) 35.16/10.99 35.16/10.99 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x3, x5) 35.16/10.99 35.16/10.99 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x4, x5) 35.16/10.99 35.16/10.99 members_in_ag(x1, x2) = members_in_ag(x2) 35.16/10.99 35.16/10.99 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 35.16/10.99 35.16/10.99 member_in_ag(x1, x2) = member_in_ag(x2) 35.16/10.99 35.16/10.99 member_out_ag(x1, x2) = member_out_ag(x1, x2) 35.16/10.99 35.16/10.99 U8_ag(x1, x2, x3, x4) = U8_ag(x2, x3, x4) 35.16/10.99 35.16/10.99 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x3, x4) 35.16/10.99 35.16/10.99 members_out_ag(x1, x2) = members_out_ag(x1, x2) 35.16/10.99 35.16/10.99 color_region_out_ag(x1, x2) = color_region_out_ag(x1, x2) 35.16/10.99 35.16/10.99 region(x1, x2, x3) = region(x2, x3) 35.16/10.99 35.16/10.99 l(x1, x2) = l(x1, x2) 35.16/10.99 35.16/10.99 COLOR_MAP_IN_AG(x1, x2) = COLOR_MAP_IN_AG(x2) 35.16/10.99 35.16/10.99 U1_AG(x1, x2, x3, x4) = U1_AG(x3, x4) 35.16/10.99 35.16/10.99 35.16/10.99 We have to consider all (P,R,Pi)-chains 35.16/10.99 ---------------------------------------- 35.16/10.99 35.16/10.99 (71) PrologToTRSTransformerProof (SOUND) 35.16/10.99 Transformed Prolog program to TRS. 35.16/10.99 35.16/10.99 { 35.16/10.99 "root": 5, 35.16/10.99 "program": { 35.16/10.99 "directives": [], 35.16/10.99 "clauses": [ 35.16/10.99 [ 35.16/10.99 "(color_map (l Region Regions) Colors)", 35.16/10.99 "(',' (color_region Region Colors) (color_map Regions Colors))" 35.16/10.99 ], 35.16/10.99 [ 35.16/10.99 "(color_map (nil) Colors)", 35.16/10.99 null 35.16/10.99 ], 35.16/10.99 [ 35.16/10.99 "(color_region (region Name Color Neighbors) Colors)", 35.16/10.99 "(',' (select Color Colors Colors1) (members Neighbors Colors1))" 35.16/10.99 ], 35.16/10.99 [ 35.16/10.99 "(select X (. X Xs) Xs)", 35.16/10.99 null 35.16/10.99 ], 35.16/10.99 [ 35.16/10.99 "(select X (. Y Ys) (. Y Zs))", 35.16/10.99 "(select X Ys Zs)" 35.16/10.99 ], 35.16/10.99 [ 35.16/10.99 "(members (. X Xs) Ys)", 35.16/10.99 "(',' (member X Ys) (members Xs Ys))" 35.16/10.99 ], 35.16/10.99 [ 35.16/10.99 "(members ([]) Ys)", 35.16/10.99 null 35.16/10.99 ], 35.16/10.99 [ 35.16/10.99 "(member X (. X X1))", 35.16/10.99 null 35.16/10.99 ], 35.16/10.99 [ 35.16/10.99 "(member X (. X2 T))", 35.16/10.99 "(member X T)" 35.16/10.99 ], 35.16/10.99 [ 35.16/10.99 "(test_color Name Map)", 35.16/10.99 "(',' (map Name Map) (',' (colors Name Colors) (color_map Map Colors)))" 35.16/10.99 ], 35.16/10.99 [ 35.16/10.99 "(map (test) (l (region (a) A (. B (. C (. D ([]))))) (l (region (b) B (. A (. C (. E ([]))))) (l (region (c) C (. A (. B (. D (. E (. F ([]))))))) (l (region (d) D (. A (. C (. F ([]))))) (l (region (e) E (. B (. C (. F ([]))))) (l (region (f) F (. C (. D (. E ([]))))) (nil))))))))", 35.16/10.99 null 35.16/10.99 ], 35.16/10.99 [ 35.16/10.99 "(colors X (. (red) (. (yellow) (. (blue) (. (white) ([]))))))", 35.16/10.99 null 35.16/10.99 ] 35.16/10.99 ] 35.16/10.99 }, 35.16/10.99 "graph": { 35.16/10.99 "nodes": { 35.16/10.99 "type": "Nodes", 35.16/10.99 "590": { 35.16/10.99 "goal": [{ 35.16/10.99 "clause": -1, 35.16/10.99 "scope": -1, 35.16/10.99 "term": "(member T125 T124)" 35.16/10.99 }], 35.16/10.99 "kb": { 35.16/10.99 "nonunifying": [], 35.16/10.99 "intvars": {}, 35.16/10.99 "arithmetic": { 35.16/10.99 "type": "PlainIntegerRelationState", 35.16/10.99 "relations": [] 35.16/10.99 }, 35.16/10.99 "ground": ["T124"], 35.16/10.99 "free": [], 35.16/10.99 "exprvars": [] 35.16/10.99 } 35.16/10.99 }, 35.16/10.99 "591": { 35.16/10.99 "goal": [], 35.16/10.99 "kb": { 35.16/10.99 "nonunifying": [], 35.16/10.99 "intvars": {}, 35.16/10.99 "arithmetic": { 35.16/10.99 "type": "PlainIntegerRelationState", 35.16/10.99 "relations": [] 35.16/10.99 }, 35.16/10.99 "ground": [], 35.16/10.99 "free": [], 35.16/10.99 "exprvars": [] 35.16/10.99 } 35.16/10.99 }, 35.16/10.99 "592": { 35.16/10.99 "goal": [{ 35.16/10.99 "clause": -1, 35.16/10.99 "scope": -1, 35.16/10.99 "term": "(true)" 35.16/10.99 }], 35.16/10.99 "kb": { 35.16/10.99 "nonunifying": [], 35.16/10.99 "intvars": {}, 35.16/10.99 "arithmetic": { 35.16/10.99 "type": "PlainIntegerRelationState", 35.16/10.99 "relations": [] 35.16/10.99 }, 35.16/10.99 "ground": [], 35.16/10.99 "free": [], 35.16/10.99 "exprvars": [] 35.16/10.99 } 35.16/10.99 }, 35.16/10.99 "351": { 35.16/10.99 "goal": [{ 35.16/10.99 "clause": -1, 35.16/10.99 "scope": -1, 35.16/10.99 "term": "(true)" 35.16/10.99 }], 35.16/10.99 "kb": { 35.16/10.99 "nonunifying": [], 35.16/10.99 "intvars": {}, 35.16/10.99 "arithmetic": { 35.16/10.99 "type": "PlainIntegerRelationState", 35.16/10.99 "relations": [] 35.16/10.99 }, 35.16/10.99 "ground": [], 35.16/10.99 "free": [], 35.16/10.99 "exprvars": [] 35.16/10.99 } 35.16/10.99 }, 35.16/10.99 "593": { 35.16/10.99 "goal": [], 35.16/10.99 "kb": { 35.16/10.99 "nonunifying": [], 35.16/10.99 "intvars": {}, 35.16/10.99 "arithmetic": { 35.16/10.99 "type": "PlainIntegerRelationState", 35.16/10.99 "relations": [] 35.16/10.99 }, 35.16/10.99 "ground": [], 35.16/10.99 "free": [], 35.16/10.99 "exprvars": [] 35.16/10.99 } 35.16/10.99 }, 35.16/10.99 "594": { 35.16/10.99 "goal": [], 35.16/10.99 "kb": { 35.16/10.99 "nonunifying": [], 35.16/10.99 "intvars": {}, 35.16/10.99 "arithmetic": { 35.16/10.99 "type": "PlainIntegerRelationState", 35.16/10.99 "relations": [] 35.16/10.99 }, 35.16/10.99 "ground": [], 35.16/10.99 "free": [], 35.16/10.99 "exprvars": [] 35.16/10.99 } 35.16/10.99 }, 35.16/10.99 "595": { 35.16/10.99 "goal": [{ 35.16/10.99 "clause": -1, 35.16/10.99 "scope": -1, 35.16/10.99 "term": "(true)" 35.16/10.99 }], 35.16/10.99 "kb": { 35.16/10.99 "nonunifying": [], 35.16/10.99 "intvars": {}, 35.16/10.99 "arithmetic": { 35.16/10.99 "type": "PlainIntegerRelationState", 35.16/10.99 "relations": [] 35.16/10.99 }, 35.16/10.99 "ground": [], 35.16/10.99 "free": [], 35.16/10.99 "exprvars": [] 35.16/10.99 } 35.16/10.99 }, 35.16/10.99 "596": { 35.16/10.99 "goal": [], 35.16/10.99 "kb": { 35.16/10.99 "nonunifying": [], 35.16/10.99 "intvars": {}, 35.16/10.99 "arithmetic": { 35.16/10.99 "type": "PlainIntegerRelationState", 35.16/10.99 "relations": [] 35.16/10.99 }, 35.16/10.99 "ground": [], 35.16/10.99 "free": [], 35.16/10.99 "exprvars": [] 35.16/10.99 } 35.16/10.99 }, 35.16/10.99 "597": { 35.16/10.99 "goal": [], 35.16/10.99 "kb": { 35.16/10.99 "nonunifying": [], 35.16/10.99 "intvars": {}, 35.16/10.99 "arithmetic": { 35.16/10.99 "type": "PlainIntegerRelationState", 35.16/10.99 "relations": [] 35.16/10.99 }, 35.16/10.99 "ground": [], 35.16/10.99 "free": [], 35.16/10.99 "exprvars": [] 35.16/10.99 } 35.16/10.99 }, 35.16/10.99 "533": { 35.16/10.99 "goal": [ 35.16/10.99 { 35.16/10.99 "clause": 5, 35.16/10.99 "scope": 4, 35.16/10.99 "term": "(members T48 T47)" 35.16/10.99 }, 35.16/10.99 { 35.16/10.99 "clause": 6, 35.16/10.99 "scope": 4, 35.16/10.99 "term": "(members T48 T47)" 35.16/10.99 } 35.16/10.99 ], 35.16/10.99 "kb": { 35.16/10.99 "nonunifying": [], 35.16/10.99 "intvars": {}, 35.16/10.99 "arithmetic": { 35.16/10.99 "type": "PlainIntegerRelationState", 35.16/10.99 "relations": [] 35.16/10.99 }, 35.16/10.99 "ground": ["T47"], 35.16/10.99 "free": [], 35.16/10.99 "exprvars": [] 35.16/10.99 } 35.16/10.99 }, 35.16/10.99 "259": { 35.16/10.99 "goal": [{ 35.16/10.99 "clause": 3, 35.16/10.99 "scope": 3, 35.16/10.99 "term": "(select T41 T40 X41)" 35.16/10.99 }], 35.16/10.99 "kb": { 35.16/10.99 "nonunifying": [], 35.16/10.99 "intvars": {}, 35.16/10.99 "arithmetic": { 35.16/10.99 "type": "PlainIntegerRelationState", 35.16/10.99 "relations": [] 35.16/10.99 }, 35.16/10.99 "ground": ["T40"], 35.16/10.99 "free": ["X41"], 35.16/10.99 "exprvars": [] 35.16/10.99 } 35.16/10.99 }, 35.16/10.99 "578": { 35.16/10.99 "goal": [{ 35.16/10.99 "clause": 5, 35.16/10.99 "scope": 4, 35.16/10.99 "term": "(members T48 T47)" 35.16/10.99 }], 35.16/10.99 "kb": { 35.16/10.99 "nonunifying": [], 35.16/10.99 "intvars": {}, 35.16/10.99 "arithmetic": { 35.16/10.99 "type": "PlainIntegerRelationState", 35.16/10.99 "relations": [] 35.16/10.99 }, 35.16/10.99 "ground": ["T47"], 35.16/10.99 "free": [], 35.16/10.99 "exprvars": [] 35.16/10.99 } 35.16/10.99 }, 35.16/10.99 "359": { 35.16/10.99 "goal": [], 35.16/10.99 "kb": { 35.16/10.99 "nonunifying": [], 35.16/10.99 "intvars": {}, 35.16/10.99 "arithmetic": { 35.16/10.99 "type": "PlainIntegerRelationState", 35.16/10.99 "relations": [] 35.16/10.99 }, 35.16/10.99 "ground": [], 35.16/10.99 "free": [], 35.16/10.99 "exprvars": [] 35.16/10.99 } 35.16/10.99 }, 35.16/10.99 "579": { 35.16/10.99 "goal": [{ 35.16/10.99 "clause": 6, 35.16/10.99 "scope": 4, 35.16/10.99 "term": "(members T48 T47)" 35.16/10.99 }], 35.16/10.99 "kb": { 35.16/10.99 "nonunifying": [], 35.16/10.99 "intvars": {}, 35.16/10.99 "arithmetic": { 35.16/10.99 "type": "PlainIntegerRelationState", 35.16/10.99 "relations": [] 35.16/10.99 }, 35.16/10.99 "ground": ["T47"], 35.16/10.99 "free": [], 35.16/10.99 "exprvars": [] 35.16/10.99 } 35.16/10.99 }, 35.16/10.99 "71": { 35.16/10.99 "goal": [], 35.16/10.99 "kb": { 35.16/10.99 "nonunifying": [], 35.16/10.99 "intvars": {}, 35.16/10.99 "arithmetic": { 35.16/10.99 "type": "PlainIntegerRelationState", 35.16/10.99 "relations": [] 35.16/10.99 }, 35.16/10.99 "ground": [], 35.16/10.99 "free": [], 35.16/10.99 "exprvars": [] 35.16/10.99 } 35.16/10.99 }, 35.16/10.99 "11": { 35.16/10.99 "goal": [{ 35.16/10.99 "clause": -1, 35.16/10.99 "scope": -1, 35.16/10.99 "term": "(',' (color_region T18 T17) (color_map T19 T17))" 35.16/10.99 }], 35.16/10.99 "kb": { 35.16/10.99 "nonunifying": [], 35.16/10.99 "intvars": {}, 35.16/10.99 "arithmetic": { 35.16/10.99 "type": "PlainIntegerRelationState", 35.16/10.99 "relations": [] 35.16/10.99 }, 35.16/10.99 "ground": ["T17"], 35.16/10.99 "free": [], 35.16/10.99 "exprvars": [] 35.16/10.99 } 35.16/10.99 }, 35.16/10.99 "12": { 35.16/10.99 "goal": [], 35.16/10.99 "kb": { 35.16/10.99 "nonunifying": [], 35.16/10.99 "intvars": {}, 35.16/10.99 "arithmetic": { 35.16/10.99 "type": "PlainIntegerRelationState", 35.16/10.99 "relations": [] 35.16/10.99 }, 35.16/10.99 "ground": [], 35.16/10.99 "free": [], 35.16/10.99 "exprvars": [] 35.16/10.99 } 35.16/10.99 }, 35.16/10.99 "580": { 35.16/10.99 "goal": [{ 35.16/10.99 "clause": -1, 35.16/10.99 "scope": -1, 35.16/10.99 "term": "(',' (member T95 T94) (members T96 T94))" 35.16/10.99 }], 35.16/10.99 "kb": { 35.16/10.99 "nonunifying": [], 35.16/10.99 "intvars": {}, 35.16/10.99 "arithmetic": { 35.16/10.99 "type": "PlainIntegerRelationState", 35.16/10.99 "relations": [] 35.16/10.99 }, 35.16/10.99 "ground": ["T94"], 35.16/10.99 "free": [], 35.16/10.99 "exprvars": [] 35.16/10.99 } 35.16/10.99 }, 35.16/10.99 "163": { 35.16/10.99 "goal": [{ 35.16/10.99 "clause": -1, 35.16/10.99 "scope": -1, 35.16/10.99 "term": "(select T41 T40 X41)" 35.16/10.99 }], 35.16/10.99 "kb": { 35.16/10.99 "nonunifying": [], 35.16/10.99 "intvars": {}, 35.16/10.99 "arithmetic": { 35.16/10.99 "type": "PlainIntegerRelationState", 35.16/10.99 "relations": [] 35.16/10.99 }, 35.16/10.99 "ground": ["T40"], 35.16/10.99 "free": ["X41"], 35.16/10.99 "exprvars": [] 35.16/10.99 } 35.16/10.99 }, 35.16/10.99 "581": { 35.16/10.99 "goal": [], 35.16/10.99 "kb": { 35.16/10.99 "nonunifying": [], 35.16/10.99 "intvars": {}, 35.16/10.99 "arithmetic": { 35.16/10.99 "type": "PlainIntegerRelationState", 35.16/10.99 "relations": [] 35.16/10.99 }, 35.16/10.99 "ground": [], 35.16/10.99 "free": [], 35.16/10.99 "exprvars": [] 35.16/10.99 } 35.16/10.99 }, 35.16/10.99 "582": { 35.16/10.99 "goal": [{ 35.16/10.99 "clause": -1, 35.16/10.99 "scope": -1, 35.16/10.99 "term": "(member T95 T94)" 35.16/10.99 }], 35.16/10.99 "kb": { 35.16/10.99 "nonunifying": [], 35.16/10.99 "intvars": {}, 35.16/10.99 "arithmetic": { 35.16/10.99 "type": "PlainIntegerRelationState", 35.16/10.99 "relations": [] 35.16/10.99 }, 35.16/10.99 "ground": ["T94"], 35.16/10.99 "free": [], 35.16/10.99 "exprvars": [] 35.16/10.99 } 35.16/10.99 }, 35.16/10.99 "583": { 35.16/10.99 "goal": [{ 35.16/10.99 "clause": -1, 35.16/10.99 "scope": -1, 35.16/10.99 "term": "(members T101 T94)" 35.16/10.99 }], 35.16/10.99 "kb": { 35.16/10.99 "nonunifying": [], 35.16/10.99 "intvars": {}, 35.16/10.99 "arithmetic": { 35.16/10.99 "type": "PlainIntegerRelationState", 35.16/10.99 "relations": [] 35.16/10.99 }, 35.16/10.99 "ground": ["T94"], 35.16/10.99 "free": [], 35.16/10.99 "exprvars": [] 35.16/10.99 } 35.16/10.99 }, 35.16/10.99 "166": { 35.16/10.99 "goal": [{ 35.16/10.99 "clause": -1, 35.16/10.99 "scope": -1, 35.16/10.99 "term": "(members T48 T47)" 35.16/10.99 }], 35.16/10.99 "kb": { 35.16/10.99 "nonunifying": [], 35.16/10.99 "intvars": {}, 35.16/10.99 "arithmetic": { 35.16/10.99 "type": "PlainIntegerRelationState", 35.16/10.99 "relations": [] 35.16/10.99 }, 35.16/10.99 "ground": ["T47"], 35.16/10.99 "free": [], 35.16/10.99 "exprvars": [] 35.16/10.99 } 35.16/10.99 }, 35.16/10.99 "265": { 35.16/10.99 "goal": [{ 35.16/10.99 "clause": 4, 35.16/10.99 "scope": 3, 35.16/10.99 "term": "(select T41 T40 X41)" 35.16/10.99 }], 35.16/10.99 "kb": { 35.16/10.99 "nonunifying": [], 35.16/10.99 "intvars": {}, 35.16/10.99 "arithmetic": { 35.16/10.99 "type": "PlainIntegerRelationState", 35.16/10.99 "relations": [] 35.16/10.99 }, 35.16/10.99 "ground": ["T40"], 35.16/10.99 "free": ["X41"], 35.16/10.99 "exprvars": [] 35.16/10.99 } 35.16/10.99 }, 35.16/10.99 "584": { 35.16/10.99 "goal": [ 35.16/10.99 { 35.16/10.99 "clause": 7, 35.16/10.99 "scope": 5, 35.16/10.99 "term": "(member T95 T94)" 35.16/10.99 }, 35.16/10.99 { 35.16/10.99 "clause": 8, 35.16/10.99 "scope": 5, 35.16/10.99 "term": "(member T95 T94)" 35.16/10.99 } 35.16/10.99 ], 35.16/10.99 "kb": { 35.16/10.99 "nonunifying": [], 35.16/10.99 "intvars": {}, 35.16/10.99 "arithmetic": { 35.16/10.99 "type": "PlainIntegerRelationState", 35.16/10.99 "relations": [] 35.16/10.99 }, 35.16/10.99 "ground": ["T94"], 35.16/10.99 "free": [], 35.16/10.99 "exprvars": [] 35.16/10.99 } 35.16/10.99 }, 35.16/10.99 "200": { 35.16/10.99 "goal": [ 35.16/10.99 { 35.16/10.99 "clause": 3, 35.16/10.99 "scope": 3, 35.16/10.99 "term": "(select T41 T40 X41)" 35.16/10.99 }, 35.16/10.99 { 35.16/10.99 "clause": 4, 35.16/10.99 "scope": 3, 35.16/10.99 "term": "(select T41 T40 X41)" 35.16/10.99 } 35.16/10.99 ], 35.16/10.99 "kb": { 35.16/10.99 "nonunifying": [], 35.16/10.99 "intvars": {}, 35.16/10.99 "arithmetic": { 35.16/10.99 "type": "PlainIntegerRelationState", 35.16/10.99 "relations": [] 35.16/10.99 }, 35.16/10.99 "ground": ["T40"], 35.16/10.99 "free": ["X41"], 35.16/10.99 "exprvars": [] 35.16/10.99 } 35.16/10.99 }, 35.16/10.99 "585": { 35.16/10.99 "goal": [{ 35.16/10.99 "clause": 7, 35.16/10.99 "scope": 5, 35.16/10.99 "term": "(member T95 T94)" 35.16/10.99 }], 35.16/10.99 "kb": { 35.16/10.99 "nonunifying": [], 35.16/10.99 "intvars": {}, 35.16/10.99 "arithmetic": { 35.16/10.99 "type": "PlainIntegerRelationState", 35.16/10.99 "relations": [] 35.16/10.99 }, 35.16/10.99 "ground": ["T94"], 35.16/10.99 "free": [], 35.16/10.99 "exprvars": [] 35.16/10.99 } 35.16/10.99 }, 35.16/10.99 "586": { 35.16/10.99 "goal": [{ 35.16/10.99 "clause": 8, 35.16/10.99 "scope": 5, 35.16/10.99 "term": "(member T95 T94)" 35.16/10.99 }], 35.16/10.99 "kb": { 35.16/10.99 "nonunifying": [], 35.16/10.99 "intvars": {}, 35.16/10.99 "arithmetic": { 35.16/10.99 "type": "PlainIntegerRelationState", 35.16/10.99 "relations": [] 35.16/10.99 }, 35.16/10.99 "ground": ["T94"], 35.16/10.99 "free": [], 35.16/10.99 "exprvars": [] 35.16/10.99 } 35.16/10.99 }, 35.16/10.99 "367": { 35.16/10.99 "goal": [], 35.16/10.99 "kb": { 35.16/10.99 "nonunifying": [], 35.16/10.99 "intvars": {}, 35.16/10.99 "arithmetic": { 35.16/10.99 "type": "PlainIntegerRelationState", 35.16/10.99 "relations": [] 35.16/10.99 }, 35.16/10.99 "ground": [], 35.16/10.99 "free": [], 35.16/10.99 "exprvars": [] 35.16/10.99 } 35.16/10.99 }, 35.16/10.99 "587": { 35.16/10.99 "goal": [{ 35.16/10.99 "clause": -1, 35.16/10.99 "scope": -1, 35.16/10.99 "term": "(true)" 35.16/10.99 }], 35.16/10.99 "kb": { 35.16/10.99 "nonunifying": [], 35.16/10.99 "intvars": {}, 35.16/10.99 "arithmetic": { 35.16/10.99 "type": "PlainIntegerRelationState", 35.16/10.99 "relations": [] 35.16/10.99 }, 35.16/10.99 "ground": [], 35.16/10.99 "free": [], 35.16/10.99 "exprvars": [] 35.16/10.99 } 35.16/10.99 }, 35.16/10.99 "5": { 35.16/10.99 "goal": [{ 35.16/10.99 "clause": -1, 35.16/10.99 "scope": -1, 35.16/10.99 "term": "(color_map T1 T2)" 35.16/10.99 }], 35.16/10.99 "kb": { 35.16/10.99 "nonunifying": [], 35.16/10.99 "intvars": {}, 35.16/10.99 "arithmetic": { 35.16/10.99 "type": "PlainIntegerRelationState", 35.16/10.99 "relations": [] 35.16/10.99 }, 35.16/10.99 "ground": ["T2"], 35.16/10.99 "free": [], 35.16/10.99 "exprvars": [] 35.16/10.99 } 35.16/10.99 }, 35.16/10.99 "445": { 35.16/10.99 "goal": [{ 35.16/10.99 "clause": -1, 35.16/10.99 "scope": -1, 35.16/10.99 "term": "(select T72 T71 X74)" 35.16/10.99 }], 35.16/10.99 "kb": { 35.16/10.99 "nonunifying": [], 35.16/10.99 "intvars": {}, 35.16/10.99 "arithmetic": { 35.16/10.99 "type": "PlainIntegerRelationState", 35.16/10.99 "relations": [] 35.16/10.99 }, 35.16/10.99 "ground": ["T71"], 35.16/10.99 "free": ["X74"], 35.16/10.99 "exprvars": [] 35.16/10.99 } 35.16/10.99 }, 35.16/10.99 "588": { 35.16/10.99 "goal": [], 35.16/10.99 "kb": { 35.16/10.99 "nonunifying": [], 35.16/10.99 "intvars": {}, 35.16/10.99 "arithmetic": { 35.16/10.99 "type": "PlainIntegerRelationState", 35.16/10.99 "relations": [] 35.16/10.99 }, 35.16/10.99 "ground": [], 35.16/10.99 "free": [], 35.16/10.99 "exprvars": [] 35.16/10.99 } 35.16/10.99 }, 35.16/10.99 "6": { 35.16/10.99 "goal": [ 35.16/10.99 { 35.16/10.99 "clause": 0, 35.16/10.99 "scope": 1, 35.16/10.99 "term": "(color_map T1 T2)" 35.16/10.99 }, 35.16/10.99 { 35.16/10.99 "clause": 1, 35.16/10.99 "scope": 1, 35.16/10.99 "term": "(color_map T1 T2)" 35.16/10.99 } 35.16/10.99 ], 35.16/10.99 "kb": { 35.16/10.99 "nonunifying": [], 35.16/10.99 "intvars": {}, 35.16/10.99 "arithmetic": { 35.16/10.99 "type": "PlainIntegerRelationState", 35.16/10.99 "relations": [] 35.16/10.99 }, 35.16/10.99 "ground": ["T2"], 35.16/10.99 "free": [], 35.16/10.99 "exprvars": [] 35.16/10.99 } 35.16/10.99 }, 35.16/10.99 "446": { 35.16/10.99 "goal": [], 35.16/10.99 "kb": { 35.16/10.99 "nonunifying": [], 35.16/10.99 "intvars": {}, 35.16/10.99 "arithmetic": { 35.16/10.99 "type": "PlainIntegerRelationState", 35.16/10.99 "relations": [] 35.16/10.99 }, 35.16/10.99 "ground": [], 35.16/10.99 "free": [], 35.16/10.99 "exprvars": [] 35.16/10.99 } 35.16/10.99 }, 35.16/10.99 "589": { 35.16/10.99 "goal": [], 35.16/10.99 "kb": { 35.16/10.99 "nonunifying": [], 35.16/10.99 "intvars": {}, 35.16/10.99 "arithmetic": { 35.16/10.99 "type": "PlainIntegerRelationState", 35.16/10.99 "relations": [] 35.16/10.99 }, 35.16/10.99 "ground": [], 35.16/10.99 "free": [], 35.16/10.99 "exprvars": [] 35.16/10.99 } 35.16/10.99 }, 35.16/10.99 "7": { 35.16/10.99 "goal": [{ 35.16/10.99 "clause": 0, 35.16/10.99 "scope": 1, 35.16/10.99 "term": "(color_map T1 T2)" 35.16/10.99 }], 35.16/10.99 "kb": { 35.16/10.99 "nonunifying": [], 35.16/10.99 "intvars": {}, 35.16/10.99 "arithmetic": { 35.16/10.99 "type": "PlainIntegerRelationState", 35.16/10.99 "relations": [] 35.16/10.99 }, 35.16/10.99 "ground": ["T2"], 35.16/10.99 "free": [], 35.16/10.99 "exprvars": [] 35.16/10.99 } 35.16/10.99 }, 35.16/10.99 "8": { 35.16/10.99 "goal": [{ 35.16/10.99 "clause": 1, 35.16/10.99 "scope": 1, 35.16/10.99 "term": "(color_map T1 T2)" 35.16/10.99 }], 35.16/10.99 "kb": { 35.16/10.99 "nonunifying": [], 35.16/10.99 "intvars": {}, 35.16/10.99 "arithmetic": { 35.16/10.99 "type": "PlainIntegerRelationState", 35.16/10.99 "relations": [] 35.16/10.99 }, 35.16/10.99 "ground": ["T2"], 35.16/10.99 "free": [], 35.16/10.99 "exprvars": [] 35.16/10.99 } 35.16/10.99 }, 35.16/10.99 "41": { 35.16/10.99 "goal": [{ 35.16/10.99 "clause": -1, 35.16/10.99 "scope": -1, 35.16/10.99 "term": "(color_region T18 T17)" 35.16/10.99 }], 35.16/10.99 "kb": { 35.16/10.99 "nonunifying": [], 35.16/10.99 "intvars": {}, 35.16/10.99 "arithmetic": { 35.16/10.99 "type": "PlainIntegerRelationState", 35.16/10.99 "relations": [] 35.16/10.99 }, 35.16/10.99 "ground": ["T17"], 35.16/10.99 "free": [], 35.16/10.99 "exprvars": [] 35.16/10.99 } 35.16/10.99 }, 35.16/10.99 "63": { 35.16/10.99 "goal": [{ 35.16/10.99 "clause": -1, 35.16/10.99 "scope": -1, 35.16/10.99 "term": "(',' (select T41 T40 X41) (members T42 X41))" 35.16/10.99 }], 35.16/10.99 "kb": { 35.16/10.99 "nonunifying": [], 35.16/10.99 "intvars": {}, 35.16/10.99 "arithmetic": { 35.16/10.99 "type": "PlainIntegerRelationState", 35.16/10.99 "relations": [] 35.16/10.99 }, 35.16/10.99 "ground": ["T40"], 35.16/10.99 "free": ["X41"], 35.16/10.99 "exprvars": [] 35.16/10.99 } 35.16/10.99 }, 35.16/10.99 "42": { 35.16/10.99 "goal": [{ 35.16/10.99 "clause": -1, 35.16/10.99 "scope": -1, 35.16/10.99 "term": "(color_map T24 T17)" 35.16/10.99 }], 35.16/10.99 "kb": { 35.16/10.99 "nonunifying": [], 35.16/10.99 "intvars": {}, 35.16/10.99 "arithmetic": { 35.16/10.99 "type": "PlainIntegerRelationState", 35.16/10.99 "relations": [] 35.16/10.99 }, 35.16/10.99 "ground": ["T17"], 35.16/10.99 "free": [], 35.16/10.99 "exprvars": [] 35.16/10.99 } 35.16/10.99 }, 35.16/10.99 "43": { 35.16/10.99 "goal": [{ 35.16/10.99 "clause": 2, 35.16/10.99 "scope": 2, 35.16/10.99 "term": "(color_region T18 T17)" 35.16/10.99 }], 35.16/10.99 "kb": { 35.16/10.99 "nonunifying": [], 35.16/10.99 "intvars": {}, 35.16/10.99 "arithmetic": { 35.16/10.99 "type": "PlainIntegerRelationState", 35.16/10.99 "relations": [] 35.16/10.99 }, 35.16/10.99 "ground": ["T17"], 35.16/10.99 "free": [], 35.16/10.99 "exprvars": [] 35.16/10.99 } 35.16/10.99 } 35.16/10.99 }, 35.16/10.99 "edges": [ 35.16/10.99 { 35.16/10.99 "from": 5, 35.16/10.99 "to": 6, 35.16/10.99 "label": "CASE" 35.16/10.99 }, 35.16/10.99 { 35.16/10.99 "from": 6, 35.16/10.99 "to": 7, 35.16/10.99 "label": "PARALLEL" 35.16/10.99 }, 35.16/10.99 { 35.16/10.99 "from": 6, 35.16/10.99 "to": 8, 35.16/10.99 "label": "PARALLEL" 35.16/10.99 }, 35.16/10.99 { 35.16/10.99 "from": 7, 35.16/10.99 "to": 11, 35.16/10.99 "label": "EVAL with clause\ncolor_map(l(X15, X16), X17) :- ','(color_region(X15, X17), color_map(X16, X17)).\nand substitutionX15 -> T18,\nX16 -> T19,\nT1 -> l(T18, T19),\nT2 -> T17,\nX17 -> T17,\nT15 -> T18,\nT16 -> T19" 35.16/10.99 }, 35.16/10.99 { 35.16/10.99 "from": 7, 35.16/10.99 "to": 12, 35.16/10.99 "label": "EVAL-BACKTRACK" 35.16/10.99 }, 35.16/10.99 { 35.16/10.99 "from": 8, 35.16/10.99 "to": 595, 35.16/10.99 "label": "EVAL with clause\ncolor_map(nil, X139).\nand substitutionT1 -> nil,\nT2 -> T141,\nX139 -> T141" 35.16/10.99 }, 35.16/10.99 { 35.16/10.99 "from": 8, 35.16/10.99 "to": 596, 35.16/10.99 "label": "EVAL-BACKTRACK" 35.16/10.99 }, 35.16/10.99 { 35.16/10.99 "from": 11, 35.16/10.99 "to": 41, 35.16/10.99 "label": "SPLIT 1" 35.16/10.99 }, 35.16/10.99 { 35.16/10.99 "from": 11, 35.16/10.99 "to": 42, 35.16/10.99 "label": "SPLIT 2\nnew knowledge:\nT17 is ground\nreplacements:T19 -> T24" 35.16/10.99 }, 35.16/10.99 { 35.16/10.99 "from": 41, 35.16/10.99 "to": 43, 35.16/10.99 "label": "CASE" 35.16/10.99 }, 35.16/10.99 { 35.16/10.99 "from": 42, 35.16/10.99 "to": 5, 35.16/10.99 "label": "INSTANCE with matching:\nT1 -> T24\nT2 -> T17" 35.16/10.99 }, 35.16/10.99 { 35.16/10.99 "from": 43, 35.16/10.99 "to": 63, 35.16/10.99 "label": "EVAL with clause\ncolor_region(region(X37, X38, X39), X40) :- ','(select(X38, X40, X41), members(X39, X41)).\nand substitutionX37 -> T37,\nX38 -> T41,\nX39 -> T42,\nT18 -> region(T37, T41, T42),\nT17 -> T40,\nX40 -> T40,\nT38 -> T41,\nT39 -> T42" 35.16/10.99 }, 35.16/10.99 { 35.16/10.99 "from": 43, 35.16/10.99 "to": 71, 35.16/10.99 "label": "EVAL-BACKTRACK" 35.16/10.99 }, 35.16/10.99 { 35.16/10.99 "from": 63, 35.16/10.99 "to": 163, 35.16/10.99 "label": "SPLIT 1" 35.16/10.99 }, 35.16/10.99 { 35.16/10.99 "from": 63, 35.16/10.99 "to": 166, 35.16/10.99 "label": "SPLIT 2\nnew knowledge:\nT41 is ground\nT40 is ground\nT47 is ground\nreplacements:X41 -> T47,\nT42 -> T48" 35.16/10.99 }, 35.16/10.99 { 35.16/10.99 "from": 163, 35.16/10.99 "to": 200, 35.16/10.99 "label": "CASE" 35.16/10.99 }, 35.16/10.99 { 35.16/10.99 "from": 166, 35.16/10.99 "to": 533, 35.16/10.99 "label": "CASE" 35.16/10.99 }, 35.16/10.99 { 35.16/10.99 "from": 200, 35.16/10.99 "to": 259, 35.16/10.99 "label": "PARALLEL" 35.16/10.99 }, 35.16/10.99 { 35.16/10.99 "from": 200, 35.16/10.99 "to": 265, 35.16/10.99 "label": "PARALLEL" 35.16/10.99 }, 35.16/10.99 { 35.16/10.99 "from": 259, 35.16/10.99 "to": 351, 35.16/10.99 "label": "EVAL with clause\nselect(X58, .(X58, X59), X59).\nand substitutionT41 -> T61,\nX58 -> T61,\nX59 -> T62,\nT40 -> .(T61, T62),\nX41 -> T62" 35.16/10.99 }, 35.16/10.99 { 35.16/10.99 "from": 259, 35.16/10.99 "to": 359, 35.16/10.99 "label": "EVAL-BACKTRACK" 35.16/10.99 }, 35.16/10.99 { 35.16/10.99 "from": 265, 35.16/10.99 "to": 445, 35.16/10.99 "label": "EVAL with clause\nselect(X70, .(X71, X72), .(X71, X73)) :- select(X70, X72, X73).\nand substitutionT41 -> T72,\nX70 -> T72,\nX71 -> T70,\nX72 -> T71,\nT40 -> .(T70, T71),\nX73 -> X74,\nX41 -> .(T70, X74),\nT69 -> T72" 35.16/10.99 }, 35.16/10.99 { 35.16/10.99 "from": 265, 35.16/10.99 "to": 446, 35.16/10.99 "label": "EVAL-BACKTRACK" 35.16/10.99 }, 35.16/10.99 { 35.16/10.99 "from": 351, 35.16/10.99 "to": 367, 35.16/10.99 "label": "SUCCESS" 35.16/10.99 }, 35.16/10.99 { 35.16/10.99 "from": 445, 35.16/10.99 "to": 163, 35.16/10.99 "label": "INSTANCE with matching:\nT41 -> T72\nT40 -> T71\nX41 -> X74" 35.16/10.99 }, 35.16/10.99 { 35.16/10.99 "from": 533, 35.16/10.99 "to": 578, 35.16/10.99 "label": "PARALLEL" 35.16/10.99 }, 35.16/10.99 { 35.16/10.99 "from": 533, 35.16/10.99 "to": 579, 35.16/10.99 "label": "PARALLEL" 35.16/10.99 }, 35.16/10.99 { 35.16/10.99 "from": 578, 35.16/10.99 "to": 580, 35.16/10.99 "label": "EVAL with clause\nmembers(.(X94, X95), X96) :- ','(member(X94, X96), members(X95, X96)).\nand substitutionX94 -> T95,\nX95 -> T96,\nT48 -> .(T95, T96),\nT47 -> T94,\nX96 -> T94,\nT92 -> T95,\nT93 -> T96" 35.16/10.99 }, 35.16/10.99 { 35.16/10.99 "from": 578, 35.16/10.99 "to": 581, 35.16/10.99 "label": "EVAL-BACKTRACK" 35.16/10.99 }, 35.16/10.99 { 35.16/10.99 "from": 579, 35.16/10.99 "to": 592, 35.16/10.99 "label": "EVAL with clause\nmembers([], X133).\nand substitutionT48 -> [],\nT47 -> T135,\nX133 -> T135" 35.16/10.99 }, 35.16/10.99 { 35.16/10.99 "from": 579, 35.16/10.99 "to": 593, 35.16/10.99 "label": "EVAL-BACKTRACK" 35.16/10.99 }, 35.16/10.99 { 35.16/10.99 "from": 580, 35.16/10.99 "to": 582, 35.16/10.99 "label": "SPLIT 1" 35.16/10.99 }, 35.16/10.99 { 35.16/10.99 "from": 580, 35.16/10.99 "to": 583, 35.16/10.99 "label": "SPLIT 2\nnew knowledge:\nT95 is ground\nT94 is ground\nreplacements:T96 -> T101" 35.16/10.99 }, 35.16/10.99 { 35.16/10.99 "from": 582, 35.16/10.99 "to": 584, 35.16/10.99 "label": "CASE" 35.16/10.99 }, 35.16/10.99 { 35.16/10.99 "from": 583, 35.16/10.99 "to": 166, 35.16/10.99 "label": "INSTANCE with matching:\nT48 -> T101\nT47 -> T94" 35.16/10.99 }, 35.16/10.99 { 35.16/10.99 "from": 584, 35.16/10.99 "to": 585, 35.16/10.99 "label": "PARALLEL" 35.16/10.99 }, 35.16/10.99 { 35.16/10.99 "from": 584, 35.16/10.99 "to": 586, 35.16/10.99 "label": "PARALLEL" 35.16/10.99 }, 35.16/10.99 { 35.16/10.99 "from": 585, 35.16/10.99 "to": 587, 35.16/10.99 "label": "EVAL with clause\nmember(X113, .(X113, X114)).\nand substitutionT95 -> T114,\nX113 -> T114,\nX114 -> T115,\nT94 -> .(T114, T115)" 35.16/10.99 }, 35.16/10.99 { 35.16/10.99 "from": 585, 35.16/10.99 "to": 588, 35.16/10.99 "label": "EVAL-BACKTRACK" 35.16/10.99 }, 35.16/10.99 { 35.16/10.99 "from": 586, 35.16/10.99 "to": 590, 35.16/10.99 "label": "EVAL with clause\nmember(X121, .(X122, X123)) :- member(X121, X123).\nand substitutionT95 -> T125,\nX121 -> T125,\nX122 -> T123,\nX123 -> T124,\nT94 -> .(T123, T124),\nT122 -> T125" 35.16/10.99 }, 35.16/10.99 { 35.16/10.99 "from": 586, 35.16/10.99 "to": 591, 35.16/10.99 "label": "EVAL-BACKTRACK" 35.16/10.99 }, 35.16/10.99 { 35.16/10.99 "from": 587, 35.16/10.99 "to": 589, 35.16/10.99 "label": "SUCCESS" 35.16/10.99 }, 35.16/10.99 { 35.16/10.99 "from": 590, 35.16/10.99 "to": 582, 35.16/10.99 "label": "INSTANCE with matching:\nT95 -> T125\nT94 -> T124" 35.16/10.99 }, 35.16/10.99 { 35.16/10.99 "from": 592, 35.16/10.99 "to": 594, 35.16/10.99 "label": "SUCCESS" 35.16/10.99 }, 35.16/10.99 { 35.16/10.99 "from": 595, 35.16/10.99 "to": 597, 35.16/10.99 "label": "SUCCESS" 35.16/10.99 } 35.16/10.99 ], 35.16/10.99 "type": "Graph" 35.16/10.99 } 35.16/10.99 } 35.16/10.99 35.16/10.99 ---------------------------------------- 35.16/10.99 35.16/10.99 (72) 35.16/10.99 Obligation: 35.16/10.99 Q restricted rewrite system: 35.16/10.99 The TRS R consists of the following rules: 35.16/10.99 35.16/10.99 f5_in(T17) -> U1(f11_in(T17), T17) 35.16/10.99 U1(f11_out1, T17) -> f5_out1 35.16/10.99 f5_in(T141) -> f5_out1 35.16/10.99 f163_in(.(T61, T62)) -> f163_out1(T61, T62) 35.16/10.99 f163_in(.(T70, T71)) -> U2(f163_in(T71), .(T70, T71)) 35.16/10.99 U2(f163_out1(T72, X74), .(T70, T71)) -> f163_out1(T72, .(T70, X74)) 35.16/10.99 f166_in(T94) -> U3(f580_in(T94), T94) 35.16/10.99 U3(f580_out1(T95, T96), T94) -> f166_out1(.(T95, T96)) 35.16/10.99 f166_in(T135) -> f166_out1([]) 35.16/10.99 f582_in(.(T114, T115)) -> f582_out1(T114) 35.16/10.99 f582_in(.(T123, T124)) -> U4(f582_in(T124), .(T123, T124)) 35.16/10.99 U4(f582_out1(T125), .(T123, T124)) -> f582_out1(T125) 35.16/10.99 f41_in(T40) -> U5(f63_in(T40), T40) 35.16/10.99 U5(f63_out1(T41, X41, T42), T40) -> f41_out1 35.16/10.99 f11_in(T17) -> U6(f41_in(T17), T17) 35.16/10.99 U6(f41_out1, T17) -> U7(f5_in(T17), T17) 35.16/10.99 U7(f5_out1, T17) -> f11_out1 35.16/10.99 f63_in(T40) -> U8(f163_in(T40), T40) 35.16/10.99 U8(f163_out1(T41, T47), T40) -> U9(f166_in(T47), T40, T41, T47) 35.16/10.99 U9(f166_out1(T48), T40, T41, T47) -> f63_out1(T41, T47, T48) 35.16/10.99 f580_in(T94) -> U10(f582_in(T94), T94) 35.16/10.99 U10(f582_out1(T95), T94) -> U11(f166_in(T94), T94, T95) 35.16/10.99 U11(f166_out1(T101), T94, T95) -> f580_out1(T95, T101) 35.16/10.99 35.16/10.99 Q is empty. 35.16/10.99 35.16/10.99 ---------------------------------------- 35.16/10.99 35.16/10.99 (73) DependencyPairsProof (EQUIVALENT) 35.16/10.99 Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem. 35.16/10.99 ---------------------------------------- 35.16/10.99 35.16/10.99 (74) 35.16/10.99 Obligation: 35.16/10.99 Q DP problem: 35.16/10.99 The TRS P consists of the following rules: 35.16/10.99 35.16/10.99 F5_IN(T17) -> U1^1(f11_in(T17), T17) 35.16/10.99 F5_IN(T17) -> F11_IN(T17) 35.16/10.99 F163_IN(.(T70, T71)) -> U2^1(f163_in(T71), .(T70, T71)) 35.16/10.99 F163_IN(.(T70, T71)) -> F163_IN(T71) 35.16/10.99 F166_IN(T94) -> U3^1(f580_in(T94), T94) 35.16/10.99 F166_IN(T94) -> F580_IN(T94) 35.16/10.99 F582_IN(.(T123, T124)) -> U4^1(f582_in(T124), .(T123, T124)) 35.16/10.99 F582_IN(.(T123, T124)) -> F582_IN(T124) 35.16/10.99 F41_IN(T40) -> U5^1(f63_in(T40), T40) 35.16/10.99 F41_IN(T40) -> F63_IN(T40) 35.16/10.99 F11_IN(T17) -> U6^1(f41_in(T17), T17) 35.16/10.99 F11_IN(T17) -> F41_IN(T17) 35.16/10.99 U6^1(f41_out1, T17) -> U7^1(f5_in(T17), T17) 35.16/10.99 U6^1(f41_out1, T17) -> F5_IN(T17) 35.16/10.99 F63_IN(T40) -> U8^1(f163_in(T40), T40) 35.16/10.99 F63_IN(T40) -> F163_IN(T40) 35.16/10.99 U8^1(f163_out1(T41, T47), T40) -> U9^1(f166_in(T47), T40, T41, T47) 35.16/10.99 U8^1(f163_out1(T41, T47), T40) -> F166_IN(T47) 35.16/10.99 F580_IN(T94) -> U10^1(f582_in(T94), T94) 35.16/10.99 F580_IN(T94) -> F582_IN(T94) 35.16/10.99 U10^1(f582_out1(T95), T94) -> U11^1(f166_in(T94), T94, T95) 35.16/10.99 U10^1(f582_out1(T95), T94) -> F166_IN(T94) 35.16/10.99 35.16/10.99 The TRS R consists of the following rules: 35.16/10.99 35.16/10.99 f5_in(T17) -> U1(f11_in(T17), T17) 35.16/10.99 U1(f11_out1, T17) -> f5_out1 35.16/10.99 f5_in(T141) -> f5_out1 35.16/10.99 f163_in(.(T61, T62)) -> f163_out1(T61, T62) 35.16/10.99 f163_in(.(T70, T71)) -> U2(f163_in(T71), .(T70, T71)) 35.16/10.99 U2(f163_out1(T72, X74), .(T70, T71)) -> f163_out1(T72, .(T70, X74)) 35.16/10.99 f166_in(T94) -> U3(f580_in(T94), T94) 35.16/10.99 U3(f580_out1(T95, T96), T94) -> f166_out1(.(T95, T96)) 35.16/10.99 f166_in(T135) -> f166_out1([]) 35.16/10.99 f582_in(.(T114, T115)) -> f582_out1(T114) 35.16/10.99 f582_in(.(T123, T124)) -> U4(f582_in(T124), .(T123, T124)) 35.16/10.99 U4(f582_out1(T125), .(T123, T124)) -> f582_out1(T125) 35.16/10.99 f41_in(T40) -> U5(f63_in(T40), T40) 35.16/10.99 U5(f63_out1(T41, X41, T42), T40) -> f41_out1 35.16/10.99 f11_in(T17) -> U6(f41_in(T17), T17) 35.16/10.99 U6(f41_out1, T17) -> U7(f5_in(T17), T17) 35.16/10.99 U7(f5_out1, T17) -> f11_out1 35.16/10.99 f63_in(T40) -> U8(f163_in(T40), T40) 35.16/10.99 U8(f163_out1(T41, T47), T40) -> U9(f166_in(T47), T40, T41, T47) 35.16/10.99 U9(f166_out1(T48), T40, T41, T47) -> f63_out1(T41, T47, T48) 35.16/10.99 f580_in(T94) -> U10(f582_in(T94), T94) 35.16/10.99 U10(f582_out1(T95), T94) -> U11(f166_in(T94), T94, T95) 35.16/10.99 U11(f166_out1(T101), T94, T95) -> f580_out1(T95, T101) 35.16/10.99 35.16/10.99 Q is empty. 35.16/10.99 We have to consider all minimal (P,Q,R)-chains. 35.16/10.99 ---------------------------------------- 35.16/10.99 35.16/10.99 (75) DependencyGraphProof (EQUIVALENT) 35.16/10.99 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 4 SCCs with 14 less nodes. 35.16/10.99 ---------------------------------------- 35.16/10.99 35.16/10.99 (76) 35.16/10.99 Complex Obligation (AND) 35.16/10.99 35.16/10.99 ---------------------------------------- 35.16/10.99 35.16/10.99 (77) 35.16/10.99 Obligation: 35.16/10.99 Q DP problem: 35.16/10.99 The TRS P consists of the following rules: 35.16/10.99 35.16/10.99 F582_IN(.(T123, T124)) -> F582_IN(T124) 35.16/10.99 35.16/10.99 The TRS R consists of the following rules: 35.16/10.99 35.16/10.99 f5_in(T17) -> U1(f11_in(T17), T17) 35.16/10.99 U1(f11_out1, T17) -> f5_out1 35.16/10.99 f5_in(T141) -> f5_out1 35.16/10.99 f163_in(.(T61, T62)) -> f163_out1(T61, T62) 35.16/10.99 f163_in(.(T70, T71)) -> U2(f163_in(T71), .(T70, T71)) 35.16/10.99 U2(f163_out1(T72, X74), .(T70, T71)) -> f163_out1(T72, .(T70, X74)) 35.16/10.99 f166_in(T94) -> U3(f580_in(T94), T94) 35.16/10.99 U3(f580_out1(T95, T96), T94) -> f166_out1(.(T95, T96)) 35.16/10.99 f166_in(T135) -> f166_out1([]) 35.16/10.99 f582_in(.(T114, T115)) -> f582_out1(T114) 35.16/10.99 f582_in(.(T123, T124)) -> U4(f582_in(T124), .(T123, T124)) 35.16/10.99 U4(f582_out1(T125), .(T123, T124)) -> f582_out1(T125) 35.16/10.99 f41_in(T40) -> U5(f63_in(T40), T40) 35.16/10.99 U5(f63_out1(T41, X41, T42), T40) -> f41_out1 35.16/10.99 f11_in(T17) -> U6(f41_in(T17), T17) 35.16/10.99 U6(f41_out1, T17) -> U7(f5_in(T17), T17) 35.16/10.99 U7(f5_out1, T17) -> f11_out1 35.16/10.99 f63_in(T40) -> U8(f163_in(T40), T40) 35.16/10.99 U8(f163_out1(T41, T47), T40) -> U9(f166_in(T47), T40, T41, T47) 35.16/10.99 U9(f166_out1(T48), T40, T41, T47) -> f63_out1(T41, T47, T48) 35.16/10.99 f580_in(T94) -> U10(f582_in(T94), T94) 35.16/10.99 U10(f582_out1(T95), T94) -> U11(f166_in(T94), T94, T95) 35.16/10.99 U11(f166_out1(T101), T94, T95) -> f580_out1(T95, T101) 35.16/10.99 35.16/10.99 Q is empty. 35.16/10.99 We have to consider all minimal (P,Q,R)-chains. 35.16/10.99 ---------------------------------------- 35.16/10.99 35.16/10.99 (78) UsableRulesProof (EQUIVALENT) 35.16/10.99 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. 35.16/10.99 ---------------------------------------- 35.16/10.99 35.16/10.99 (79) 35.16/10.99 Obligation: 35.16/10.99 Q DP problem: 35.16/10.99 The TRS P consists of the following rules: 35.16/10.99 35.16/10.99 F582_IN(.(T123, T124)) -> F582_IN(T124) 35.16/10.99 35.16/10.99 R is empty. 35.16/10.99 Q is empty. 35.16/10.99 We have to consider all minimal (P,Q,R)-chains. 35.16/10.99 ---------------------------------------- 35.16/10.99 35.16/10.99 (80) QDPSizeChangeProof (EQUIVALENT) 35.16/10.99 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. 35.16/10.99 35.16/10.99 From the DPs we obtained the following set of size-change graphs: 35.16/10.99 *F582_IN(.(T123, T124)) -> F582_IN(T124) 35.16/10.99 The graph contains the following edges 1 > 1 35.16/10.99 35.16/10.99 35.16/10.99 ---------------------------------------- 35.16/10.99 35.16/10.99 (81) 35.16/10.99 YES 35.16/10.99 35.16/10.99 ---------------------------------------- 35.16/10.99 35.16/10.99 (82) 35.16/10.99 Obligation: 35.16/10.99 Q DP problem: 35.16/10.99 The TRS P consists of the following rules: 35.16/10.99 35.16/10.99 F166_IN(T94) -> F580_IN(T94) 35.16/10.99 F580_IN(T94) -> U10^1(f582_in(T94), T94) 35.16/10.99 U10^1(f582_out1(T95), T94) -> F166_IN(T94) 35.16/10.99 35.16/10.99 The TRS R consists of the following rules: 35.16/10.99 35.16/10.99 f5_in(T17) -> U1(f11_in(T17), T17) 35.16/10.99 U1(f11_out1, T17) -> f5_out1 35.16/10.99 f5_in(T141) -> f5_out1 35.16/10.99 f163_in(.(T61, T62)) -> f163_out1(T61, T62) 35.16/10.99 f163_in(.(T70, T71)) -> U2(f163_in(T71), .(T70, T71)) 35.16/10.99 U2(f163_out1(T72, X74), .(T70, T71)) -> f163_out1(T72, .(T70, X74)) 35.16/10.99 f166_in(T94) -> U3(f580_in(T94), T94) 35.16/10.99 U3(f580_out1(T95, T96), T94) -> f166_out1(.(T95, T96)) 35.16/10.99 f166_in(T135) -> f166_out1([]) 35.16/10.99 f582_in(.(T114, T115)) -> f582_out1(T114) 35.16/10.99 f582_in(.(T123, T124)) -> U4(f582_in(T124), .(T123, T124)) 35.16/10.99 U4(f582_out1(T125), .(T123, T124)) -> f582_out1(T125) 35.16/10.99 f41_in(T40) -> U5(f63_in(T40), T40) 35.16/10.99 U5(f63_out1(T41, X41, T42), T40) -> f41_out1 35.16/10.99 f11_in(T17) -> U6(f41_in(T17), T17) 35.16/10.99 U6(f41_out1, T17) -> U7(f5_in(T17), T17) 35.16/10.99 U7(f5_out1, T17) -> f11_out1 35.16/10.99 f63_in(T40) -> U8(f163_in(T40), T40) 35.16/10.99 U8(f163_out1(T41, T47), T40) -> U9(f166_in(T47), T40, T41, T47) 35.16/10.99 U9(f166_out1(T48), T40, T41, T47) -> f63_out1(T41, T47, T48) 35.16/10.99 f580_in(T94) -> U10(f582_in(T94), T94) 35.16/10.99 U10(f582_out1(T95), T94) -> U11(f166_in(T94), T94, T95) 35.16/10.99 U11(f166_out1(T101), T94, T95) -> f580_out1(T95, T101) 35.16/10.99 35.16/10.99 Q is empty. 35.16/10.99 We have to consider all minimal (P,Q,R)-chains. 35.16/10.99 ---------------------------------------- 35.16/10.99 35.16/10.99 (83) NonTerminationLoopProof (COMPLETE) 35.16/10.99 We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. 35.16/10.99 Found a loop by narrowing to the left: 35.16/10.99 35.16/10.99 s = F580_IN(.(T114, T115)) evaluates to t =F580_IN(.(T114, T115)) 35.16/10.99 35.16/10.99 Thus s starts an infinite chain as s semiunifies with t with the following substitutions: 35.16/10.99 * Matcher: [ ] 35.16/10.99 * Semiunifier: [ ] 35.16/10.99 35.16/10.99 -------------------------------------------------------------------------------- 35.16/10.99 Rewriting sequence 35.16/10.99 35.16/10.99 F580_IN(.(T114, T115)) -> U10^1(f582_in(.(T114, T115)), .(T114, T115)) 35.16/10.99 with rule F580_IN(T94) -> U10^1(f582_in(T94), T94) at position [] and matcher [T94 / .(T114, T115)] 35.16/10.99 35.16/10.99 U10^1(f582_in(.(T114, T115)), .(T114, T115)) -> U10^1(f582_out1(T114), .(T114, T115)) 35.16/10.99 with rule f582_in(.(T114', T115')) -> f582_out1(T114') at position [0] and matcher [T114' / T114, T115' / T115] 35.16/10.99 35.16/10.99 U10^1(f582_out1(T114), .(T114, T115)) -> F166_IN(.(T114, T115)) 35.16/10.99 with rule U10^1(f582_out1(T95), T94') -> F166_IN(T94') at position [] and matcher [T95 / T114, T94' / .(T114, T115)] 35.16/10.99 35.16/10.99 F166_IN(.(T114, T115)) -> F580_IN(.(T114, T115)) 35.16/10.99 with rule F166_IN(T94) -> F580_IN(T94) 35.16/10.99 35.16/10.99 Now applying the matcher to the start term leads to a term which is equal to the last term in the rewriting sequence 35.16/10.99 35.16/10.99 35.16/10.99 All these steps are and every following step will be a correct step w.r.t to Q. 35.16/10.99 35.16/10.99 35.16/10.99 35.16/10.99 35.16/10.99 ---------------------------------------- 35.16/10.99 35.16/10.99 (84) 35.16/10.99 NO 35.16/10.99 35.16/10.99 ---------------------------------------- 35.16/10.99 35.16/10.99 (85) 35.16/10.99 Obligation: 35.16/10.99 Q DP problem: 35.16/10.99 The TRS P consists of the following rules: 35.16/10.99 35.16/10.99 F163_IN(.(T70, T71)) -> F163_IN(T71) 35.16/10.99 35.16/10.99 The TRS R consists of the following rules: 35.16/10.99 35.16/10.99 f5_in(T17) -> U1(f11_in(T17), T17) 35.16/10.99 U1(f11_out1, T17) -> f5_out1 35.16/10.99 f5_in(T141) -> f5_out1 35.16/10.99 f163_in(.(T61, T62)) -> f163_out1(T61, T62) 35.16/10.99 f163_in(.(T70, T71)) -> U2(f163_in(T71), .(T70, T71)) 35.16/10.99 U2(f163_out1(T72, X74), .(T70, T71)) -> f163_out1(T72, .(T70, X74)) 35.16/10.99 f166_in(T94) -> U3(f580_in(T94), T94) 35.16/10.99 U3(f580_out1(T95, T96), T94) -> f166_out1(.(T95, T96)) 35.16/10.99 f166_in(T135) -> f166_out1([]) 35.16/10.99 f582_in(.(T114, T115)) -> f582_out1(T114) 35.16/10.99 f582_in(.(T123, T124)) -> U4(f582_in(T124), .(T123, T124)) 35.16/10.99 U4(f582_out1(T125), .(T123, T124)) -> f582_out1(T125) 35.16/10.99 f41_in(T40) -> U5(f63_in(T40), T40) 35.16/10.99 U5(f63_out1(T41, X41, T42), T40) -> f41_out1 35.16/10.99 f11_in(T17) -> U6(f41_in(T17), T17) 35.16/10.99 U6(f41_out1, T17) -> U7(f5_in(T17), T17) 35.16/10.99 U7(f5_out1, T17) -> f11_out1 35.16/10.99 f63_in(T40) -> U8(f163_in(T40), T40) 35.16/10.99 U8(f163_out1(T41, T47), T40) -> U9(f166_in(T47), T40, T41, T47) 35.16/10.99 U9(f166_out1(T48), T40, T41, T47) -> f63_out1(T41, T47, T48) 35.16/10.99 f580_in(T94) -> U10(f582_in(T94), T94) 35.16/10.99 U10(f582_out1(T95), T94) -> U11(f166_in(T94), T94, T95) 35.16/10.99 U11(f166_out1(T101), T94, T95) -> f580_out1(T95, T101) 35.16/10.99 35.16/10.99 Q is empty. 35.16/10.99 We have to consider all minimal (P,Q,R)-chains. 35.16/10.99 ---------------------------------------- 35.16/10.99 35.16/10.99 (86) UsableRulesProof (EQUIVALENT) 35.16/10.99 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. 35.16/10.99 ---------------------------------------- 35.16/10.99 35.16/10.99 (87) 35.16/10.99 Obligation: 35.16/10.99 Q DP problem: 35.16/10.99 The TRS P consists of the following rules: 35.16/10.99 35.16/10.99 F163_IN(.(T70, T71)) -> F163_IN(T71) 35.16/10.99 35.16/10.99 R is empty. 35.16/10.99 Q is empty. 35.16/10.99 We have to consider all minimal (P,Q,R)-chains. 35.16/10.99 ---------------------------------------- 35.16/10.99 35.16/10.99 (88) QDPSizeChangeProof (EQUIVALENT) 35.16/10.99 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. 35.16/10.99 35.16/10.99 From the DPs we obtained the following set of size-change graphs: 35.16/10.99 *F163_IN(.(T70, T71)) -> F163_IN(T71) 35.16/10.99 The graph contains the following edges 1 > 1 35.16/10.99 35.16/10.99 35.16/10.99 ---------------------------------------- 35.16/10.99 35.16/10.99 (89) 35.16/10.99 YES 35.16/10.99 35.16/10.99 ---------------------------------------- 35.16/10.99 35.16/10.99 (90) 35.16/10.99 Obligation: 35.16/10.99 Q DP problem: 35.16/10.99 The TRS P consists of the following rules: 35.16/10.99 35.16/10.99 F5_IN(T17) -> F11_IN(T17) 35.16/10.99 F11_IN(T17) -> U6^1(f41_in(T17), T17) 35.16/10.99 U6^1(f41_out1, T17) -> F5_IN(T17) 35.16/10.99 35.16/10.99 The TRS R consists of the following rules: 35.16/10.99 35.16/10.99 f5_in(T17) -> U1(f11_in(T17), T17) 35.16/10.99 U1(f11_out1, T17) -> f5_out1 35.16/10.99 f5_in(T141) -> f5_out1 35.16/10.99 f163_in(.(T61, T62)) -> f163_out1(T61, T62) 35.16/10.99 f163_in(.(T70, T71)) -> U2(f163_in(T71), .(T70, T71)) 35.16/10.99 U2(f163_out1(T72, X74), .(T70, T71)) -> f163_out1(T72, .(T70, X74)) 35.16/10.99 f166_in(T94) -> U3(f580_in(T94), T94) 35.16/10.99 U3(f580_out1(T95, T96), T94) -> f166_out1(.(T95, T96)) 35.16/10.99 f166_in(T135) -> f166_out1([]) 35.16/10.99 f582_in(.(T114, T115)) -> f582_out1(T114) 35.16/10.99 f582_in(.(T123, T124)) -> U4(f582_in(T124), .(T123, T124)) 35.16/10.99 U4(f582_out1(T125), .(T123, T124)) -> f582_out1(T125) 35.16/10.99 f41_in(T40) -> U5(f63_in(T40), T40) 35.16/10.99 U5(f63_out1(T41, X41, T42), T40) -> f41_out1 35.16/10.99 f11_in(T17) -> U6(f41_in(T17), T17) 35.16/10.99 U6(f41_out1, T17) -> U7(f5_in(T17), T17) 35.16/10.99 U7(f5_out1, T17) -> f11_out1 35.16/10.99 f63_in(T40) -> U8(f163_in(T40), T40) 35.16/10.99 U8(f163_out1(T41, T47), T40) -> U9(f166_in(T47), T40, T41, T47) 35.16/10.99 U9(f166_out1(T48), T40, T41, T47) -> f63_out1(T41, T47, T48) 35.16/10.99 f580_in(T94) -> U10(f582_in(T94), T94) 35.16/10.99 U10(f582_out1(T95), T94) -> U11(f166_in(T94), T94, T95) 35.16/10.99 U11(f166_out1(T101), T94, T95) -> f580_out1(T95, T101) 35.16/10.99 35.16/10.99 Q is empty. 35.16/10.99 We have to consider all minimal (P,Q,R)-chains. 35.16/10.99 ---------------------------------------- 35.16/10.99 35.16/10.99 (91) NonTerminationLoopProof (COMPLETE) 35.16/10.99 We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. 35.16/10.99 Found a loop by narrowing to the left: 35.16/10.99 35.16/10.99 s = F11_IN(.(T61, T62)) evaluates to t =F11_IN(.(T61, T62)) 35.16/10.99 35.16/10.99 Thus s starts an infinite chain as s semiunifies with t with the following substitutions: 35.16/10.99 * Matcher: [ ] 35.16/10.99 * Semiunifier: [ ] 35.16/10.99 35.16/10.99 -------------------------------------------------------------------------------- 35.16/10.99 Rewriting sequence 35.16/10.99 35.16/10.99 F11_IN(.(T61, T62)) -> U6^1(f41_in(.(T61, T62)), .(T61, T62)) 35.16/10.99 with rule F11_IN(T17) -> U6^1(f41_in(T17), T17) at position [] and matcher [T17 / .(T61, T62)] 35.16/10.99 35.16/10.99 U6^1(f41_in(.(T61, T62)), .(T61, T62)) -> U6^1(U5(f63_in(.(T61, T62)), .(T61, T62)), .(T61, T62)) 35.16/10.99 with rule f41_in(T40') -> U5(f63_in(T40'), T40') at position [0] and matcher [T40' / .(T61, T62)] 35.16/10.99 35.16/10.99 U6^1(U5(f63_in(.(T61, T62)), .(T61, T62)), .(T61, T62)) -> U6^1(U5(U8(f163_in(.(T61, T62)), .(T61, T62)), .(T61, T62)), .(T61, T62)) 35.16/10.99 with rule f63_in(T40') -> U8(f163_in(T40'), T40') at position [0,0] and matcher [T40' / .(T61, T62)] 35.16/11.00 35.16/11.00 U6^1(U5(U8(f163_in(.(T61, T62)), .(T61, T62)), .(T61, T62)), .(T61, T62)) -> U6^1(U5(U8(f163_out1(T61, T62), .(T61, T62)), .(T61, T62)), .(T61, T62)) 35.16/11.00 with rule f163_in(.(T61', T62')) -> f163_out1(T61', T62') at position [0,0,0] and matcher [T61' / T61, T62' / T62] 35.16/11.00 35.16/11.00 U6^1(U5(U8(f163_out1(T61, T62), .(T61, T62)), .(T61, T62)), .(T61, T62)) -> U6^1(U5(U9(f166_in(T62), .(T61, T62), T61, T62), .(T61, T62)), .(T61, T62)) 35.16/11.00 with rule U8(f163_out1(T41, T47'), T40'') -> U9(f166_in(T47'), T40'', T41, T47') at position [0,0] and matcher [T41 / T61, T47' / T62, T40'' / .(T61, T62)] 35.16/11.00 35.16/11.00 U6^1(U5(U9(f166_in(T62), .(T61, T62), T61, T62), .(T61, T62)), .(T61, T62)) -> U6^1(U5(U9(f166_out1([]), .(T61, T62), T61, T62), .(T61, T62)), .(T61, T62)) 35.16/11.00 with rule f166_in(T135) -> f166_out1([]) at position [0,0,0] and matcher [T135 / T62] 35.16/11.00 35.16/11.00 U6^1(U5(U9(f166_out1([]), .(T61, T62), T61, T62), .(T61, T62)), .(T61, T62)) -> U6^1(U5(f63_out1(T61, T62, []), .(T61, T62)), .(T61, T62)) 35.16/11.00 with rule U9(f166_out1(T48), T40', T41', T47) -> f63_out1(T41', T47, T48) at position [0,0] and matcher [T48 / [], T40' / .(T61, T62), T41' / T61, T47 / T62] 35.16/11.00 35.16/11.00 U6^1(U5(f63_out1(T61, T62, []), .(T61, T62)), .(T61, T62)) -> U6^1(f41_out1, .(T61, T62)) 35.16/11.00 with rule U5(f63_out1(T41, X41, T42), T40) -> f41_out1 at position [0] and matcher [T41 / T61, X41 / T62, T42 / [], T40 / .(T61, T62)] 35.16/11.00 35.16/11.00 U6^1(f41_out1, .(T61, T62)) -> F5_IN(.(T61, T62)) 35.16/11.00 with rule U6^1(f41_out1, T17') -> F5_IN(T17') at position [] and matcher [T17' / .(T61, T62)] 35.16/11.00 35.16/11.00 F5_IN(.(T61, T62)) -> F11_IN(.(T61, T62)) 35.16/11.00 with rule F5_IN(T17) -> F11_IN(T17) 35.16/11.00 35.16/11.00 Now applying the matcher to the start term leads to a term which is equal to the last term in the rewriting sequence 35.16/11.00 35.16/11.00 35.16/11.00 All these steps are and every following step will be a correct step w.r.t to Q. 35.16/11.00 35.16/11.00 35.16/11.00 35.16/11.00 35.16/11.00 ---------------------------------------- 35.16/11.00 35.16/11.00 (92) 35.16/11.00 NO 35.16/11.00 35.16/11.00 ---------------------------------------- 35.16/11.00 35.16/11.00 (93) PrologToDTProblemTransformerProof (SOUND) 35.16/11.00 Built DT problem from termination graph DT10. 35.16/11.00 35.16/11.00 { 35.16/11.00 "root": 1, 35.16/11.00 "program": { 35.16/11.00 "directives": [], 35.16/11.00 "clauses": [ 35.16/11.00 [ 35.16/11.00 "(color_map (l Region Regions) Colors)", 35.16/11.00 "(',' (color_region Region Colors) (color_map Regions Colors))" 35.16/11.00 ], 35.16/11.00 [ 35.16/11.00 "(color_map (nil) Colors)", 35.16/11.00 null 35.16/11.00 ], 35.16/11.00 [ 35.16/11.00 "(color_region (region Name Color Neighbors) Colors)", 35.16/11.00 "(',' (select Color Colors Colors1) (members Neighbors Colors1))" 35.16/11.00 ], 35.16/11.00 [ 35.16/11.00 "(select X (. X Xs) Xs)", 35.16/11.00 null 35.16/11.00 ], 35.16/11.00 [ 35.16/11.00 "(select X (. Y Ys) (. Y Zs))", 35.16/11.00 "(select X Ys Zs)" 35.16/11.00 ], 35.16/11.00 [ 35.16/11.00 "(members (. X Xs) Ys)", 35.16/11.00 "(',' (member X Ys) (members Xs Ys))" 35.16/11.00 ], 35.16/11.00 [ 35.16/11.00 "(members ([]) Ys)", 35.16/11.00 null 35.16/11.00 ], 35.16/11.00 [ 35.16/11.00 "(member X (. X X1))", 35.16/11.00 null 35.16/11.00 ], 35.16/11.00 [ 35.16/11.00 "(member X (. X2 T))", 35.16/11.00 "(member X T)" 35.16/11.00 ], 35.16/11.00 [ 35.16/11.00 "(test_color Name Map)", 35.16/11.00 "(',' (map Name Map) (',' (colors Name Colors) (color_map Map Colors)))" 35.16/11.00 ], 35.16/11.00 [ 35.16/11.00 "(map (test) (l (region (a) A (. B (. C (. D ([]))))) (l (region (b) B (. A (. C (. E ([]))))) (l (region (c) C (. A (. B (. D (. E (. F ([]))))))) (l (region (d) D (. A (. C (. F ([]))))) (l (region (e) E (. B (. C (. F ([]))))) (l (region (f) F (. C (. D (. E ([]))))) (nil))))))))", 35.16/11.00 null 35.16/11.00 ], 35.16/11.00 [ 35.16/11.00 "(colors X (. (red) (. (yellow) (. (blue) (. (white) ([]))))))", 35.16/11.00 null 35.16/11.00 ] 35.16/11.00 ] 35.16/11.00 }, 35.16/11.00 "graph": { 35.16/11.00 "nodes": { 35.16/11.00 "type": "Nodes", 35.16/11.00 "475": { 35.16/11.00 "goal": [ 35.16/11.00 { 35.16/11.00 "clause": -1, 35.16/11.00 "scope": -1, 35.16/11.00 "term": "(',' (color_region T9 T8) (color_map T10 T8))" 35.16/11.00 }, 35.16/11.00 { 35.16/11.00 "clause": 1, 35.16/11.00 "scope": 1, 35.16/11.00 "term": "(color_map T1 T8)" 35.16/11.00 } 35.16/11.00 ], 35.16/11.00 "kb": { 35.16/11.00 "nonunifying": [], 35.16/11.00 "intvars": {}, 35.16/11.00 "arithmetic": { 35.16/11.00 "type": "PlainIntegerRelationState", 35.16/11.00 "relations": [] 35.16/11.00 }, 35.16/11.00 "ground": ["T8"], 35.16/11.00 "free": [], 35.16/11.00 "exprvars": [] 35.16/11.00 } 35.16/11.00 }, 35.16/11.00 "530": { 35.16/11.00 "goal": [], 35.16/11.00 "kb": { 35.16/11.00 "nonunifying": [], 35.16/11.00 "intvars": {}, 35.16/11.00 "arithmetic": { 35.16/11.00 "type": "PlainIntegerRelationState", 35.16/11.00 "relations": [] 35.16/11.00 }, 35.16/11.00 "ground": [], 35.16/11.00 "free": [], 35.16/11.00 "exprvars": [] 35.16/11.00 } 35.16/11.00 }, 35.16/11.00 "531": { 35.16/11.00 "goal": [{ 35.16/11.00 "clause": -1, 35.16/11.00 "scope": -1, 35.16/11.00 "term": "(select T64 T63 X64)" 35.16/11.00 }], 35.16/11.00 "kb": { 35.16/11.00 "nonunifying": [], 35.16/11.00 "intvars": {}, 35.16/11.00 "arithmetic": { 35.16/11.00 "type": "PlainIntegerRelationState", 35.16/11.00 "relations": [] 35.16/11.00 }, 35.16/11.00 "ground": ["T63"], 35.16/11.00 "free": ["X64"], 35.16/11.00 "exprvars": [] 35.16/11.00 } 35.16/11.00 }, 35.16/11.00 "630": { 35.16/11.00 "goal": [], 35.16/11.00 "kb": { 35.16/11.00 "nonunifying": [], 35.16/11.00 "intvars": {}, 35.16/11.00 "arithmetic": { 35.16/11.00 "type": "PlainIntegerRelationState", 35.16/11.00 "relations": [] 35.16/11.00 }, 35.16/11.00 "ground": [], 35.16/11.00 "free": [], 35.16/11.00 "exprvars": [] 35.16/11.00 } 35.16/11.00 }, 35.16/11.00 "532": { 35.16/11.00 "goal": [], 35.16/11.00 "kb": { 35.16/11.00 "nonunifying": [], 35.16/11.00 "intvars": {}, 35.16/11.00 "arithmetic": { 35.16/11.00 "type": "PlainIntegerRelationState", 35.16/11.00 "relations": [] 35.16/11.00 }, 35.16/11.00 "ground": [], 35.16/11.00 "free": [], 35.16/11.00 "exprvars": [] 35.16/11.00 } 35.16/11.00 }, 35.16/11.00 "631": { 35.16/11.00 "goal": [{ 35.16/11.00 "clause": -1, 35.16/11.00 "scope": -1, 35.16/11.00 "term": "(true)" 35.16/11.00 }], 35.16/11.00 "kb": { 35.16/11.00 "nonunifying": [], 35.16/11.00 "intvars": {}, 35.16/11.00 "arithmetic": { 35.16/11.00 "type": "PlainIntegerRelationState", 35.16/11.00 "relations": [] 35.16/11.00 }, 35.16/11.00 "ground": [], 35.16/11.00 "free": [], 35.16/11.00 "exprvars": [] 35.16/11.00 } 35.16/11.00 }, 35.16/11.00 "632": { 35.16/11.00 "goal": [], 35.16/11.00 "kb": { 35.16/11.00 "nonunifying": [], 35.16/11.00 "intvars": {}, 35.16/11.00 "arithmetic": { 35.16/11.00 "type": "PlainIntegerRelationState", 35.16/11.00 "relations": [] 35.16/11.00 }, 35.16/11.00 "ground": [], 35.16/11.00 "free": [], 35.16/11.00 "exprvars": [] 35.16/11.00 } 35.16/11.00 }, 35.16/11.00 "479": { 35.16/11.00 "goal": [{ 35.16/11.00 "clause": 1, 35.16/11.00 "scope": 1, 35.16/11.00 "term": "(color_map T1 T2)" 35.16/11.00 }], 35.16/11.00 "kb": { 35.16/11.00 "nonunifying": [[ 35.16/11.00 "(color_map T1 T2)", 35.16/11.00 "(color_map (l X6 X7) X8)" 35.16/11.00 ]], 35.16/11.00 "intvars": {}, 35.16/11.00 "arithmetic": { 35.16/11.00 "type": "PlainIntegerRelationState", 35.16/11.00 "relations": [] 35.16/11.00 }, 35.16/11.00 "ground": ["T2"], 35.16/11.00 "free": [ 35.16/11.00 "X6", 35.16/11.00 "X7", 35.16/11.00 "X8" 35.16/11.00 ], 35.16/11.00 "exprvars": [] 35.16/11.00 } 35.16/11.00 }, 35.16/11.00 "534": { 35.16/11.00 "goal": [{ 35.16/11.00 "clause": -1, 35.16/11.00 "scope": -1, 35.16/11.00 "term": "(members T39 T38)" 35.16/11.00 }], 35.16/11.00 "kb": { 35.16/11.00 "nonunifying": [], 35.16/11.00 "intvars": {}, 35.16/11.00 "arithmetic": { 35.16/11.00 "type": "PlainIntegerRelationState", 35.16/11.00 "relations": [] 35.16/11.00 }, 35.16/11.00 "ground": ["T38"], 35.16/11.00 "free": [], 35.16/11.00 "exprvars": [] 35.16/11.00 } 35.16/11.00 }, 35.16/11.00 "633": { 35.16/11.00 "goal": [], 35.16/11.00 "kb": { 35.16/11.00 "nonunifying": [], 35.16/11.00 "intvars": {}, 35.16/11.00 "arithmetic": { 35.16/11.00 "type": "PlainIntegerRelationState", 35.16/11.00 "relations": [] 35.16/11.00 }, 35.16/11.00 "ground": [], 35.16/11.00 "free": [], 35.16/11.00 "exprvars": [] 35.16/11.00 } 35.16/11.00 }, 35.16/11.00 "536": { 35.16/11.00 "goal": [{ 35.16/11.00 "clause": -1, 35.16/11.00 "scope": -1, 35.16/11.00 "term": "(color_map T72 T30)" 35.16/11.00 }], 35.16/11.00 "kb": { 35.16/11.00 "nonunifying": [], 35.16/11.00 "intvars": {}, 35.16/11.00 "arithmetic": { 35.16/11.00 "type": "PlainIntegerRelationState", 35.16/11.00 "relations": [] 35.16/11.00 }, 35.16/11.00 "ground": ["T30"], 35.16/11.00 "free": [], 35.16/11.00 "exprvars": [] 35.16/11.00 } 35.16/11.00 }, 35.16/11.00 "614": { 35.16/11.00 "goal": [{ 35.16/11.00 "clause": -1, 35.16/11.00 "scope": -1, 35.16/11.00 "term": "(member T91 T90)" 35.16/11.00 }], 35.16/11.00 "kb": { 35.16/11.00 "nonunifying": [], 35.16/11.00 "intvars": {}, 35.16/11.00 "arithmetic": { 35.16/11.00 "type": "PlainIntegerRelationState", 35.16/11.00 "relations": [] 35.16/11.00 }, 35.16/11.00 "ground": ["T90"], 35.16/11.00 "free": [], 35.16/11.00 "exprvars": [] 35.16/11.00 } 35.16/11.00 }, 35.16/11.00 "615": { 35.16/11.00 "goal": [{ 35.16/11.00 "clause": -1, 35.16/11.00 "scope": -1, 35.16/11.00 "term": "(members T97 T90)" 35.16/11.00 }], 35.16/11.00 "kb": { 35.16/11.00 "nonunifying": [], 35.16/11.00 "intvars": {}, 35.16/11.00 "arithmetic": { 35.16/11.00 "type": "PlainIntegerRelationState", 35.16/11.00 "relations": [] 35.16/11.00 }, 35.16/11.00 "ground": ["T90"], 35.16/11.00 "free": [], 35.16/11.00 "exprvars": [] 35.16/11.00 } 35.16/11.00 }, 35.16/11.00 "517": { 35.16/11.00 "goal": [ 35.16/11.00 { 35.16/11.00 "clause": 3, 35.16/11.00 "scope": 3, 35.16/11.00 "term": "(select T31 T30 X31)" 35.16/11.00 }, 35.16/11.00 { 35.16/11.00 "clause": 4, 35.16/11.00 "scope": 3, 35.16/11.00 "term": "(select T31 T30 X31)" 35.16/11.00 } 35.16/11.00 ], 35.16/11.00 "kb": { 35.16/11.00 "nonunifying": [], 35.16/11.00 "intvars": {}, 35.16/11.00 "arithmetic": { 35.16/11.00 "type": "PlainIntegerRelationState", 35.16/11.00 "relations": [] 35.16/11.00 }, 35.16/11.00 "ground": ["T30"], 35.16/11.00 "free": ["X31"], 35.16/11.00 "exprvars": [] 35.16/11.00 } 35.16/11.00 }, 35.16/11.00 "539": { 35.16/11.00 "goal": [ 35.16/11.00 { 35.16/11.00 "clause": 5, 35.16/11.00 "scope": 4, 35.16/11.00 "term": "(members T39 T38)" 35.16/11.00 }, 35.16/11.00 { 35.16/11.00 "clause": 6, 35.16/11.00 "scope": 4, 35.16/11.00 "term": "(members T39 T38)" 35.16/11.00 } 35.16/11.00 ], 35.16/11.00 "kb": { 35.16/11.00 "nonunifying": [], 35.16/11.00 "intvars": {}, 35.16/11.00 "arithmetic": { 35.16/11.00 "type": "PlainIntegerRelationState", 35.16/11.00 "relations": [] 35.16/11.00 }, 35.16/11.00 "ground": ["T38"], 35.16/11.00 "free": [], 35.16/11.00 "exprvars": [] 35.16/11.00 } 35.16/11.00 }, 35.16/11.00 "616": { 35.16/11.00 "goal": [ 35.16/11.00 { 35.16/11.00 "clause": 7, 35.16/11.00 "scope": 5, 35.16/11.00 "term": "(member T91 T90)" 35.16/11.00 }, 35.16/11.00 { 35.16/11.00 "clause": 8, 35.16/11.00 "scope": 5, 35.16/11.00 "term": "(member T91 T90)" 35.16/11.00 } 35.16/11.00 ], 35.16/11.00 "kb": { 35.16/11.00 "nonunifying": [], 35.16/11.00 "intvars": {}, 35.16/11.00 "arithmetic": { 35.16/11.00 "type": "PlainIntegerRelationState", 35.16/11.00 "relations": [] 35.16/11.00 }, 35.16/11.00 "ground": ["T90"], 35.16/11.00 "free": [], 35.16/11.00 "exprvars": [] 35.16/11.00 } 35.16/11.00 }, 35.16/11.00 "617": { 35.16/11.00 "goal": [{ 35.16/11.00 "clause": 7, 35.16/11.00 "scope": 5, 35.16/11.00 "term": "(member T91 T90)" 35.16/11.00 }], 35.16/11.00 "kb": { 35.16/11.00 "nonunifying": [], 35.16/11.00 "intvars": {}, 35.16/11.00 "arithmetic": { 35.16/11.00 "type": "PlainIntegerRelationState", 35.16/11.00 "relations": [] 35.16/11.00 }, 35.16/11.00 "ground": ["T90"], 35.16/11.00 "free": [], 35.16/11.00 "exprvars": [] 35.16/11.00 } 35.16/11.00 }, 35.16/11.00 "618": { 35.16/11.00 "goal": [{ 35.16/11.00 "clause": 8, 35.16/11.00 "scope": 5, 35.16/11.00 "term": "(member T91 T90)" 35.16/11.00 }], 35.16/11.00 "kb": { 35.16/11.00 "nonunifying": [], 35.16/11.00 "intvars": {}, 35.16/11.00 "arithmetic": { 35.16/11.00 "type": "PlainIntegerRelationState", 35.16/11.00 "relations": [] 35.16/11.00 }, 35.16/11.00 "ground": ["T90"], 35.16/11.00 "free": [], 35.16/11.00 "exprvars": [] 35.16/11.00 } 35.16/11.00 }, 35.16/11.00 "619": { 35.16/11.00 "goal": [{ 35.16/11.00 "clause": -1, 35.16/11.00 "scope": -1, 35.16/11.00 "term": "(true)" 35.16/11.00 }], 35.16/11.00 "kb": { 35.16/11.00 "nonunifying": [], 35.16/11.00 "intvars": {}, 35.16/11.00 "arithmetic": { 35.16/11.00 "type": "PlainIntegerRelationState", 35.16/11.00 "relations": [] 35.16/11.00 }, 35.16/11.00 "ground": [], 35.16/11.00 "free": [], 35.16/11.00 "exprvars": [] 35.16/11.00 } 35.16/11.00 }, 35.16/11.00 "482": { 35.16/11.00 "goal": [ 35.16/11.00 { 35.16/11.00 "clause": 2, 35.16/11.00 "scope": 2, 35.16/11.00 "term": "(',' (color_region T9 T8) (color_map T10 T8))" 35.16/11.00 }, 35.16/11.00 { 35.16/11.00 "clause": -1, 35.16/11.00 "scope": 2, 35.16/11.00 "term": null 35.16/11.00 }, 35.16/11.00 { 35.16/11.00 "clause": 1, 35.16/11.00 "scope": 1, 35.16/11.00 "term": "(color_map T1 T8)" 35.16/11.00 } 35.16/11.00 ], 35.16/11.00 "kb": { 35.16/11.00 "nonunifying": [], 35.16/11.00 "intvars": {}, 35.16/11.00 "arithmetic": { 35.16/11.00 "type": "PlainIntegerRelationState", 35.16/11.00 "relations": [] 35.16/11.00 }, 35.16/11.00 "ground": ["T8"], 35.16/11.00 "free": [], 35.16/11.00 "exprvars": [] 35.16/11.00 } 35.16/11.00 }, 35.16/11.00 "1": { 35.16/11.00 "goal": [{ 35.16/11.00 "clause": -1, 35.16/11.00 "scope": -1, 35.16/11.00 "term": "(color_map T1 T2)" 35.16/11.00 }], 35.16/11.00 "kb": { 35.16/11.00 "nonunifying": [], 35.16/11.00 "intvars": {}, 35.16/11.00 "arithmetic": { 35.16/11.00 "type": "PlainIntegerRelationState", 35.16/11.00 "relations": [] 35.16/11.00 }, 35.16/11.00 "ground": ["T2"], 35.16/11.00 "free": [], 35.16/11.00 "exprvars": [] 35.16/11.00 } 35.16/11.00 }, 35.16/11.00 "540": { 35.16/11.00 "goal": [{ 35.16/11.00 "clause": 5, 35.16/11.00 "scope": 4, 35.16/11.00 "term": "(members T39 T38)" 35.16/11.00 }], 35.16/11.00 "kb": { 35.16/11.00 "nonunifying": [], 35.16/11.00 "intvars": {}, 35.16/11.00 "arithmetic": { 35.16/11.00 "type": "PlainIntegerRelationState", 35.16/11.00 "relations": [] 35.16/11.00 }, 35.16/11.00 "ground": ["T38"], 35.16/11.00 "free": [], 35.16/11.00 "exprvars": [] 35.16/11.00 } 35.16/11.00 }, 35.16/11.00 "2": { 35.16/11.00 "goal": [ 35.16/11.00 { 35.16/11.00 "clause": 0, 35.16/11.00 "scope": 1, 35.16/11.00 "term": "(color_map T1 T2)" 35.16/11.00 }, 35.16/11.00 { 35.16/11.00 "clause": 1, 35.16/11.00 "scope": 1, 35.16/11.00 "term": "(color_map T1 T2)" 35.16/11.00 } 35.16/11.00 ], 35.16/11.00 "kb": { 35.16/11.00 "nonunifying": [], 35.16/11.00 "intvars": {}, 35.16/11.00 "arithmetic": { 35.16/11.00 "type": "PlainIntegerRelationState", 35.16/11.00 "relations": [] 35.16/11.00 }, 35.16/11.00 "ground": ["T2"], 35.16/11.00 "free": [], 35.16/11.00 "exprvars": [] 35.16/11.00 } 35.16/11.00 }, 35.16/11.00 "541": { 35.16/11.00 "goal": [{ 35.16/11.00 "clause": 6, 35.16/11.00 "scope": 4, 35.16/11.00 "term": "(members T39 T38)" 35.16/11.00 }], 35.16/11.00 "kb": { 35.16/11.00 "nonunifying": [], 35.16/11.00 "intvars": {}, 35.16/11.00 "arithmetic": { 35.16/11.00 "type": "PlainIntegerRelationState", 35.16/11.00 "relations": [] 35.16/11.00 }, 35.16/11.00 "ground": ["T38"], 35.16/11.00 "free": [], 35.16/11.00 "exprvars": [] 35.16/11.00 } 35.16/11.00 }, 35.16/11.00 "487": { 35.16/11.00 "goal": [{ 35.16/11.00 "clause": 2, 35.16/11.00 "scope": 2, 35.16/11.00 "term": "(',' (color_region T9 T8) (color_map T10 T8))" 35.16/11.00 }], 35.16/11.00 "kb": { 35.16/11.00 "nonunifying": [], 35.16/11.00 "intvars": {}, 35.16/11.00 "arithmetic": { 35.16/11.00 "type": "PlainIntegerRelationState", 35.16/11.00 "relations": [] 35.16/11.00 }, 35.16/11.00 "ground": ["T8"], 35.16/11.00 "free": [], 35.16/11.00 "exprvars": [] 35.16/11.00 } 35.16/11.00 }, 35.16/11.00 "488": { 35.16/11.00 "goal": [ 35.16/11.00 { 35.16/11.00 "clause": -1, 35.16/11.00 "scope": 2, 35.16/11.00 "term": null 35.16/11.00 }, 35.16/11.00 { 35.16/11.00 "clause": 1, 35.16/11.00 "scope": 1, 35.16/11.00 "term": "(color_map T1 T8)" 35.16/11.00 } 35.16/11.00 ], 35.16/11.00 "kb": { 35.16/11.00 "nonunifying": [], 35.16/11.00 "intvars": {}, 35.16/11.00 "arithmetic": { 35.16/11.00 "type": "PlainIntegerRelationState", 35.16/11.00 "relations": [] 35.16/11.00 }, 35.16/11.00 "ground": ["T8"], 35.16/11.00 "free": [], 35.16/11.00 "exprvars": [] 35.16/11.00 } 35.16/11.00 }, 35.16/11.00 "620": { 35.16/11.00 "goal": [], 35.16/11.00 "kb": { 35.16/11.00 "nonunifying": [], 35.16/11.00 "intvars": {}, 35.16/11.00 "arithmetic": { 35.16/11.00 "type": "PlainIntegerRelationState", 35.16/11.00 "relations": [] 35.16/11.00 }, 35.16/11.00 "ground": [], 35.16/11.00 "free": [], 35.16/11.00 "exprvars": [] 35.16/11.00 } 35.16/11.00 }, 35.16/11.00 "544": { 35.16/11.00 "goal": [{ 35.16/11.00 "clause": -1, 35.16/11.00 "scope": -1, 35.16/11.00 "term": "(',' (member T91 T90) (members T92 T90))" 35.16/11.00 }], 35.16/11.00 "kb": { 35.16/11.00 "nonunifying": [], 35.16/11.00 "intvars": {}, 35.16/11.00 "arithmetic": { 35.16/11.00 "type": "PlainIntegerRelationState", 35.16/11.00 "relations": [] 35.16/11.00 }, 35.16/11.00 "ground": ["T90"], 35.16/11.00 "free": [], 35.16/11.00 "exprvars": [] 35.16/11.00 } 35.16/11.00 }, 35.16/11.00 "621": { 35.16/11.00 "goal": [], 35.16/11.00 "kb": { 35.16/11.00 "nonunifying": [], 35.16/11.00 "intvars": {}, 35.16/11.00 "arithmetic": { 35.16/11.00 "type": "PlainIntegerRelationState", 35.16/11.00 "relations": [] 35.16/11.00 }, 35.16/11.00 "ground": [], 35.16/11.00 "free": [], 35.16/11.00 "exprvars": [] 35.16/11.00 } 35.16/11.00 }, 35.16/11.00 "523": { 35.16/11.00 "goal": [{ 35.16/11.00 "clause": 3, 35.16/11.00 "scope": 3, 35.16/11.00 "term": "(select T31 T30 X31)" 35.16/11.00 }], 35.16/11.00 "kb": { 35.16/11.00 "nonunifying": [], 35.16/11.00 "intvars": {}, 35.16/11.00 "arithmetic": { 35.16/11.00 "type": "PlainIntegerRelationState", 35.16/11.00 "relations": [] 35.16/11.00 }, 35.16/11.00 "ground": ["T30"], 35.16/11.00 "free": ["X31"], 35.16/11.00 "exprvars": [] 35.16/11.00 } 35.16/11.00 }, 35.16/11.00 "545": { 35.16/11.00 "goal": [], 35.16/11.00 "kb": { 35.16/11.00 "nonunifying": [], 35.16/11.00 "intvars": {}, 35.16/11.00 "arithmetic": { 35.16/11.00 "type": "PlainIntegerRelationState", 35.16/11.00 "relations": [] 35.16/11.00 }, 35.16/11.00 "ground": [], 35.16/11.00 "free": [], 35.16/11.00 "exprvars": [] 35.16/11.00 } 35.16/11.00 }, 35.16/11.00 "622": { 35.16/11.00 "goal": [{ 35.16/11.00 "clause": -1, 35.16/11.00 "scope": -1, 35.16/11.00 "term": "(member T121 T120)" 35.16/11.00 }], 35.16/11.00 "kb": { 35.16/11.00 "nonunifying": [], 35.16/11.00 "intvars": {}, 35.16/11.00 "arithmetic": { 35.16/11.00 "type": "PlainIntegerRelationState", 35.16/11.00 "relations": [] 35.16/11.00 }, 35.16/11.00 "ground": ["T120"], 35.16/11.00 "free": [], 35.16/11.00 "exprvars": [] 35.16/11.00 } 35.16/11.00 }, 35.16/11.00 "502": { 35.16/11.00 "goal": [{ 35.16/11.00 "clause": -1, 35.16/11.00 "scope": -1, 35.16/11.00 "term": "(',' (',' (select T31 T30 X31) (members T32 X31)) (color_map T33 T30))" 35.16/11.00 }], 35.16/11.00 "kb": { 35.16/11.00 "nonunifying": [], 35.16/11.00 "intvars": {}, 35.16/11.00 "arithmetic": { 35.16/11.00 "type": "PlainIntegerRelationState", 35.16/11.00 "relations": [] 35.16/11.00 }, 35.16/11.00 "ground": ["T30"], 35.16/11.00 "free": ["X31"], 35.16/11.00 "exprvars": [] 35.16/11.00 } 35.16/11.00 }, 35.16/11.00 "524": { 35.16/11.00 "goal": [{ 35.16/11.00 "clause": 4, 35.16/11.00 "scope": 3, 35.16/11.00 "term": "(select T31 T30 X31)" 35.16/11.00 }], 35.16/11.00 "kb": { 35.16/11.00 "nonunifying": [], 35.16/11.00 "intvars": {}, 35.16/11.00 "arithmetic": { 35.16/11.00 "type": "PlainIntegerRelationState", 35.16/11.00 "relations": [] 35.16/11.00 }, 35.16/11.00 "ground": ["T30"], 35.16/11.00 "free": ["X31"], 35.16/11.00 "exprvars": [] 35.16/11.00 } 35.16/11.00 }, 35.16/11.00 "623": { 35.16/11.00 "goal": [], 35.16/11.00 "kb": { 35.16/11.00 "nonunifying": [], 35.16/11.00 "intvars": {}, 35.16/11.00 "arithmetic": { 35.16/11.00 "type": "PlainIntegerRelationState", 35.16/11.00 "relations": [] 35.16/11.00 }, 35.16/11.00 "ground": [], 35.16/11.00 "free": [], 35.16/11.00 "exprvars": [] 35.16/11.00 } 35.16/11.00 }, 35.16/11.00 "624": { 35.16/11.00 "goal": [{ 35.16/11.00 "clause": -1, 35.16/11.00 "scope": -1, 35.16/11.00 "term": "(true)" 35.16/11.00 }], 35.16/11.00 "kb": { 35.16/11.00 "nonunifying": [], 35.16/11.00 "intvars": {}, 35.16/11.00 "arithmetic": { 35.16/11.00 "type": "PlainIntegerRelationState", 35.16/11.00 "relations": [] 35.16/11.00 }, 35.16/11.00 "ground": [], 35.16/11.00 "free": [], 35.16/11.00 "exprvars": [] 35.16/11.00 } 35.16/11.00 }, 35.16/11.00 "625": { 35.16/11.00 "goal": [], 35.16/11.00 "kb": { 35.16/11.00 "nonunifying": [], 35.16/11.00 "intvars": {}, 35.16/11.00 "arithmetic": { 35.16/11.00 "type": "PlainIntegerRelationState", 35.16/11.00 "relations": [] 35.16/11.00 }, 35.16/11.00 "ground": [], 35.16/11.00 "free": [], 35.16/11.00 "exprvars": [] 35.16/11.00 } 35.16/11.00 }, 35.16/11.00 "505": { 35.16/11.00 "goal": [], 35.16/11.00 "kb": { 35.16/11.00 "nonunifying": [], 35.16/11.00 "intvars": {}, 35.16/11.00 "arithmetic": { 35.16/11.00 "type": "PlainIntegerRelationState", 35.16/11.00 "relations": [] 35.16/11.00 }, 35.16/11.00 "ground": [], 35.16/11.00 "free": [], 35.16/11.00 "exprvars": [] 35.16/11.00 } 35.16/11.00 }, 35.16/11.00 "626": { 35.16/11.00 "goal": [], 35.16/11.00 "kb": { 35.16/11.00 "nonunifying": [], 35.16/11.00 "intvars": {}, 35.16/11.00 "arithmetic": { 35.16/11.00 "type": "PlainIntegerRelationState", 35.16/11.00 "relations": [] 35.16/11.00 }, 35.16/11.00 "ground": [], 35.16/11.00 "free": [], 35.16/11.00 "exprvars": [] 35.16/11.00 } 35.16/11.00 }, 35.16/11.00 "528": { 35.16/11.00 "goal": [{ 35.16/11.00 "clause": -1, 35.16/11.00 "scope": -1, 35.16/11.00 "term": "(true)" 35.16/11.00 }], 35.16/11.00 "kb": { 35.16/11.00 "nonunifying": [], 35.16/11.00 "intvars": {}, 35.16/11.00 "arithmetic": { 35.16/11.00 "type": "PlainIntegerRelationState", 35.16/11.00 "relations": [] 35.16/11.00 }, 35.16/11.00 "ground": [], 35.16/11.00 "free": [], 35.16/11.00 "exprvars": [] 35.16/11.00 } 35.16/11.00 }, 35.16/11.00 "627": { 35.16/11.00 "goal": [{ 35.16/11.00 "clause": 1, 35.16/11.00 "scope": 1, 35.16/11.00 "term": "(color_map T1 T8)" 35.16/11.00 }], 35.16/11.00 "kb": { 35.16/11.00 "nonunifying": [], 35.16/11.00 "intvars": {}, 35.16/11.00 "arithmetic": { 35.16/11.00 "type": "PlainIntegerRelationState", 35.16/11.00 "relations": [] 35.16/11.00 }, 35.16/11.00 "ground": ["T8"], 35.16/11.00 "free": [], 35.16/11.00 "exprvars": [] 35.16/11.00 } 35.16/11.00 }, 35.16/11.00 "529": { 35.16/11.00 "goal": [], 35.16/11.00 "kb": { 35.16/11.00 "nonunifying": [], 35.16/11.00 "intvars": {}, 35.16/11.00 "arithmetic": { 35.16/11.00 "type": "PlainIntegerRelationState", 35.16/11.00 "relations": [] 35.16/11.00 }, 35.16/11.00 "ground": [], 35.16/11.00 "free": [], 35.16/11.00 "exprvars": [] 35.16/11.00 } 35.16/11.00 }, 35.16/11.00 "628": { 35.16/11.00 "goal": [{ 35.16/11.00 "clause": -1, 35.16/11.00 "scope": -1, 35.16/11.00 "term": "(true)" 35.16/11.00 }], 35.16/11.00 "kb": { 35.16/11.00 "nonunifying": [], 35.16/11.00 "intvars": {}, 35.16/11.00 "arithmetic": { 35.16/11.00 "type": "PlainIntegerRelationState", 35.16/11.00 "relations": [] 35.16/11.00 }, 35.16/11.00 "ground": [], 35.16/11.00 "free": [], 35.16/11.00 "exprvars": [] 35.16/11.00 } 35.16/11.00 }, 35.16/11.00 "508": { 35.16/11.00 "goal": [{ 35.16/11.00 "clause": -1, 35.16/11.00 "scope": -1, 35.16/11.00 "term": "(select T31 T30 X31)" 35.16/11.00 }], 35.16/11.00 "kb": { 35.16/11.00 "nonunifying": [], 35.16/11.00 "intvars": {}, 35.16/11.00 "arithmetic": { 35.16/11.00 "type": "PlainIntegerRelationState", 35.16/11.00 "relations": [] 35.16/11.00 }, 35.16/11.00 "ground": ["T30"], 35.16/11.00 "free": ["X31"], 35.16/11.00 "exprvars": [] 35.16/11.00 } 35.16/11.00 }, 35.16/11.00 "629": { 35.16/11.00 "goal": [], 35.16/11.00 "kb": { 35.16/11.00 "nonunifying": [], 35.16/11.00 "intvars": {}, 35.16/11.00 "arithmetic": { 35.16/11.00 "type": "PlainIntegerRelationState", 35.16/11.00 "relations": [] 35.16/11.00 }, 35.16/11.00 "ground": [], 35.16/11.00 "free": [], 35.16/11.00 "exprvars": [] 35.16/11.00 } 35.16/11.00 }, 35.16/11.00 "509": { 35.16/11.00 "goal": [{ 35.16/11.00 "clause": -1, 35.16/11.00 "scope": -1, 35.16/11.00 "term": "(',' (members T39 T38) (color_map T40 T30))" 35.16/11.00 }], 35.16/11.00 "kb": { 35.16/11.00 "nonunifying": [], 35.16/11.00 "intvars": {}, 35.16/11.00 "arithmetic": { 35.16/11.00 "type": "PlainIntegerRelationState", 35.16/11.00 "relations": [] 35.16/11.00 }, 35.16/11.00 "ground": [ 35.16/11.00 "T30", 35.16/11.00 "T38" 35.16/11.00 ], 35.16/11.00 "free": [], 35.16/11.00 "exprvars": [] 35.16/11.00 } 35.16/11.00 } 35.16/11.00 }, 35.16/11.00 "edges": [ 35.16/11.00 { 35.16/11.00 "from": 1, 35.16/11.00 "to": 2, 35.16/11.00 "label": "CASE" 35.16/11.00 }, 35.16/11.00 { 35.16/11.00 "from": 2, 35.16/11.00 "to": 475, 35.16/11.00 "label": "EVAL with clause\ncolor_map(l(X6, X7), X8) :- ','(color_region(X6, X8), color_map(X7, X8)).\nand substitutionX6 -> T9,\nX7 -> T10,\nT1 -> l(T9, T10),\nT2 -> T8,\nX8 -> T8,\nT6 -> T9,\nT7 -> T10" 35.16/11.00 }, 35.16/11.00 { 35.16/11.00 "from": 2, 35.16/11.00 "to": 479, 35.16/11.00 "label": "EVAL-BACKTRACK" 35.16/11.00 }, 35.16/11.00 { 35.16/11.00 "from": 475, 35.16/11.00 "to": 482, 35.16/11.00 "label": "CASE" 35.16/11.00 }, 35.16/11.00 { 35.16/11.00 "from": 479, 35.16/11.00 "to": 631, 35.16/11.00 "label": "EVAL with clause\ncolor_map(nil, X134).\nand substitutionT1 -> nil,\nT2 -> T139,\nX134 -> T139" 35.16/11.00 }, 35.16/11.00 { 35.16/11.00 "from": 479, 35.16/11.00 "to": 632, 35.16/11.00 "label": "EVAL-BACKTRACK" 35.16/11.00 }, 35.16/11.00 { 35.16/11.00 "from": 482, 35.16/11.00 "to": 487, 35.16/11.00 "label": "PARALLEL" 35.16/11.00 }, 35.16/11.00 { 35.16/11.00 "from": 482, 35.16/11.00 "to": 488, 35.16/11.00 "label": "PARALLEL" 35.16/11.00 }, 35.16/11.00 { 35.16/11.00 "from": 487, 35.16/11.00 "to": 502, 35.16/11.00 "label": "EVAL with clause\ncolor_region(region(X27, X28, X29), X30) :- ','(select(X28, X30, X31), members(X29, X31)).\nand substitutionX27 -> T27,\nX28 -> T31,\nX29 -> T32,\nT9 -> region(T27, T31, T32),\nT8 -> T30,\nX30 -> T30,\nT28 -> T31,\nT29 -> T32,\nT10 -> T33" 35.16/11.00 }, 35.16/11.00 { 35.16/11.00 "from": 487, 35.16/11.00 "to": 505, 35.16/11.00 "label": "EVAL-BACKTRACK" 35.16/11.00 }, 35.16/11.00 { 35.16/11.00 "from": 488, 35.16/11.00 "to": 627, 35.16/11.00 "label": "FAILURE" 35.16/11.00 }, 35.16/11.00 { 35.16/11.00 "from": 502, 35.16/11.00 "to": 508, 35.16/11.00 "label": "SPLIT 1" 35.16/11.00 }, 35.16/11.00 { 35.16/11.00 "from": 502, 35.16/11.00 "to": 509, 35.16/11.00 "label": "SPLIT 2\nnew knowledge:\nT31 is ground\nT30 is ground\nT38 is ground\nreplacements:X31 -> T38,\nT32 -> T39,\nT33 -> T40" 35.16/11.00 }, 35.16/11.00 { 35.16/11.00 "from": 508, 35.16/11.00 "to": 517, 35.16/11.00 "label": "CASE" 35.16/11.00 }, 35.16/11.00 { 35.16/11.00 "from": 509, 35.16/11.00 "to": 534, 35.16/11.00 "label": "SPLIT 1" 35.16/11.00 }, 35.16/11.00 { 35.16/11.00 "from": 509, 35.16/11.00 "to": 536, 35.16/11.00 "label": "SPLIT 2\nnew knowledge:\nT39 is ground\nT38 is ground\nreplacements:T40 -> T72" 35.16/11.00 }, 35.16/11.00 { 35.16/11.00 "from": 517, 35.16/11.00 "to": 523, 35.16/11.00 "label": "PARALLEL" 35.16/11.00 }, 35.16/11.00 { 35.16/11.00 "from": 517, 35.16/11.00 "to": 524, 35.16/11.00 "label": "PARALLEL" 35.16/11.00 }, 35.16/11.00 { 35.16/11.00 "from": 523, 35.16/11.00 "to": 528, 35.16/11.00 "label": "EVAL with clause\nselect(X48, .(X48, X49), X49).\nand substitutionT31 -> T53,\nX48 -> T53,\nX49 -> T54,\nT30 -> .(T53, T54),\nX31 -> T54" 35.16/11.00 }, 35.16/11.00 { 35.16/11.00 "from": 523, 35.16/11.00 "to": 529, 35.16/11.00 "label": "EVAL-BACKTRACK" 35.16/11.00 }, 35.16/11.00 { 35.16/11.00 "from": 524, 35.16/11.00 "to": 531, 35.16/11.00 "label": "EVAL with clause\nselect(X60, .(X61, X62), .(X61, X63)) :- select(X60, X62, X63).\nand substitutionT31 -> T64,\nX60 -> T64,\nX61 -> T62,\nX62 -> T63,\nT30 -> .(T62, T63),\nX63 -> X64,\nX31 -> .(T62, X64),\nT61 -> T64" 35.16/11.00 }, 35.16/11.00 { 35.16/11.00 "from": 524, 35.16/11.00 "to": 532, 35.16/11.00 "label": "EVAL-BACKTRACK" 35.16/11.00 }, 35.16/11.00 { 35.16/11.00 "from": 528, 35.16/11.00 "to": 530, 35.16/11.00 "label": "SUCCESS" 35.16/11.00 }, 35.16/11.00 { 35.16/11.00 "from": 531, 35.16/11.00 "to": 508, 35.16/11.00 "label": "INSTANCE with matching:\nT31 -> T64\nT30 -> T63\nX31 -> X64" 35.16/11.00 }, 35.16/11.00 { 35.16/11.00 "from": 534, 35.16/11.00 "to": 539, 35.16/11.00 "label": "CASE" 35.16/11.00 }, 35.16/11.00 { 35.16/11.00 "from": 536, 35.16/11.00 "to": 1, 35.16/11.00 "label": "INSTANCE with matching:\nT1 -> T72\nT2 -> T30" 35.16/11.00 }, 35.16/11.00 { 35.16/11.00 "from": 539, 35.16/11.00 "to": 540, 35.16/11.00 "label": "PARALLEL" 35.16/11.00 }, 35.16/11.00 { 35.16/11.00 "from": 539, 35.16/11.00 "to": 541, 35.16/11.00 "label": "PARALLEL" 35.16/11.00 }, 35.16/11.00 { 35.16/11.00 "from": 540, 35.16/11.00 "to": 544, 35.16/11.00 "label": "EVAL with clause\nmembers(.(X87, X88), X89) :- ','(member(X87, X89), members(X88, X89)).\nand substitutionX87 -> T91,\nX88 -> T92,\nT39 -> .(T91, T92),\nT38 -> T90,\nX89 -> T90,\nT88 -> T91,\nT89 -> T92" 35.16/11.00 }, 35.16/11.00 { 35.16/11.00 "from": 540, 35.16/11.00 "to": 545, 35.16/11.00 "label": "EVAL-BACKTRACK" 35.16/11.00 }, 35.16/11.00 { 35.16/11.00 "from": 541, 35.16/11.00 "to": 624, 35.16/11.00 "label": "EVAL with clause\nmembers([], X126).\nand substitutionT39 -> [],\nT38 -> T131,\nX126 -> T131" 35.16/11.00 }, 35.16/11.00 { 35.16/11.00 "from": 541, 35.16/11.00 "to": 625, 35.16/11.00 "label": "EVAL-BACKTRACK" 35.16/11.00 }, 35.16/11.00 { 35.16/11.00 "from": 544, 35.16/11.00 "to": 614, 35.16/11.00 "label": "SPLIT 1" 35.16/11.00 }, 35.16/11.00 { 35.16/11.00 "from": 544, 35.16/11.00 "to": 615, 35.16/11.00 "label": "SPLIT 2\nnew knowledge:\nT91 is ground\nT90 is ground\nreplacements:T92 -> T97" 35.16/11.00 }, 35.16/11.00 { 35.16/11.00 "from": 614, 35.16/11.00 "to": 616, 35.16/11.00 "label": "CASE" 35.16/11.00 }, 35.16/11.00 { 35.16/11.00 "from": 615, 35.16/11.00 "to": 534, 35.16/11.00 "label": "INSTANCE with matching:\nT39 -> T97\nT38 -> T90" 35.16/11.00 }, 35.16/11.00 { 35.16/11.00 "from": 616, 35.16/11.00 "to": 617, 35.16/11.00 "label": "PARALLEL" 35.16/11.00 }, 35.16/11.00 { 35.16/11.00 "from": 616, 35.16/11.00 "to": 618, 35.16/11.00 "label": "PARALLEL" 35.16/11.00 }, 35.16/11.00 { 35.16/11.00 "from": 617, 35.16/11.00 "to": 619, 35.16/11.00 "label": "EVAL with clause\nmember(X106, .(X106, X107)).\nand substitutionT91 -> T110,\nX106 -> T110,\nX107 -> T111,\nT90 -> .(T110, T111)" 35.16/11.00 }, 35.16/11.00 { 35.16/11.00 "from": 617, 35.16/11.00 "to": 620, 35.16/11.00 "label": "EVAL-BACKTRACK" 35.16/11.00 }, 35.16/11.00 { 35.16/11.00 "from": 618, 35.16/11.00 "to": 622, 35.16/11.00 "label": "EVAL with clause\nmember(X114, .(X115, X116)) :- member(X114, X116).\nand substitutionT91 -> T121,\nX114 -> T121,\nX115 -> T119,\nX116 -> T120,\nT90 -> .(T119, T120),\nT118 -> T121" 35.16/11.00 }, 35.16/11.00 { 35.16/11.00 "from": 618, 35.16/11.00 "to": 623, 35.16/11.00 "label": "EVAL-BACKTRACK" 35.16/11.00 }, 35.16/11.00 { 35.16/11.00 "from": 619, 35.16/11.00 "to": 621, 35.16/11.00 "label": "SUCCESS" 35.16/11.00 }, 35.16/11.00 { 35.16/11.00 "from": 622, 35.16/11.00 "to": 614, 35.16/11.00 "label": "INSTANCE with matching:\nT91 -> T121\nT90 -> T120" 35.16/11.00 }, 35.16/11.00 { 35.16/11.00 "from": 624, 35.16/11.00 "to": 626, 35.16/11.00 "label": "SUCCESS" 35.16/11.00 }, 35.16/11.00 { 35.16/11.00 "from": 627, 35.16/11.00 "to": 628, 35.16/11.00 "label": "EVAL with clause\ncolor_map(nil, X132).\nand substitutionT1 -> nil,\nT8 -> T137,\nX132 -> T137" 35.16/11.00 }, 35.16/11.00 { 35.16/11.00 "from": 627, 35.16/11.00 "to": 629, 35.16/11.00 "label": "EVAL-BACKTRACK" 35.16/11.00 }, 35.16/11.00 { 35.16/11.00 "from": 628, 35.16/11.00 "to": 630, 35.16/11.00 "label": "SUCCESS" 35.16/11.00 }, 35.16/11.00 { 35.16/11.00 "from": 631, 35.16/11.00 "to": 633, 35.16/11.00 "label": "SUCCESS" 35.16/11.00 } 35.16/11.00 ], 35.16/11.00 "type": "Graph" 35.16/11.00 } 35.16/11.00 } 35.16/11.00 35.16/11.00 ---------------------------------------- 35.16/11.00 35.16/11.00 (94) 35.16/11.00 Obligation: 35.16/11.00 Triples: 35.16/11.00 35.16/11.00 selectA(X1, .(X2, X3), .(X2, X4)) :- selectA(X1, X3, X4). 35.16/11.00 membersC(.(X1, X2), X3) :- memberD(X1, X3). 35.16/11.00 membersC(.(X1, X2), X3) :- ','(membercD(X1, X3), membersC(X2, X3)). 35.16/11.00 memberD(X1, .(X2, X3)) :- memberD(X1, X3). 35.16/11.00 color_mapB(l(region(X1, X2, X3), X4), X5) :- selectA(X2, X5, X6). 35.16/11.00 color_mapB(l(region(X1, X2, X3), X4), X5) :- ','(selectcA(X2, X5, X6), membersC(X3, X6)). 35.16/11.00 color_mapB(l(region(X1, X2, X3), X4), X5) :- ','(selectcA(X2, X5, X6), ','(memberscC(X3, X6), color_mapB(X4, X5))). 35.16/11.00 35.16/11.00 Clauses: 35.16/11.00 35.16/11.00 selectcA(X1, .(X1, X2), X2). 35.16/11.00 selectcA(X1, .(X2, X3), .(X2, X4)) :- selectcA(X1, X3, X4). 35.16/11.00 color_mapcB(l(region(X1, X2, X3), X4), X5) :- ','(selectcA(X2, X5, X6), ','(memberscC(X3, X6), color_mapcB(X4, X5))). 35.16/11.00 color_mapcB(nil, X1). 35.16/11.00 color_mapcB(nil, X1). 35.16/11.00 memberscC(.(X1, X2), X3) :- ','(membercD(X1, X3), memberscC(X2, X3)). 35.16/11.00 memberscC([], X1). 35.16/11.00 membercD(X1, .(X1, X2)). 35.16/11.00 membercD(X1, .(X2, X3)) :- membercD(X1, X3). 35.16/11.00 35.16/11.00 Afs: 35.16/11.00 35.16/11.00 color_mapB(x1, x2) = color_mapB(x2) 35.16/11.00 35.16/11.00 35.16/11.00 ---------------------------------------- 35.16/11.00 35.16/11.00 (95) TriplesToPiDPProof (SOUND) 35.16/11.00 We use the technique of [DT09]. With regard to the inferred argument filtering the predicates were used in the following modes: 35.16/11.00 35.16/11.00 color_mapB_in_2: (f,b) 35.16/11.00 35.16/11.00 selectA_in_3: (f,b,f) 35.16/11.00 35.16/11.00 selectcA_in_3: (f,b,f) 35.16/11.00 35.16/11.00 membersC_in_2: (f,b) 35.16/11.00 35.16/11.00 memberD_in_2: (f,b) 35.16/11.00 35.16/11.00 membercD_in_2: (f,b) 35.16/11.00 35.16/11.00 memberscC_in_2: (f,b) 35.16/11.00 35.16/11.00 Transforming TRIPLES into the following Term Rewriting System: 35.16/11.00 35.16/11.00 Pi DP problem: 35.16/11.00 The TRS P consists of the following rules: 35.16/11.00 35.16/11.00 COLOR_MAPB_IN_AG(l(region(X1, X2, X3), X4), X5) -> U6_AG(X1, X2, X3, X4, X5, selectA_in_aga(X2, X5, X6)) 35.16/11.00 COLOR_MAPB_IN_AG(l(region(X1, X2, X3), X4), X5) -> SELECTA_IN_AGA(X2, X5, X6) 35.16/11.00 SELECTA_IN_AGA(X1, .(X2, X3), .(X2, X4)) -> U1_AGA(X1, X2, X3, X4, selectA_in_aga(X1, X3, X4)) 35.16/11.00 SELECTA_IN_AGA(X1, .(X2, X3), .(X2, X4)) -> SELECTA_IN_AGA(X1, X3, X4) 35.16/11.00 COLOR_MAPB_IN_AG(l(region(X1, X2, X3), X4), X5) -> U7_AG(X1, X2, X3, X4, X5, selectcA_in_aga(X2, X5, X6)) 35.16/11.00 U7_AG(X1, X2, X3, X4, X5, selectcA_out_aga(X2, X5, X6)) -> U8_AG(X1, X2, X3, X4, X5, membersC_in_ag(X3, X6)) 35.16/11.00 U7_AG(X1, X2, X3, X4, X5, selectcA_out_aga(X2, X5, X6)) -> MEMBERSC_IN_AG(X3, X6) 35.16/11.00 MEMBERSC_IN_AG(.(X1, X2), X3) -> U2_AG(X1, X2, X3, memberD_in_ag(X1, X3)) 35.16/11.00 MEMBERSC_IN_AG(.(X1, X2), X3) -> MEMBERD_IN_AG(X1, X3) 35.16/11.00 MEMBERD_IN_AG(X1, .(X2, X3)) -> U5_AG(X1, X2, X3, memberD_in_ag(X1, X3)) 35.16/11.00 MEMBERD_IN_AG(X1, .(X2, X3)) -> MEMBERD_IN_AG(X1, X3) 35.16/11.00 MEMBERSC_IN_AG(.(X1, X2), X3) -> U3_AG(X1, X2, X3, membercD_in_ag(X1, X3)) 35.16/11.00 U3_AG(X1, X2, X3, membercD_out_ag(X1, X3)) -> U4_AG(X1, X2, X3, membersC_in_ag(X2, X3)) 35.16/11.00 U3_AG(X1, X2, X3, membercD_out_ag(X1, X3)) -> MEMBERSC_IN_AG(X2, X3) 35.16/11.00 U7_AG(X1, X2, X3, X4, X5, selectcA_out_aga(X2, X5, X6)) -> U9_AG(X1, X2, X3, X4, X5, memberscC_in_ag(X3, X6)) 35.16/11.00 U9_AG(X1, X2, X3, X4, X5, memberscC_out_ag(X3, X6)) -> U10_AG(X1, X2, X3, X4, X5, color_mapB_in_ag(X4, X5)) 35.16/11.00 U9_AG(X1, X2, X3, X4, X5, memberscC_out_ag(X3, X6)) -> COLOR_MAPB_IN_AG(X4, X5) 35.16/11.00 35.16/11.00 The TRS R consists of the following rules: 35.16/11.00 35.16/11.00 selectcA_in_aga(X1, .(X1, X2), X2) -> selectcA_out_aga(X1, .(X1, X2), X2) 35.16/11.00 selectcA_in_aga(X1, .(X2, X3), .(X2, X4)) -> U12_aga(X1, X2, X3, X4, selectcA_in_aga(X1, X3, X4)) 35.16/11.00 U12_aga(X1, X2, X3, X4, selectcA_out_aga(X1, X3, X4)) -> selectcA_out_aga(X1, .(X2, X3), .(X2, X4)) 35.16/11.00 membercD_in_ag(X1, .(X1, X2)) -> membercD_out_ag(X1, .(X1, X2)) 35.16/11.00 membercD_in_ag(X1, .(X2, X3)) -> U18_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 35.16/11.00 U18_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> membercD_out_ag(X1, .(X2, X3)) 35.16/11.00 memberscC_in_ag(.(X1, X2), X3) -> U16_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 35.16/11.00 U16_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> U17_ag(X1, X2, X3, memberscC_in_ag(X2, X3)) 35.16/11.00 memberscC_in_ag([], X1) -> memberscC_out_ag([], X1) 35.16/11.00 U17_ag(X1, X2, X3, memberscC_out_ag(X2, X3)) -> memberscC_out_ag(.(X1, X2), X3) 35.16/11.00 35.16/11.00 The argument filtering Pi contains the following mapping: 35.16/11.00 color_mapB_in_ag(x1, x2) = color_mapB_in_ag(x2) 35.16/11.00 35.16/11.00 selectA_in_aga(x1, x2, x3) = selectA_in_aga(x2) 35.16/11.00 35.16/11.00 .(x1, x2) = .(x1, x2) 35.16/11.00 35.16/11.00 region(x1, x2, x3) = region(x2, x3) 35.16/11.00 35.16/11.00 selectcA_in_aga(x1, x2, x3) = selectcA_in_aga(x2) 35.16/11.00 35.16/11.00 selectcA_out_aga(x1, x2, x3) = selectcA_out_aga(x1, x2, x3) 35.16/11.00 35.16/11.00 U12_aga(x1, x2, x3, x4, x5) = U12_aga(x2, x3, x5) 35.16/11.00 35.16/11.00 membersC_in_ag(x1, x2) = membersC_in_ag(x2) 35.16/11.00 35.16/11.00 memberD_in_ag(x1, x2) = memberD_in_ag(x2) 35.16/11.00 35.16/11.00 membercD_in_ag(x1, x2) = membercD_in_ag(x2) 35.16/11.00 35.16/11.00 membercD_out_ag(x1, x2) = membercD_out_ag(x1, x2) 35.16/11.00 35.16/11.00 U18_ag(x1, x2, x3, x4) = U18_ag(x2, x3, x4) 35.16/11.00 35.16/11.00 memberscC_in_ag(x1, x2) = memberscC_in_ag(x2) 35.16/11.00 35.16/11.00 U16_ag(x1, x2, x3, x4) = U16_ag(x3, x4) 35.16/11.00 35.16/11.00 U17_ag(x1, x2, x3, x4) = U17_ag(x1, x3, x4) 35.16/11.00 35.16/11.00 memberscC_out_ag(x1, x2) = memberscC_out_ag(x1, x2) 35.16/11.00 35.16/11.00 COLOR_MAPB_IN_AG(x1, x2) = COLOR_MAPB_IN_AG(x2) 35.16/11.00 35.16/11.00 U6_AG(x1, x2, x3, x4, x5, x6) = U6_AG(x5, x6) 35.16/11.00 35.16/11.00 SELECTA_IN_AGA(x1, x2, x3) = SELECTA_IN_AGA(x2) 35.16/11.00 35.16/11.00 U1_AGA(x1, x2, x3, x4, x5) = U1_AGA(x2, x3, x5) 35.16/11.00 35.16/11.00 U7_AG(x1, x2, x3, x4, x5, x6) = U7_AG(x5, x6) 35.16/11.00 35.16/11.00 U8_AG(x1, x2, x3, x4, x5, x6) = U8_AG(x5, x6) 35.16/11.00 35.16/11.00 MEMBERSC_IN_AG(x1, x2) = MEMBERSC_IN_AG(x2) 35.16/11.00 35.16/11.00 U2_AG(x1, x2, x3, x4) = U2_AG(x3, x4) 35.16/11.00 35.16/11.00 MEMBERD_IN_AG(x1, x2) = MEMBERD_IN_AG(x2) 35.16/11.00 35.16/11.00 U5_AG(x1, x2, x3, x4) = U5_AG(x2, x3, x4) 35.16/11.00 35.16/11.00 U3_AG(x1, x2, x3, x4) = U3_AG(x3, x4) 35.16/11.00 35.16/11.00 U4_AG(x1, x2, x3, x4) = U4_AG(x3, x4) 35.16/11.00 35.16/11.00 U9_AG(x1, x2, x3, x4, x5, x6) = U9_AG(x5, x6) 35.16/11.00 35.16/11.00 U10_AG(x1, x2, x3, x4, x5, x6) = U10_AG(x5, x6) 35.16/11.00 35.16/11.00 35.16/11.00 We have to consider all (P,R,Pi)-chains 35.16/11.00 35.16/11.00 35.16/11.00 Infinitary Constructor Rewriting Termination of PiDP implies Termination of TRIPLES 35.16/11.00 35.16/11.00 35.16/11.00 35.16/11.00 ---------------------------------------- 35.16/11.00 35.16/11.00 (96) 35.16/11.00 Obligation: 35.16/11.00 Pi DP problem: 35.16/11.00 The TRS P consists of the following rules: 35.16/11.00 35.16/11.00 COLOR_MAPB_IN_AG(l(region(X1, X2, X3), X4), X5) -> U6_AG(X1, X2, X3, X4, X5, selectA_in_aga(X2, X5, X6)) 35.16/11.00 COLOR_MAPB_IN_AG(l(region(X1, X2, X3), X4), X5) -> SELECTA_IN_AGA(X2, X5, X6) 35.16/11.00 SELECTA_IN_AGA(X1, .(X2, X3), .(X2, X4)) -> U1_AGA(X1, X2, X3, X4, selectA_in_aga(X1, X3, X4)) 35.16/11.00 SELECTA_IN_AGA(X1, .(X2, X3), .(X2, X4)) -> SELECTA_IN_AGA(X1, X3, X4) 35.16/11.00 COLOR_MAPB_IN_AG(l(region(X1, X2, X3), X4), X5) -> U7_AG(X1, X2, X3, X4, X5, selectcA_in_aga(X2, X5, X6)) 35.16/11.00 U7_AG(X1, X2, X3, X4, X5, selectcA_out_aga(X2, X5, X6)) -> U8_AG(X1, X2, X3, X4, X5, membersC_in_ag(X3, X6)) 35.16/11.00 U7_AG(X1, X2, X3, X4, X5, selectcA_out_aga(X2, X5, X6)) -> MEMBERSC_IN_AG(X3, X6) 35.16/11.00 MEMBERSC_IN_AG(.(X1, X2), X3) -> U2_AG(X1, X2, X3, memberD_in_ag(X1, X3)) 35.16/11.00 MEMBERSC_IN_AG(.(X1, X2), X3) -> MEMBERD_IN_AG(X1, X3) 35.16/11.00 MEMBERD_IN_AG(X1, .(X2, X3)) -> U5_AG(X1, X2, X3, memberD_in_ag(X1, X3)) 35.16/11.00 MEMBERD_IN_AG(X1, .(X2, X3)) -> MEMBERD_IN_AG(X1, X3) 35.16/11.00 MEMBERSC_IN_AG(.(X1, X2), X3) -> U3_AG(X1, X2, X3, membercD_in_ag(X1, X3)) 35.16/11.00 U3_AG(X1, X2, X3, membercD_out_ag(X1, X3)) -> U4_AG(X1, X2, X3, membersC_in_ag(X2, X3)) 35.16/11.00 U3_AG(X1, X2, X3, membercD_out_ag(X1, X3)) -> MEMBERSC_IN_AG(X2, X3) 35.16/11.00 U7_AG(X1, X2, X3, X4, X5, selectcA_out_aga(X2, X5, X6)) -> U9_AG(X1, X2, X3, X4, X5, memberscC_in_ag(X3, X6)) 35.16/11.00 U9_AG(X1, X2, X3, X4, X5, memberscC_out_ag(X3, X6)) -> U10_AG(X1, X2, X3, X4, X5, color_mapB_in_ag(X4, X5)) 35.16/11.00 U9_AG(X1, X2, X3, X4, X5, memberscC_out_ag(X3, X6)) -> COLOR_MAPB_IN_AG(X4, X5) 35.16/11.00 35.16/11.00 The TRS R consists of the following rules: 35.16/11.00 35.16/11.00 selectcA_in_aga(X1, .(X1, X2), X2) -> selectcA_out_aga(X1, .(X1, X2), X2) 35.16/11.00 selectcA_in_aga(X1, .(X2, X3), .(X2, X4)) -> U12_aga(X1, X2, X3, X4, selectcA_in_aga(X1, X3, X4)) 35.16/11.00 U12_aga(X1, X2, X3, X4, selectcA_out_aga(X1, X3, X4)) -> selectcA_out_aga(X1, .(X2, X3), .(X2, X4)) 35.16/11.00 membercD_in_ag(X1, .(X1, X2)) -> membercD_out_ag(X1, .(X1, X2)) 35.16/11.00 membercD_in_ag(X1, .(X2, X3)) -> U18_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 35.16/11.00 U18_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> membercD_out_ag(X1, .(X2, X3)) 35.16/11.00 memberscC_in_ag(.(X1, X2), X3) -> U16_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 35.16/11.00 U16_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> U17_ag(X1, X2, X3, memberscC_in_ag(X2, X3)) 35.16/11.00 memberscC_in_ag([], X1) -> memberscC_out_ag([], X1) 35.16/11.00 U17_ag(X1, X2, X3, memberscC_out_ag(X2, X3)) -> memberscC_out_ag(.(X1, X2), X3) 35.16/11.00 35.16/11.00 The argument filtering Pi contains the following mapping: 35.16/11.00 color_mapB_in_ag(x1, x2) = color_mapB_in_ag(x2) 35.16/11.00 35.16/11.00 selectA_in_aga(x1, x2, x3) = selectA_in_aga(x2) 35.16/11.00 35.16/11.00 .(x1, x2) = .(x1, x2) 35.16/11.00 35.16/11.00 region(x1, x2, x3) = region(x2, x3) 35.16/11.00 35.16/11.00 selectcA_in_aga(x1, x2, x3) = selectcA_in_aga(x2) 35.16/11.00 35.16/11.00 selectcA_out_aga(x1, x2, x3) = selectcA_out_aga(x1, x2, x3) 35.16/11.00 35.16/11.00 U12_aga(x1, x2, x3, x4, x5) = U12_aga(x2, x3, x5) 35.16/11.00 35.16/11.00 membersC_in_ag(x1, x2) = membersC_in_ag(x2) 35.16/11.00 35.16/11.00 memberD_in_ag(x1, x2) = memberD_in_ag(x2) 35.16/11.00 35.16/11.00 membercD_in_ag(x1, x2) = membercD_in_ag(x2) 35.16/11.00 35.16/11.00 membercD_out_ag(x1, x2) = membercD_out_ag(x1, x2) 35.16/11.00 35.16/11.00 U18_ag(x1, x2, x3, x4) = U18_ag(x2, x3, x4) 35.16/11.00 35.16/11.00 memberscC_in_ag(x1, x2) = memberscC_in_ag(x2) 35.16/11.00 35.16/11.00 U16_ag(x1, x2, x3, x4) = U16_ag(x3, x4) 35.16/11.00 35.16/11.00 U17_ag(x1, x2, x3, x4) = U17_ag(x1, x3, x4) 35.16/11.00 35.16/11.00 memberscC_out_ag(x1, x2) = memberscC_out_ag(x1, x2) 35.16/11.00 35.16/11.00 COLOR_MAPB_IN_AG(x1, x2) = COLOR_MAPB_IN_AG(x2) 35.16/11.00 35.16/11.00 U6_AG(x1, x2, x3, x4, x5, x6) = U6_AG(x5, x6) 35.16/11.00 35.16/11.00 SELECTA_IN_AGA(x1, x2, x3) = SELECTA_IN_AGA(x2) 35.16/11.00 35.16/11.00 U1_AGA(x1, x2, x3, x4, x5) = U1_AGA(x2, x3, x5) 35.16/11.00 35.16/11.00 U7_AG(x1, x2, x3, x4, x5, x6) = U7_AG(x5, x6) 35.16/11.00 35.16/11.00 U8_AG(x1, x2, x3, x4, x5, x6) = U8_AG(x5, x6) 35.16/11.00 35.16/11.00 MEMBERSC_IN_AG(x1, x2) = MEMBERSC_IN_AG(x2) 35.16/11.00 35.16/11.00 U2_AG(x1, x2, x3, x4) = U2_AG(x3, x4) 35.16/11.00 35.16/11.00 MEMBERD_IN_AG(x1, x2) = MEMBERD_IN_AG(x2) 35.16/11.00 35.16/11.00 U5_AG(x1, x2, x3, x4) = U5_AG(x2, x3, x4) 35.16/11.00 35.16/11.00 U3_AG(x1, x2, x3, x4) = U3_AG(x3, x4) 35.16/11.00 35.16/11.00 U4_AG(x1, x2, x3, x4) = U4_AG(x3, x4) 35.16/11.00 35.16/11.00 U9_AG(x1, x2, x3, x4, x5, x6) = U9_AG(x5, x6) 35.16/11.00 35.16/11.00 U10_AG(x1, x2, x3, x4, x5, x6) = U10_AG(x5, x6) 35.16/11.00 35.16/11.00 35.16/11.00 We have to consider all (P,R,Pi)-chains 35.16/11.00 ---------------------------------------- 35.16/11.00 35.16/11.00 (97) DependencyGraphProof (EQUIVALENT) 35.16/11.00 The approximation of the Dependency Graph [LOPSTR] contains 4 SCCs with 10 less nodes. 35.16/11.00 ---------------------------------------- 35.16/11.00 35.16/11.00 (98) 35.16/11.00 Complex Obligation (AND) 35.16/11.00 35.16/11.00 ---------------------------------------- 35.16/11.00 35.16/11.00 (99) 35.16/11.00 Obligation: 35.16/11.00 Pi DP problem: 35.16/11.00 The TRS P consists of the following rules: 35.16/11.00 35.16/11.00 MEMBERD_IN_AG(X1, .(X2, X3)) -> MEMBERD_IN_AG(X1, X3) 35.16/11.00 35.16/11.00 The TRS R consists of the following rules: 35.16/11.00 35.16/11.00 selectcA_in_aga(X1, .(X1, X2), X2) -> selectcA_out_aga(X1, .(X1, X2), X2) 35.16/11.00 selectcA_in_aga(X1, .(X2, X3), .(X2, X4)) -> U12_aga(X1, X2, X3, X4, selectcA_in_aga(X1, X3, X4)) 35.16/11.00 U12_aga(X1, X2, X3, X4, selectcA_out_aga(X1, X3, X4)) -> selectcA_out_aga(X1, .(X2, X3), .(X2, X4)) 35.16/11.00 membercD_in_ag(X1, .(X1, X2)) -> membercD_out_ag(X1, .(X1, X2)) 35.16/11.00 membercD_in_ag(X1, .(X2, X3)) -> U18_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 35.16/11.00 U18_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> membercD_out_ag(X1, .(X2, X3)) 35.16/11.00 memberscC_in_ag(.(X1, X2), X3) -> U16_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 35.16/11.00 U16_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> U17_ag(X1, X2, X3, memberscC_in_ag(X2, X3)) 35.16/11.00 memberscC_in_ag([], X1) -> memberscC_out_ag([], X1) 35.16/11.00 U17_ag(X1, X2, X3, memberscC_out_ag(X2, X3)) -> memberscC_out_ag(.(X1, X2), X3) 35.16/11.00 35.16/11.00 The argument filtering Pi contains the following mapping: 35.16/11.00 .(x1, x2) = .(x1, x2) 35.16/11.00 35.16/11.00 selectcA_in_aga(x1, x2, x3) = selectcA_in_aga(x2) 35.16/11.00 35.16/11.00 selectcA_out_aga(x1, x2, x3) = selectcA_out_aga(x1, x2, x3) 35.16/11.00 35.16/11.00 U12_aga(x1, x2, x3, x4, x5) = U12_aga(x2, x3, x5) 35.16/11.00 35.16/11.00 membercD_in_ag(x1, x2) = membercD_in_ag(x2) 35.16/11.00 35.16/11.00 membercD_out_ag(x1, x2) = membercD_out_ag(x1, x2) 35.16/11.00 35.16/11.00 U18_ag(x1, x2, x3, x4) = U18_ag(x2, x3, x4) 35.16/11.00 35.16/11.00 memberscC_in_ag(x1, x2) = memberscC_in_ag(x2) 35.16/11.00 35.16/11.00 U16_ag(x1, x2, x3, x4) = U16_ag(x3, x4) 35.16/11.00 35.16/11.00 U17_ag(x1, x2, x3, x4) = U17_ag(x1, x3, x4) 35.16/11.00 35.16/11.00 memberscC_out_ag(x1, x2) = memberscC_out_ag(x1, x2) 35.16/11.00 35.16/11.00 MEMBERD_IN_AG(x1, x2) = MEMBERD_IN_AG(x2) 35.16/11.00 35.16/11.00 35.16/11.00 We have to consider all (P,R,Pi)-chains 35.16/11.00 ---------------------------------------- 35.16/11.00 35.16/11.00 (100) UsableRulesProof (EQUIVALENT) 35.16/11.00 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 35.16/11.00 ---------------------------------------- 35.16/11.00 35.16/11.00 (101) 35.16/11.00 Obligation: 35.16/11.00 Pi DP problem: 35.16/11.00 The TRS P consists of the following rules: 35.16/11.00 35.16/11.00 MEMBERD_IN_AG(X1, .(X2, X3)) -> MEMBERD_IN_AG(X1, X3) 35.16/11.00 35.16/11.00 R is empty. 35.16/11.00 The argument filtering Pi contains the following mapping: 35.16/11.00 .(x1, x2) = .(x1, x2) 35.16/11.00 35.16/11.00 MEMBERD_IN_AG(x1, x2) = MEMBERD_IN_AG(x2) 35.16/11.00 35.16/11.00 35.16/11.00 We have to consider all (P,R,Pi)-chains 35.16/11.00 ---------------------------------------- 35.16/11.00 35.16/11.00 (102) PiDPToQDPProof (SOUND) 35.16/11.00 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 35.16/11.00 ---------------------------------------- 35.16/11.00 35.16/11.00 (103) 35.16/11.00 Obligation: 35.16/11.00 Q DP problem: 35.16/11.00 The TRS P consists of the following rules: 35.16/11.00 35.16/11.00 MEMBERD_IN_AG(.(X2, X3)) -> MEMBERD_IN_AG(X3) 35.16/11.00 35.16/11.00 R is empty. 35.16/11.00 Q is empty. 35.16/11.00 We have to consider all (P,Q,R)-chains. 35.16/11.00 ---------------------------------------- 35.16/11.00 35.16/11.00 (104) QDPSizeChangeProof (EQUIVALENT) 35.16/11.00 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. 35.16/11.00 35.16/11.00 From the DPs we obtained the following set of size-change graphs: 35.16/11.00 *MEMBERD_IN_AG(.(X2, X3)) -> MEMBERD_IN_AG(X3) 35.16/11.00 The graph contains the following edges 1 > 1 35.16/11.00 35.16/11.00 35.16/11.00 ---------------------------------------- 35.16/11.00 35.16/11.00 (105) 35.16/11.00 YES 35.16/11.00 35.16/11.00 ---------------------------------------- 35.16/11.00 35.16/11.00 (106) 35.16/11.00 Obligation: 35.16/11.00 Pi DP problem: 35.16/11.00 The TRS P consists of the following rules: 35.16/11.00 35.16/11.00 MEMBERSC_IN_AG(.(X1, X2), X3) -> U3_AG(X1, X2, X3, membercD_in_ag(X1, X3)) 35.16/11.00 U3_AG(X1, X2, X3, membercD_out_ag(X1, X3)) -> MEMBERSC_IN_AG(X2, X3) 35.16/11.00 35.16/11.00 The TRS R consists of the following rules: 35.16/11.00 35.16/11.00 selectcA_in_aga(X1, .(X1, X2), X2) -> selectcA_out_aga(X1, .(X1, X2), X2) 35.16/11.00 selectcA_in_aga(X1, .(X2, X3), .(X2, X4)) -> U12_aga(X1, X2, X3, X4, selectcA_in_aga(X1, X3, X4)) 35.16/11.00 U12_aga(X1, X2, X3, X4, selectcA_out_aga(X1, X3, X4)) -> selectcA_out_aga(X1, .(X2, X3), .(X2, X4)) 35.16/11.00 membercD_in_ag(X1, .(X1, X2)) -> membercD_out_ag(X1, .(X1, X2)) 35.16/11.00 membercD_in_ag(X1, .(X2, X3)) -> U18_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 35.16/11.00 U18_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> membercD_out_ag(X1, .(X2, X3)) 35.16/11.00 memberscC_in_ag(.(X1, X2), X3) -> U16_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 35.16/11.00 U16_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> U17_ag(X1, X2, X3, memberscC_in_ag(X2, X3)) 35.16/11.00 memberscC_in_ag([], X1) -> memberscC_out_ag([], X1) 35.16/11.00 U17_ag(X1, X2, X3, memberscC_out_ag(X2, X3)) -> memberscC_out_ag(.(X1, X2), X3) 35.16/11.00 35.16/11.00 The argument filtering Pi contains the following mapping: 35.16/11.00 .(x1, x2) = .(x1, x2) 35.16/11.00 35.16/11.00 selectcA_in_aga(x1, x2, x3) = selectcA_in_aga(x2) 35.16/11.00 35.16/11.00 selectcA_out_aga(x1, x2, x3) = selectcA_out_aga(x1, x2, x3) 35.16/11.00 35.16/11.00 U12_aga(x1, x2, x3, x4, x5) = U12_aga(x2, x3, x5) 35.16/11.00 35.16/11.00 membercD_in_ag(x1, x2) = membercD_in_ag(x2) 35.16/11.00 35.16/11.00 membercD_out_ag(x1, x2) = membercD_out_ag(x1, x2) 35.16/11.00 35.16/11.00 U18_ag(x1, x2, x3, x4) = U18_ag(x2, x3, x4) 35.16/11.00 35.16/11.00 memberscC_in_ag(x1, x2) = memberscC_in_ag(x2) 35.16/11.00 35.16/11.00 U16_ag(x1, x2, x3, x4) = U16_ag(x3, x4) 35.16/11.00 35.16/11.00 U17_ag(x1, x2, x3, x4) = U17_ag(x1, x3, x4) 35.16/11.00 35.16/11.00 memberscC_out_ag(x1, x2) = memberscC_out_ag(x1, x2) 35.16/11.00 35.16/11.00 MEMBERSC_IN_AG(x1, x2) = MEMBERSC_IN_AG(x2) 35.16/11.00 35.16/11.00 U3_AG(x1, x2, x3, x4) = U3_AG(x3, x4) 35.16/11.00 35.16/11.00 35.16/11.00 We have to consider all (P,R,Pi)-chains 35.16/11.00 ---------------------------------------- 35.16/11.00 35.16/11.00 (107) UsableRulesProof (EQUIVALENT) 35.16/11.00 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 35.16/11.00 ---------------------------------------- 35.16/11.00 35.16/11.00 (108) 35.16/11.00 Obligation: 35.16/11.00 Pi DP problem: 35.16/11.00 The TRS P consists of the following rules: 35.16/11.00 35.16/11.00 MEMBERSC_IN_AG(.(X1, X2), X3) -> U3_AG(X1, X2, X3, membercD_in_ag(X1, X3)) 35.16/11.00 U3_AG(X1, X2, X3, membercD_out_ag(X1, X3)) -> MEMBERSC_IN_AG(X2, X3) 35.16/11.00 35.16/11.00 The TRS R consists of the following rules: 35.16/11.00 35.16/11.00 membercD_in_ag(X1, .(X1, X2)) -> membercD_out_ag(X1, .(X1, X2)) 35.16/11.00 membercD_in_ag(X1, .(X2, X3)) -> U18_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 35.16/11.00 U18_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> membercD_out_ag(X1, .(X2, X3)) 35.16/11.00 35.16/11.00 The argument filtering Pi contains the following mapping: 35.16/11.00 .(x1, x2) = .(x1, x2) 35.16/11.00 35.16/11.00 membercD_in_ag(x1, x2) = membercD_in_ag(x2) 35.16/11.00 35.16/11.00 membercD_out_ag(x1, x2) = membercD_out_ag(x1, x2) 35.16/11.00 35.16/11.00 U18_ag(x1, x2, x3, x4) = U18_ag(x2, x3, x4) 35.16/11.00 35.16/11.00 MEMBERSC_IN_AG(x1, x2) = MEMBERSC_IN_AG(x2) 35.16/11.00 35.16/11.00 U3_AG(x1, x2, x3, x4) = U3_AG(x3, x4) 35.16/11.00 35.16/11.00 35.16/11.00 We have to consider all (P,R,Pi)-chains 35.16/11.00 ---------------------------------------- 35.16/11.00 35.16/11.00 (109) PiDPToQDPProof (SOUND) 35.16/11.00 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 35.16/11.00 ---------------------------------------- 35.16/11.00 35.16/11.00 (110) 35.16/11.00 Obligation: 35.16/11.00 Q DP problem: 35.16/11.00 The TRS P consists of the following rules: 35.16/11.00 35.16/11.00 MEMBERSC_IN_AG(X3) -> U3_AG(X3, membercD_in_ag(X3)) 35.16/11.00 U3_AG(X3, membercD_out_ag(X1, X3)) -> MEMBERSC_IN_AG(X3) 35.16/11.00 35.16/11.00 The TRS R consists of the following rules: 35.16/11.00 35.16/11.00 membercD_in_ag(.(X1, X2)) -> membercD_out_ag(X1, .(X1, X2)) 35.16/11.00 membercD_in_ag(.(X2, X3)) -> U18_ag(X2, X3, membercD_in_ag(X3)) 35.16/11.00 U18_ag(X2, X3, membercD_out_ag(X1, X3)) -> membercD_out_ag(X1, .(X2, X3)) 35.16/11.00 35.16/11.00 The set Q consists of the following terms: 35.16/11.00 35.16/11.00 membercD_in_ag(x0) 35.16/11.00 U18_ag(x0, x1, x2) 35.16/11.00 35.16/11.00 We have to consider all (P,Q,R)-chains. 35.16/11.00 ---------------------------------------- 35.16/11.01 35.16/11.01 (111) TransformationProof (SOUND) 35.16/11.01 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]: 35.16/11.01 35.16/11.01 (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)))) 35.16/11.01 (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)))) 35.16/11.01 35.16/11.01 35.16/11.01 ---------------------------------------- 35.16/11.01 35.16/11.01 (112) 35.16/11.01 Obligation: 35.16/11.01 Q DP problem: 35.16/11.01 The TRS P consists of the following rules: 35.16/11.01 35.16/11.01 U3_AG(X3, membercD_out_ag(X1, X3)) -> MEMBERSC_IN_AG(X3) 35.16/11.01 MEMBERSC_IN_AG(.(x0, x1)) -> U3_AG(.(x0, x1), membercD_out_ag(x0, .(x0, x1))) 35.16/11.01 MEMBERSC_IN_AG(.(x0, x1)) -> U3_AG(.(x0, x1), U18_ag(x0, x1, membercD_in_ag(x1))) 35.16/11.01 35.16/11.01 The TRS R consists of the following rules: 35.16/11.01 35.16/11.01 membercD_in_ag(.(X1, X2)) -> membercD_out_ag(X1, .(X1, X2)) 35.16/11.01 membercD_in_ag(.(X2, X3)) -> U18_ag(X2, X3, membercD_in_ag(X3)) 35.16/11.01 U18_ag(X2, X3, membercD_out_ag(X1, X3)) -> membercD_out_ag(X1, .(X2, X3)) 35.16/11.01 35.16/11.01 The set Q consists of the following terms: 35.16/11.01 35.16/11.01 membercD_in_ag(x0) 35.16/11.01 U18_ag(x0, x1, x2) 35.16/11.01 35.16/11.01 We have to consider all (P,Q,R)-chains. 35.16/11.01 ---------------------------------------- 35.16/11.01 35.16/11.01 (113) TransformationProof (EQUIVALENT) 35.16/11.01 By instantiating [LPAR04] the rule U3_AG(X3, membercD_out_ag(X1, X3)) -> MEMBERSC_IN_AG(X3) we obtained the following new rules [LPAR04]: 35.16/11.01 35.16/11.01 (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))) 35.16/11.01 (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))) 35.16/11.01 35.16/11.01 35.16/11.01 ---------------------------------------- 35.16/11.01 35.16/11.01 (114) 35.16/11.01 Obligation: 35.16/11.01 Q DP problem: 35.16/11.01 The TRS P consists of the following rules: 35.16/11.01 35.16/11.01 MEMBERSC_IN_AG(.(x0, x1)) -> U3_AG(.(x0, x1), membercD_out_ag(x0, .(x0, x1))) 35.16/11.01 MEMBERSC_IN_AG(.(x0, x1)) -> U3_AG(.(x0, x1), U18_ag(x0, x1, membercD_in_ag(x1))) 35.16/11.01 U3_AG(.(z0, z1), membercD_out_ag(z0, .(z0, z1))) -> MEMBERSC_IN_AG(.(z0, z1)) 35.16/11.01 U3_AG(.(z0, z1), membercD_out_ag(x1, .(z0, z1))) -> MEMBERSC_IN_AG(.(z0, z1)) 35.16/11.01 35.16/11.01 The TRS R consists of the following rules: 35.16/11.01 35.16/11.01 membercD_in_ag(.(X1, X2)) -> membercD_out_ag(X1, .(X1, X2)) 35.16/11.01 membercD_in_ag(.(X2, X3)) -> U18_ag(X2, X3, membercD_in_ag(X3)) 35.16/11.01 U18_ag(X2, X3, membercD_out_ag(X1, X3)) -> membercD_out_ag(X1, .(X2, X3)) 35.16/11.01 35.16/11.01 The set Q consists of the following terms: 35.16/11.01 35.16/11.01 membercD_in_ag(x0) 35.16/11.01 U18_ag(x0, x1, x2) 35.16/11.01 35.16/11.01 We have to consider all (P,Q,R)-chains. 35.16/11.01 ---------------------------------------- 35.16/11.01 35.16/11.01 (115) 35.16/11.01 Obligation: 35.16/11.01 Pi DP problem: 35.16/11.01 The TRS P consists of the following rules: 35.16/11.01 35.16/11.01 SELECTA_IN_AGA(X1, .(X2, X3), .(X2, X4)) -> SELECTA_IN_AGA(X1, X3, X4) 35.16/11.01 35.16/11.01 The TRS R consists of the following rules: 35.16/11.01 35.16/11.01 selectcA_in_aga(X1, .(X1, X2), X2) -> selectcA_out_aga(X1, .(X1, X2), X2) 35.16/11.01 selectcA_in_aga(X1, .(X2, X3), .(X2, X4)) -> U12_aga(X1, X2, X3, X4, selectcA_in_aga(X1, X3, X4)) 35.16/11.01 U12_aga(X1, X2, X3, X4, selectcA_out_aga(X1, X3, X4)) -> selectcA_out_aga(X1, .(X2, X3), .(X2, X4)) 35.16/11.01 membercD_in_ag(X1, .(X1, X2)) -> membercD_out_ag(X1, .(X1, X2)) 35.16/11.01 membercD_in_ag(X1, .(X2, X3)) -> U18_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 35.16/11.01 U18_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> membercD_out_ag(X1, .(X2, X3)) 35.16/11.01 memberscC_in_ag(.(X1, X2), X3) -> U16_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 35.16/11.01 U16_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> U17_ag(X1, X2, X3, memberscC_in_ag(X2, X3)) 35.16/11.01 memberscC_in_ag([], X1) -> memberscC_out_ag([], X1) 35.16/11.01 U17_ag(X1, X2, X3, memberscC_out_ag(X2, X3)) -> memberscC_out_ag(.(X1, X2), X3) 35.16/11.01 35.16/11.01 The argument filtering Pi contains the following mapping: 35.16/11.01 .(x1, x2) = .(x1, x2) 35.16/11.01 35.16/11.01 selectcA_in_aga(x1, x2, x3) = selectcA_in_aga(x2) 35.16/11.01 35.16/11.01 selectcA_out_aga(x1, x2, x3) = selectcA_out_aga(x1, x2, x3) 35.16/11.01 35.16/11.01 U12_aga(x1, x2, x3, x4, x5) = U12_aga(x2, x3, x5) 35.16/11.01 35.16/11.01 membercD_in_ag(x1, x2) = membercD_in_ag(x2) 35.16/11.01 35.16/11.01 membercD_out_ag(x1, x2) = membercD_out_ag(x1, x2) 35.16/11.01 35.16/11.01 U18_ag(x1, x2, x3, x4) = U18_ag(x2, x3, x4) 35.16/11.01 35.16/11.01 memberscC_in_ag(x1, x2) = memberscC_in_ag(x2) 35.16/11.01 35.16/11.01 U16_ag(x1, x2, x3, x4) = U16_ag(x3, x4) 35.16/11.01 35.16/11.01 U17_ag(x1, x2, x3, x4) = U17_ag(x1, x3, x4) 35.16/11.01 35.16/11.01 memberscC_out_ag(x1, x2) = memberscC_out_ag(x1, x2) 35.16/11.01 35.16/11.01 SELECTA_IN_AGA(x1, x2, x3) = SELECTA_IN_AGA(x2) 35.16/11.01 35.16/11.01 35.16/11.01 We have to consider all (P,R,Pi)-chains 35.16/11.01 ---------------------------------------- 35.16/11.01 35.16/11.01 (116) UsableRulesProof (EQUIVALENT) 35.16/11.01 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 35.16/11.01 ---------------------------------------- 35.16/11.01 35.16/11.01 (117) 35.16/11.01 Obligation: 35.16/11.01 Pi DP problem: 35.16/11.01 The TRS P consists of the following rules: 35.16/11.01 35.16/11.01 SELECTA_IN_AGA(X1, .(X2, X3), .(X2, X4)) -> SELECTA_IN_AGA(X1, X3, X4) 35.16/11.01 35.16/11.01 R is empty. 35.16/11.01 The argument filtering Pi contains the following mapping: 35.16/11.01 .(x1, x2) = .(x1, x2) 35.16/11.01 35.16/11.01 SELECTA_IN_AGA(x1, x2, x3) = SELECTA_IN_AGA(x2) 35.16/11.01 35.16/11.01 35.16/11.01 We have to consider all (P,R,Pi)-chains 35.16/11.01 ---------------------------------------- 35.16/11.01 35.16/11.01 (118) 35.16/11.01 Obligation: 35.16/11.01 Pi DP problem: 35.16/11.01 The TRS P consists of the following rules: 35.16/11.01 35.16/11.01 COLOR_MAPB_IN_AG(l(region(X1, X2, X3), X4), X5) -> U7_AG(X1, X2, X3, X4, X5, selectcA_in_aga(X2, X5, X6)) 35.16/11.01 U7_AG(X1, X2, X3, X4, X5, selectcA_out_aga(X2, X5, X6)) -> U9_AG(X1, X2, X3, X4, X5, memberscC_in_ag(X3, X6)) 35.16/11.01 U9_AG(X1, X2, X3, X4, X5, memberscC_out_ag(X3, X6)) -> COLOR_MAPB_IN_AG(X4, X5) 35.16/11.01 35.16/11.01 The TRS R consists of the following rules: 35.16/11.01 35.16/11.01 selectcA_in_aga(X1, .(X1, X2), X2) -> selectcA_out_aga(X1, .(X1, X2), X2) 35.16/11.01 selectcA_in_aga(X1, .(X2, X3), .(X2, X4)) -> U12_aga(X1, X2, X3, X4, selectcA_in_aga(X1, X3, X4)) 35.16/11.01 U12_aga(X1, X2, X3, X4, selectcA_out_aga(X1, X3, X4)) -> selectcA_out_aga(X1, .(X2, X3), .(X2, X4)) 35.16/11.01 membercD_in_ag(X1, .(X1, X2)) -> membercD_out_ag(X1, .(X1, X2)) 35.16/11.01 membercD_in_ag(X1, .(X2, X3)) -> U18_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 35.16/11.01 U18_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> membercD_out_ag(X1, .(X2, X3)) 35.16/11.01 memberscC_in_ag(.(X1, X2), X3) -> U16_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 35.16/11.01 U16_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> U17_ag(X1, X2, X3, memberscC_in_ag(X2, X3)) 35.16/11.01 memberscC_in_ag([], X1) -> memberscC_out_ag([], X1) 35.16/11.01 U17_ag(X1, X2, X3, memberscC_out_ag(X2, X3)) -> memberscC_out_ag(.(X1, X2), X3) 35.16/11.01 35.16/11.01 The argument filtering Pi contains the following mapping: 35.16/11.01 .(x1, x2) = .(x1, x2) 35.16/11.01 35.16/11.01 region(x1, x2, x3) = region(x2, x3) 35.16/11.01 35.16/11.01 selectcA_in_aga(x1, x2, x3) = selectcA_in_aga(x2) 35.16/11.01 35.16/11.01 selectcA_out_aga(x1, x2, x3) = selectcA_out_aga(x1, x2, x3) 35.16/11.01 35.16/11.01 U12_aga(x1, x2, x3, x4, x5) = U12_aga(x2, x3, x5) 35.16/11.01 35.16/11.01 membercD_in_ag(x1, x2) = membercD_in_ag(x2) 35.16/11.01 35.16/11.01 membercD_out_ag(x1, x2) = membercD_out_ag(x1, x2) 35.16/11.01 35.16/11.01 U18_ag(x1, x2, x3, x4) = U18_ag(x2, x3, x4) 35.16/11.01 35.16/11.01 memberscC_in_ag(x1, x2) = memberscC_in_ag(x2) 35.16/11.01 35.16/11.01 U16_ag(x1, x2, x3, x4) = U16_ag(x3, x4) 35.16/11.01 35.16/11.01 U17_ag(x1, x2, x3, x4) = U17_ag(x1, x3, x4) 35.16/11.01 35.16/11.01 memberscC_out_ag(x1, x2) = memberscC_out_ag(x1, x2) 35.16/11.01 35.16/11.01 COLOR_MAPB_IN_AG(x1, x2) = COLOR_MAPB_IN_AG(x2) 35.16/11.01 35.16/11.01 U7_AG(x1, x2, x3, x4, x5, x6) = U7_AG(x5, x6) 35.16/11.01 35.16/11.01 U9_AG(x1, x2, x3, x4, x5, x6) = U9_AG(x5, x6) 35.16/11.01 35.16/11.01 35.16/11.01 We have to consider all (P,R,Pi)-chains 35.16/11.01 ---------------------------------------- 35.16/11.01 35.16/11.01 (119) PrologToIRSwTTransformerProof (SOUND) 35.16/11.01 Transformed Prolog program to IRSwT according to method in Master Thesis of A. Weinert 35.16/11.01 35.16/11.01 { 35.16/11.01 "root": 3, 35.16/11.01 "program": { 35.16/11.01 "directives": [], 35.16/11.01 "clauses": [ 35.16/11.01 [ 35.16/11.01 "(color_map (l Region Regions) Colors)", 35.16/11.01 "(',' (color_region Region Colors) (color_map Regions Colors))" 35.16/11.01 ], 35.16/11.01 [ 35.16/11.01 "(color_map (nil) Colors)", 35.16/11.01 null 35.16/11.01 ], 35.16/11.01 [ 35.16/11.01 "(color_region (region Name Color Neighbors) Colors)", 35.16/11.01 "(',' (select Color Colors Colors1) (members Neighbors Colors1))" 35.16/11.01 ], 35.16/11.01 [ 35.16/11.01 "(select X (. X Xs) Xs)", 35.16/11.01 null 35.16/11.01 ], 35.16/11.01 [ 35.16/11.01 "(select X (. Y Ys) (. Y Zs))", 35.16/11.01 "(select X Ys Zs)" 35.16/11.01 ], 35.16/11.01 [ 35.16/11.01 "(members (. X Xs) Ys)", 35.16/11.01 "(',' (member X Ys) (members Xs Ys))" 35.16/11.01 ], 35.16/11.01 [ 35.16/11.01 "(members ([]) Ys)", 35.16/11.01 null 35.16/11.01 ], 35.16/11.01 [ 35.16/11.01 "(member X (. X X1))", 35.16/11.01 null 35.16/11.01 ], 35.16/11.01 [ 35.16/11.01 "(member X (. X2 T))", 35.16/11.01 "(member X T)" 35.16/11.01 ], 35.16/11.01 [ 35.16/11.01 "(test_color Name Map)", 35.16/11.01 "(',' (map Name Map) (',' (colors Name Colors) (color_map Map Colors)))" 35.16/11.01 ], 35.16/11.01 [ 35.16/11.01 "(map (test) (l (region (a) A (. B (. C (. D ([]))))) (l (region (b) B (. A (. C (. E ([]))))) (l (region (c) C (. A (. B (. D (. E (. F ([]))))))) (l (region (d) D (. A (. C (. F ([]))))) (l (region (e) E (. B (. C (. F ([]))))) (l (region (f) F (. C (. D (. E ([]))))) (nil))))))))", 35.16/11.01 null 35.16/11.01 ], 35.16/11.01 [ 35.16/11.01 "(colors X (. (red) (. (yellow) (. (blue) (. (white) ([]))))))", 35.16/11.01 null 35.16/11.01 ] 35.16/11.01 ] 35.16/11.01 }, 35.16/11.01 "graph": { 35.16/11.01 "nodes": { 35.16/11.01 "type": "Nodes", 35.16/11.01 "470": { 35.16/11.01 "goal": [{ 35.16/11.01 "clause": -1, 35.16/11.01 "scope": -1, 35.16/11.01 "term": "(members T48 T47)" 35.16/11.01 }], 35.16/11.01 "kb": { 35.16/11.01 "nonunifying": [], 35.16/11.01 "intvars": {}, 35.16/11.01 "arithmetic": { 35.16/11.01 "type": "PlainIntegerRelationState", 35.16/11.01 "relations": [] 35.16/11.01 }, 35.16/11.01 "ground": ["T47"], 35.16/11.01 "free": [], 35.16/11.01 "exprvars": [] 35.16/11.01 } 35.16/11.01 }, 35.16/11.01 "471": { 35.16/11.01 "goal": [ 35.16/11.01 { 35.16/11.01 "clause": 3, 35.16/11.01 "scope": 3, 35.16/11.01 "term": "(select T41 T40 X41)" 35.16/11.01 }, 35.16/11.01 { 35.16/11.01 "clause": 4, 35.16/11.01 "scope": 3, 35.16/11.01 "term": "(select T41 T40 X41)" 35.16/11.01 } 35.16/11.01 ], 35.16/11.01 "kb": { 35.16/11.01 "nonunifying": [], 35.16/11.01 "intvars": {}, 35.16/11.01 "arithmetic": { 35.16/11.01 "type": "PlainIntegerRelationState", 35.16/11.01 "relations": [] 35.16/11.01 }, 35.16/11.01 "ground": ["T40"], 35.16/11.01 "free": ["X41"], 35.16/11.01 "exprvars": [] 35.16/11.01 } 35.16/11.01 }, 35.16/11.01 "472": { 35.16/11.01 "goal": [{ 35.16/11.01 "clause": 3, 35.16/11.01 "scope": 3, 35.16/11.01 "term": "(select T41 T40 X41)" 35.16/11.01 }], 35.16/11.01 "kb": { 35.16/11.01 "nonunifying": [], 35.16/11.01 "intvars": {}, 35.16/11.01 "arithmetic": { 35.16/11.01 "type": "PlainIntegerRelationState", 35.16/11.01 "relations": [] 35.16/11.01 }, 35.16/11.01 "ground": ["T40"], 35.16/11.01 "free": ["X41"], 35.16/11.01 "exprvars": [] 35.16/11.01 } 35.16/11.01 }, 35.16/11.01 "473": { 35.16/11.01 "goal": [{ 35.16/11.01 "clause": 4, 35.16/11.01 "scope": 3, 35.16/11.01 "term": "(select T41 T40 X41)" 35.16/11.01 }], 35.16/11.01 "kb": { 35.16/11.01 "nonunifying": [], 35.16/11.01 "intvars": {}, 35.16/11.01 "arithmetic": { 35.16/11.01 "type": "PlainIntegerRelationState", 35.16/11.01 "relations": [] 35.16/11.01 }, 35.16/11.01 "ground": ["T40"], 35.16/11.01 "free": ["X41"], 35.16/11.01 "exprvars": [] 35.16/11.01 } 35.16/11.01 }, 35.16/11.01 "550": { 35.16/11.01 "goal": [{ 35.16/11.01 "clause": 8, 35.16/11.01 "scope": 5, 35.16/11.01 "term": "(member T95 T94)" 35.16/11.01 }], 35.16/11.01 "kb": { 35.16/11.01 "nonunifying": [], 35.16/11.01 "intvars": {}, 35.16/11.01 "arithmetic": { 35.16/11.01 "type": "PlainIntegerRelationState", 35.16/11.01 "relations": [] 35.16/11.01 }, 35.16/11.01 "ground": ["T94"], 35.16/11.01 "free": [], 35.16/11.01 "exprvars": [] 35.16/11.01 } 35.16/11.01 }, 35.16/11.01 "474": { 35.16/11.01 "goal": [{ 35.16/11.01 "clause": -1, 35.16/11.01 "scope": -1, 35.16/11.01 "term": "(true)" 35.16/11.01 }], 35.16/11.01 "kb": { 35.16/11.01 "nonunifying": [], 35.16/11.01 "intvars": {}, 35.16/11.01 "arithmetic": { 35.16/11.01 "type": "PlainIntegerRelationState", 35.16/11.01 "relations": [] 35.16/11.01 }, 35.16/11.01 "ground": [], 35.16/11.01 "free": [], 35.16/11.01 "exprvars": [] 35.16/11.01 } 35.16/11.01 }, 35.16/11.01 "551": { 35.16/11.01 "goal": [{ 35.16/11.01 "clause": -1, 35.16/11.01 "scope": -1, 35.16/11.01 "term": "(true)" 35.16/11.01 }], 35.16/11.01 "kb": { 35.16/11.01 "nonunifying": [], 35.16/11.01 "intvars": {}, 35.16/11.01 "arithmetic": { 35.16/11.01 "type": "PlainIntegerRelationState", 35.16/11.01 "relations": [] 35.16/11.01 }, 35.16/11.01 "ground": [], 35.16/11.01 "free": [], 35.16/11.01 "exprvars": [] 35.16/11.01 } 35.16/11.01 }, 35.16/11.01 "497": { 35.16/11.01 "goal": [{ 35.16/11.01 "clause": -1, 35.16/11.01 "scope": -1, 35.16/11.01 "term": "(select T72 T71 X74)" 35.16/11.01 }], 35.16/11.01 "kb": { 35.16/11.01 "nonunifying": [], 35.16/11.01 "intvars": {}, 35.16/11.01 "arithmetic": { 35.16/11.01 "type": "PlainIntegerRelationState", 35.16/11.01 "relations": [] 35.16/11.01 }, 35.16/11.01 "ground": ["T71"], 35.16/11.01 "free": ["X74"], 35.16/11.01 "exprvars": [] 35.16/11.01 } 35.16/11.01 }, 35.16/11.01 "552": { 35.16/11.01 "goal": [], 35.16/11.01 "kb": { 35.16/11.01 "nonunifying": [], 35.16/11.01 "intvars": {}, 35.16/11.01 "arithmetic": { 35.16/11.01 "type": "PlainIntegerRelationState", 35.16/11.01 "relations": [] 35.16/11.01 }, 35.16/11.01 "ground": [], 35.16/11.01 "free": [], 35.16/11.01 "exprvars": [] 35.16/11.01 } 35.16/11.01 }, 35.16/11.01 "476": { 35.16/11.01 "goal": [], 35.16/11.01 "kb": { 35.16/11.01 "nonunifying": [], 35.16/11.01 "intvars": {}, 35.16/11.01 "arithmetic": { 35.16/11.01 "type": "PlainIntegerRelationState", 35.16/11.01 "relations": [] 35.16/11.01 }, 35.16/11.01 "ground": [], 35.16/11.01 "free": [], 35.16/11.01 "exprvars": [] 35.16/11.01 } 35.16/11.01 }, 35.16/11.01 "553": { 35.16/11.01 "goal": [], 35.16/11.01 "kb": { 35.16/11.01 "nonunifying": [], 35.16/11.01 "intvars": {}, 35.16/11.01 "arithmetic": { 35.16/11.01 "type": "PlainIntegerRelationState", 35.16/11.01 "relations": [] 35.16/11.01 }, 35.16/11.01 "ground": [], 35.16/11.01 "free": [], 35.16/11.01 "exprvars": [] 35.16/11.01 } 35.16/11.01 }, 35.16/11.01 "455": { 35.16/11.01 "goal": [{ 35.16/11.01 "clause": 2, 35.16/11.01 "scope": 2, 35.16/11.01 "term": "(color_region T18 T17)" 35.16/11.01 }], 35.16/11.01 "kb": { 35.16/11.01 "nonunifying": [], 35.16/11.01 "intvars": {}, 35.16/11.01 "arithmetic": { 35.16/11.01 "type": "PlainIntegerRelationState", 35.16/11.01 "relations": [] 35.16/11.01 }, 35.16/11.01 "ground": ["T17"], 35.16/11.01 "free": [], 35.16/11.01 "exprvars": [] 35.16/11.01 } 35.16/11.01 }, 35.16/11.01 "554": { 35.16/11.01 "goal": [{ 35.16/11.01 "clause": -1, 35.16/11.01 "scope": -1, 35.16/11.01 "term": "(member T125 T124)" 35.16/11.01 }], 35.16/11.01 "kb": { 35.16/11.01 "nonunifying": [], 35.16/11.01 "intvars": {}, 35.16/11.01 "arithmetic": { 35.16/11.01 "type": "PlainIntegerRelationState", 35.16/11.01 "relations": [] 35.16/11.01 }, 35.16/11.01 "ground": ["T124"], 35.16/11.01 "free": [], 35.16/11.01 "exprvars": [] 35.16/11.01 } 35.16/11.01 }, 35.16/11.01 "478": { 35.16/11.01 "goal": [], 35.16/11.01 "kb": { 35.16/11.01 "nonunifying": [], 35.16/11.01 "intvars": {}, 35.16/11.01 "arithmetic": { 35.16/11.01 "type": "PlainIntegerRelationState", 35.16/11.01 "relations": [] 35.16/11.01 }, 35.16/11.01 "ground": [], 35.16/11.01 "free": [], 35.16/11.01 "exprvars": [] 35.16/11.01 } 35.16/11.01 }, 35.16/11.01 "555": { 35.16/11.01 "goal": [], 35.16/11.01 "kb": { 35.16/11.01 "nonunifying": [], 35.16/11.01 "intvars": {}, 35.16/11.01 "arithmetic": { 35.16/11.01 "type": "PlainIntegerRelationState", 35.16/11.01 "relations": [] 35.16/11.01 }, 35.16/11.01 "ground": [], 35.16/11.01 "free": [], 35.16/11.01 "exprvars": [] 35.16/11.01 } 35.16/11.01 }, 35.16/11.01 "556": { 35.16/11.01 "goal": [{ 35.16/11.01 "clause": -1, 35.16/11.01 "scope": -1, 35.16/11.01 "term": "(true)" 35.16/11.01 }], 35.16/11.01 "kb": { 35.16/11.01 "nonunifying": [], 35.16/11.01 "intvars": {}, 35.16/11.01 "arithmetic": { 35.16/11.01 "type": "PlainIntegerRelationState", 35.16/11.01 "relations": [] 35.16/11.01 }, 35.16/11.01 "ground": [], 35.16/11.01 "free": [], 35.16/11.01 "exprvars": [] 35.16/11.01 } 35.16/11.01 }, 35.16/11.01 "535": { 35.16/11.01 "goal": [ 35.16/11.01 { 35.16/11.01 "clause": 5, 35.16/11.01 "scope": 4, 35.16/11.01 "term": "(members T48 T47)" 35.16/11.01 }, 35.16/11.01 { 35.16/11.01 "clause": 6, 35.16/11.01 "scope": 4, 35.16/11.01 "term": "(members T48 T47)" 35.16/11.01 } 35.16/11.01 ], 35.16/11.01 "kb": { 35.16/11.01 "nonunifying": [], 35.16/11.01 "intvars": {}, 35.16/11.01 "arithmetic": { 35.16/11.01 "type": "PlainIntegerRelationState", 35.16/11.01 "relations": [] 35.16/11.01 }, 35.16/11.01 "ground": ["T47"], 35.16/11.01 "free": [], 35.16/11.01 "exprvars": [] 35.16/11.01 } 35.16/11.01 }, 35.16/11.01 "557": { 35.16/11.01 "goal": [], 35.16/11.01 "kb": { 35.16/11.01 "nonunifying": [], 35.16/11.01 "intvars": {}, 35.16/11.01 "arithmetic": { 35.16/11.01 "type": "PlainIntegerRelationState", 35.16/11.01 "relations": [] 35.16/11.01 }, 35.16/11.01 "ground": [], 35.16/11.01 "free": [], 35.16/11.01 "exprvars": [] 35.16/11.01 } 35.16/11.01 }, 35.16/11.01 "558": { 35.16/11.01 "goal": [], 35.16/11.01 "kb": { 35.16/11.01 "nonunifying": [], 35.16/11.01 "intvars": {}, 35.16/11.01 "arithmetic": { 35.16/11.01 "type": "PlainIntegerRelationState", 35.16/11.01 "relations": [] 35.16/11.01 }, 35.16/11.01 "ground": [], 35.16/11.01 "free": [], 35.16/11.01 "exprvars": [] 35.16/11.01 } 35.16/11.01 }, 35.16/11.01 "537": { 35.16/11.01 "goal": [{ 35.16/11.01 "clause": 5, 35.16/11.01 "scope": 4, 35.16/11.01 "term": "(members T48 T47)" 35.16/11.01 }], 35.16/11.01 "kb": { 35.16/11.01 "nonunifying": [], 35.16/11.01 "intvars": {}, 35.16/11.01 "arithmetic": { 35.16/11.01 "type": "PlainIntegerRelationState", 35.16/11.01 "relations": [] 35.16/11.01 }, 35.16/11.01 "ground": ["T47"], 35.16/11.01 "free": [], 35.16/11.01 "exprvars": [] 35.16/11.01 } 35.16/11.01 }, 35.16/11.01 "559": { 35.16/11.01 "goal": [{ 35.16/11.01 "clause": -1, 35.16/11.01 "scope": -1, 35.16/11.01 "term": "(true)" 35.16/11.01 }], 35.16/11.01 "kb": { 35.16/11.01 "nonunifying": [], 35.16/11.01 "intvars": {}, 35.16/11.01 "arithmetic": { 35.16/11.01 "type": "PlainIntegerRelationState", 35.16/11.01 "relations": [] 35.16/11.01 }, 35.16/11.01 "ground": [], 35.16/11.01 "free": [], 35.16/11.01 "exprvars": [] 35.16/11.01 } 35.16/11.01 }, 35.16/11.01 "538": { 35.16/11.01 "goal": [{ 35.16/11.01 "clause": 6, 35.16/11.01 "scope": 4, 35.16/11.01 "term": "(members T48 T47)" 35.16/11.01 }], 35.16/11.01 "kb": { 35.16/11.01 "nonunifying": [], 35.16/11.01 "intvars": {}, 35.16/11.01 "arithmetic": { 35.16/11.01 "type": "PlainIntegerRelationState", 35.16/11.01 "relations": [] 35.16/11.01 }, 35.16/11.01 "ground": ["T47"], 35.16/11.01 "free": [], 35.16/11.01 "exprvars": [] 35.16/11.01 } 35.16/11.01 }, 35.16/11.01 "10": { 35.16/11.01 "goal": [{ 35.16/11.01 "clause": 1, 35.16/11.01 "scope": 1, 35.16/11.01 "term": "(color_map T1 T2)" 35.16/11.01 }], 35.16/11.01 "kb": { 35.16/11.01 "nonunifying": [], 35.16/11.01 "intvars": {}, 35.16/11.01 "arithmetic": { 35.16/11.01 "type": "PlainIntegerRelationState", 35.16/11.01 "relations": [] 35.16/11.01 }, 35.16/11.01 "ground": ["T2"], 35.16/11.01 "free": [], 35.16/11.01 "exprvars": [] 35.16/11.01 } 35.16/11.01 }, 35.16/11.01 "37": { 35.16/11.01 "goal": [{ 35.16/11.01 "clause": -1, 35.16/11.01 "scope": -1, 35.16/11.01 "term": "(',' (color_region T18 T17) (color_map T19 T17))" 35.16/11.01 }], 35.16/11.01 "kb": { 35.16/11.01 "nonunifying": [], 35.16/11.01 "intvars": {}, 35.16/11.01 "arithmetic": { 35.16/11.01 "type": "PlainIntegerRelationState", 35.16/11.01 "relations": [] 35.16/11.01 }, 35.16/11.01 "ground": ["T17"], 35.16/11.01 "free": [], 35.16/11.01 "exprvars": [] 35.16/11.01 } 35.16/11.01 }, 35.16/11.01 "38": { 35.16/11.01 "goal": [], 35.16/11.01 "kb": { 35.16/11.01 "nonunifying": [], 35.16/11.01 "intvars": {}, 35.16/11.01 "arithmetic": { 35.16/11.01 "type": "PlainIntegerRelationState", 35.16/11.01 "relations": [] 35.16/11.01 }, 35.16/11.01 "ground": [], 35.16/11.01 "free": [], 35.16/11.01 "exprvars": [] 35.16/11.01 } 35.16/11.01 }, 35.16/11.01 "39": { 35.16/11.01 "goal": [{ 35.16/11.01 "clause": -1, 35.16/11.01 "scope": -1, 35.16/11.01 "term": "(color_region T18 T17)" 35.16/11.01 }], 35.16/11.01 "kb": { 35.16/11.01 "nonunifying": [], 35.16/11.01 "intvars": {}, 35.16/11.01 "arithmetic": { 35.16/11.01 "type": "PlainIntegerRelationState", 35.16/11.01 "relations": [] 35.16/11.01 }, 35.16/11.01 "ground": ["T17"], 35.16/11.01 "free": [], 35.16/11.01 "exprvars": [] 35.16/11.01 } 35.16/11.01 }, 35.16/11.01 "560": { 35.16/11.01 "goal": [], 35.16/11.01 "kb": { 35.16/11.01 "nonunifying": [], 35.16/11.01 "intvars": {}, 35.16/11.01 "arithmetic": { 35.16/11.01 "type": "PlainIntegerRelationState", 35.16/11.01 "relations": [] 35.16/11.01 }, 35.16/11.01 "ground": [], 35.16/11.01 "free": [], 35.16/11.01 "exprvars": [] 35.16/11.01 } 35.16/11.01 }, 35.16/11.01 "561": { 35.16/11.01 "goal": [], 35.16/11.01 "kb": { 35.16/11.01 "nonunifying": [], 35.16/11.01 "intvars": {}, 35.16/11.01 "arithmetic": { 35.16/11.01 "type": "PlainIntegerRelationState", 35.16/11.01 "relations": [] 35.16/11.01 }, 35.16/11.01 "ground": [], 35.16/11.01 "free": [], 35.16/11.01 "exprvars": [] 35.16/11.01 } 35.16/11.01 }, 35.16/11.01 "3": { 35.16/11.01 "goal": [{ 35.16/11.01 "clause": -1, 35.16/11.01 "scope": -1, 35.16/11.01 "term": "(color_map T1 T2)" 35.16/11.01 }], 35.16/11.01 "kb": { 35.16/11.01 "nonunifying": [], 35.16/11.01 "intvars": {}, 35.16/11.01 "arithmetic": { 35.16/11.01 "type": "PlainIntegerRelationState", 35.16/11.01 "relations": [] 35.16/11.01 }, 35.16/11.01 "ground": ["T2"], 35.16/11.01 "free": [], 35.16/11.01 "exprvars": [] 35.16/11.01 } 35.16/11.01 }, 35.16/11.01 "542": { 35.16/11.01 "goal": [{ 35.16/11.01 "clause": -1, 35.16/11.01 "scope": -1, 35.16/11.01 "term": "(',' (member T95 T94) (members T96 T94))" 35.16/11.01 }], 35.16/11.01 "kb": { 35.16/11.01 "nonunifying": [], 35.16/11.01 "intvars": {}, 35.16/11.01 "arithmetic": { 35.16/11.01 "type": "PlainIntegerRelationState", 35.16/11.01 "relations": [] 35.16/11.01 }, 35.16/11.01 "ground": ["T94"], 35.16/11.01 "free": [], 35.16/11.01 "exprvars": [] 35.16/11.01 } 35.16/11.01 }, 35.16/11.01 "4": { 35.16/11.01 "goal": [ 35.16/11.01 { 35.16/11.01 "clause": 0, 35.16/11.01 "scope": 1, 35.16/11.01 "term": "(color_map T1 T2)" 35.16/11.01 }, 35.16/11.01 { 35.16/11.01 "clause": 1, 35.16/11.01 "scope": 1, 35.16/11.01 "term": "(color_map T1 T2)" 35.16/11.01 } 35.16/11.01 ], 35.16/11.01 "kb": { 35.16/11.01 "nonunifying": [], 35.16/11.01 "intvars": {}, 35.16/11.01 "arithmetic": { 35.16/11.01 "type": "PlainIntegerRelationState", 35.16/11.01 "relations": [] 35.16/11.01 }, 35.16/11.01 "ground": ["T2"], 35.16/11.01 "free": [], 35.16/11.01 "exprvars": [] 35.16/11.01 } 35.16/11.01 }, 35.16/11.01 "466": { 35.16/11.01 "goal": [{ 35.16/11.01 "clause": -1, 35.16/11.01 "scope": -1, 35.16/11.01 "term": "(',' (select T41 T40 X41) (members T42 X41))" 35.16/11.01 }], 35.16/11.01 "kb": { 35.16/11.01 "nonunifying": [], 35.16/11.01 "intvars": {}, 35.16/11.01 "arithmetic": { 35.16/11.01 "type": "PlainIntegerRelationState", 35.16/11.01 "relations": [] 35.16/11.01 }, 35.16/11.01 "ground": ["T40"], 35.16/11.01 "free": ["X41"], 35.16/11.01 "exprvars": [] 35.16/11.01 } 35.16/11.01 }, 35.16/11.01 "543": { 35.16/11.01 "goal": [], 35.16/11.01 "kb": { 35.16/11.01 "nonunifying": [], 35.16/11.01 "intvars": {}, 35.16/11.01 "arithmetic": { 35.16/11.01 "type": "PlainIntegerRelationState", 35.16/11.01 "relations": [] 35.16/11.01 }, 35.16/11.01 "ground": [], 35.16/11.01 "free": [], 35.16/11.01 "exprvars": [] 35.16/11.01 } 35.16/11.01 }, 35.16/11.01 "500": { 35.16/11.01 "goal": [], 35.16/11.01 "kb": { 35.16/11.01 "nonunifying": [], 35.16/11.01 "intvars": {}, 35.16/11.01 "arithmetic": { 35.16/11.01 "type": "PlainIntegerRelationState", 35.16/11.01 "relations": [] 35.16/11.01 }, 35.16/11.01 "ground": [], 35.16/11.01 "free": [], 35.16/11.01 "exprvars": [] 35.16/11.01 } 35.16/11.01 }, 35.16/11.01 "468": { 35.16/11.01 "goal": [], 35.16/11.01 "kb": { 35.16/11.01 "nonunifying": [], 35.16/11.01 "intvars": {}, 35.16/11.01 "arithmetic": { 35.16/11.01 "type": "PlainIntegerRelationState", 35.16/11.01 "relations": [] 35.16/11.01 }, 35.16/11.01 "ground": [], 35.16/11.01 "free": [], 35.16/11.01 "exprvars": [] 35.16/11.01 } 35.16/11.01 }, 35.16/11.01 "469": { 35.16/11.01 "goal": [{ 35.16/11.01 "clause": -1, 35.16/11.01 "scope": -1, 35.16/11.01 "term": "(select T41 T40 X41)" 35.16/11.01 }], 35.16/11.01 "kb": { 35.16/11.01 "nonunifying": [], 35.16/11.01 "intvars": {}, 35.16/11.01 "arithmetic": { 35.16/11.01 "type": "PlainIntegerRelationState", 35.16/11.01 "relations": [] 35.16/11.01 }, 35.16/11.01 "ground": ["T40"], 35.16/11.01 "free": ["X41"], 35.16/11.01 "exprvars": [] 35.16/11.01 } 35.16/11.01 }, 35.16/11.01 "546": { 35.16/11.01 "goal": [{ 35.16/11.01 "clause": -1, 35.16/11.01 "scope": -1, 35.16/11.01 "term": "(member T95 T94)" 35.16/11.01 }], 35.16/11.01 "kb": { 35.16/11.01 "nonunifying": [], 35.16/11.01 "intvars": {}, 35.16/11.01 "arithmetic": { 35.16/11.01 "type": "PlainIntegerRelationState", 35.16/11.01 "relations": [] 35.16/11.01 }, 35.16/11.01 "ground": ["T94"], 35.16/11.01 "free": [], 35.16/11.01 "exprvars": [] 35.16/11.01 } 35.16/11.01 }, 35.16/11.01 "547": { 35.16/11.01 "goal": [{ 35.16/11.01 "clause": -1, 35.16/11.01 "scope": -1, 35.16/11.01 "term": "(members T101 T94)" 35.16/11.01 }], 35.16/11.01 "kb": { 35.16/11.01 "nonunifying": [], 35.16/11.01 "intvars": {}, 35.16/11.01 "arithmetic": { 35.16/11.01 "type": "PlainIntegerRelationState", 35.16/11.01 "relations": [] 35.16/11.01 }, 35.16/11.01 "ground": ["T94"], 35.16/11.01 "free": [], 35.16/11.01 "exprvars": [] 35.16/11.01 } 35.16/11.01 }, 35.16/11.01 "9": { 35.16/11.01 "goal": [{ 35.16/11.01 "clause": 0, 35.16/11.01 "scope": 1, 35.16/11.01 "term": "(color_map T1 T2)" 35.16/11.01 }], 35.16/11.01 "kb": { 35.16/11.01 "nonunifying": [], 35.16/11.01 "intvars": {}, 35.16/11.01 "arithmetic": { 35.16/11.01 "type": "PlainIntegerRelationState", 35.16/11.01 "relations": [] 35.16/11.01 }, 35.16/11.01 "ground": ["T2"], 35.16/11.01 "free": [], 35.16/11.01 "exprvars": [] 35.16/11.01 } 35.16/11.01 }, 35.16/11.01 "548": { 35.16/11.01 "goal": [ 35.16/11.01 { 35.16/11.01 "clause": 7, 35.16/11.01 "scope": 5, 35.16/11.01 "term": "(member T95 T94)" 35.16/11.01 }, 35.16/11.01 { 35.16/11.01 "clause": 8, 35.16/11.01 "scope": 5, 35.16/11.01 "term": "(member T95 T94)" 35.16/11.01 } 35.16/11.01 ], 35.16/11.01 "kb": { 35.16/11.01 "nonunifying": [], 35.16/11.01 "intvars": {}, 35.16/11.01 "arithmetic": { 35.16/11.01 "type": "PlainIntegerRelationState", 35.16/11.01 "relations": [] 35.16/11.01 }, 35.16/11.01 "ground": ["T94"], 35.16/11.01 "free": [], 35.16/11.01 "exprvars": [] 35.16/11.01 } 35.16/11.01 }, 35.16/11.01 "549": { 35.16/11.01 "goal": [{ 35.16/11.01 "clause": 7, 35.16/11.01 "scope": 5, 35.16/11.01 "term": "(member T95 T94)" 35.16/11.01 }], 35.16/11.01 "kb": { 35.16/11.01 "nonunifying": [], 35.16/11.01 "intvars": {}, 35.16/11.01 "arithmetic": { 35.16/11.01 "type": "PlainIntegerRelationState", 35.16/11.01 "relations": [] 35.16/11.01 }, 35.16/11.01 "ground": ["T94"], 35.16/11.01 "free": [], 35.16/11.01 "exprvars": [] 35.16/11.01 } 35.16/11.01 }, 35.16/11.01 "40": { 35.16/11.01 "goal": [{ 35.16/11.01 "clause": -1, 35.16/11.01 "scope": -1, 35.16/11.01 "term": "(color_map T24 T17)" 35.16/11.01 }], 35.16/11.01 "kb": { 35.16/11.01 "nonunifying": [], 35.16/11.01 "intvars": {}, 35.16/11.01 "arithmetic": { 35.16/11.01 "type": "PlainIntegerRelationState", 35.16/11.01 "relations": [] 35.16/11.01 }, 35.16/11.01 "ground": ["T17"], 35.16/11.01 "free": [], 35.16/11.01 "exprvars": [] 35.16/11.01 } 35.16/11.01 } 35.16/11.01 }, 35.16/11.01 "edges": [ 35.16/11.01 { 35.16/11.01 "from": 3, 35.16/11.01 "to": 4, 35.16/11.01 "label": "CASE" 35.16/11.01 }, 35.16/11.01 { 35.16/11.01 "from": 4, 35.16/11.01 "to": 9, 35.16/11.01 "label": "PARALLEL" 35.16/11.01 }, 35.16/11.01 { 35.16/11.01 "from": 4, 35.16/11.01 "to": 10, 35.16/11.01 "label": "PARALLEL" 35.16/11.01 }, 35.16/11.01 { 35.16/11.01 "from": 9, 35.16/11.01 "to": 37, 35.16/11.01 "label": "EVAL with clause\ncolor_map(l(X15, X16), X17) :- ','(color_region(X15, X17), color_map(X16, X17)).\nand substitutionX15 -> T18,\nX16 -> T19,\nT1 -> l(T18, T19),\nT2 -> T17,\nX17 -> T17,\nT15 -> T18,\nT16 -> T19" 35.16/11.01 }, 35.16/11.01 { 35.16/11.01 "from": 9, 35.16/11.01 "to": 38, 35.16/11.01 "label": "EVAL-BACKTRACK" 35.16/11.01 }, 35.16/11.01 { 35.16/11.01 "from": 10, 35.16/11.01 "to": 559, 35.16/11.01 "label": "EVAL with clause\ncolor_map(nil, X139).\nand substitutionT1 -> nil,\nT2 -> T141,\nX139 -> T141" 35.16/11.01 }, 35.16/11.01 { 35.16/11.01 "from": 10, 35.16/11.01 "to": 560, 35.16/11.01 "label": "EVAL-BACKTRACK" 35.16/11.01 }, 35.16/11.01 { 35.16/11.01 "from": 37, 35.16/11.01 "to": 39, 35.16/11.01 "label": "SPLIT 1" 35.16/11.01 }, 35.16/11.01 { 35.16/11.01 "from": 37, 35.16/11.01 "to": 40, 35.16/11.01 "label": "SPLIT 2\nnew knowledge:\nT17 is ground\nreplacements:T19 -> T24" 35.16/11.01 }, 35.16/11.01 { 35.16/11.01 "from": 39, 35.16/11.01 "to": 455, 35.16/11.01 "label": "CASE" 35.16/11.01 }, 35.16/11.01 { 35.16/11.01 "from": 40, 35.16/11.01 "to": 3, 35.16/11.01 "label": "INSTANCE with matching:\nT1 -> T24\nT2 -> T17" 35.16/11.01 }, 35.16/11.01 { 35.16/11.01 "from": 455, 35.16/11.01 "to": 466, 35.16/11.01 "label": "EVAL with clause\ncolor_region(region(X37, X38, X39), X40) :- ','(select(X38, X40, X41), members(X39, X41)).\nand substitutionX37 -> T37,\nX38 -> T41,\nX39 -> T42,\nT18 -> region(T37, T41, T42),\nT17 -> T40,\nX40 -> T40,\nT38 -> T41,\nT39 -> T42" 35.16/11.01 }, 35.16/11.01 { 35.16/11.01 "from": 455, 35.16/11.01 "to": 468, 35.16/11.01 "label": "EVAL-BACKTRACK" 35.16/11.01 }, 35.16/11.01 { 35.16/11.01 "from": 466, 35.16/11.01 "to": 469, 35.16/11.01 "label": "SPLIT 1" 35.16/11.01 }, 35.16/11.01 { 35.16/11.01 "from": 466, 35.16/11.01 "to": 470, 35.16/11.01 "label": "SPLIT 2\nnew knowledge:\nT41 is ground\nT40 is ground\nT47 is ground\nreplacements:X41 -> T47,\nT42 -> T48" 35.16/11.01 }, 35.16/11.01 { 35.16/11.01 "from": 469, 35.16/11.01 "to": 471, 35.16/11.01 "label": "CASE" 35.16/11.01 }, 35.16/11.01 { 35.16/11.01 "from": 470, 35.16/11.01 "to": 535, 35.16/11.01 "label": "CASE" 35.16/11.01 }, 35.16/11.01 { 35.16/11.01 "from": 471, 35.16/11.01 "to": 472, 35.16/11.01 "label": "PARALLEL" 35.16/11.01 }, 35.16/11.01 { 35.16/11.01 "from": 471, 35.16/11.01 "to": 473, 35.16/11.01 "label": "PARALLEL" 35.16/11.01 }, 35.16/11.01 { 35.16/11.01 "from": 472, 35.16/11.01 "to": 474, 35.16/11.01 "label": "EVAL with clause\nselect(X58, .(X58, X59), X59).\nand substitutionT41 -> T61,\nX58 -> T61,\nX59 -> T62,\nT40 -> .(T61, T62),\nX41 -> T62" 35.16/11.01 }, 35.16/11.01 { 35.16/11.01 "from": 472, 35.16/11.01 "to": 476, 35.16/11.01 "label": "EVAL-BACKTRACK" 35.16/11.01 }, 35.16/11.01 { 35.16/11.01 "from": 473, 35.16/11.01 "to": 497, 35.16/11.01 "label": "EVAL with clause\nselect(X70, .(X71, X72), .(X71, X73)) :- select(X70, X72, X73).\nand substitutionT41 -> T72,\nX70 -> T72,\nX71 -> T70,\nX72 -> T71,\nT40 -> .(T70, T71),\nX73 -> X74,\nX41 -> .(T70, X74),\nT69 -> T72" 35.16/11.01 }, 35.16/11.01 { 35.16/11.01 "from": 473, 35.16/11.01 "to": 500, 35.16/11.01 "label": "EVAL-BACKTRACK" 35.16/11.01 }, 35.16/11.01 { 35.16/11.01 "from": 474, 35.16/11.01 "to": 478, 35.16/11.01 "label": "SUCCESS" 35.16/11.01 }, 35.16/11.01 { 35.16/11.01 "from": 497, 35.16/11.01 "to": 469, 35.16/11.01 "label": "INSTANCE with matching:\nT41 -> T72\nT40 -> T71\nX41 -> X74" 35.16/11.01 }, 35.16/11.01 { 35.16/11.01 "from": 535, 35.16/11.01 "to": 537, 35.16/11.01 "label": "PARALLEL" 35.16/11.01 }, 35.16/11.01 { 35.16/11.01 "from": 535, 35.16/11.01 "to": 538, 35.16/11.01 "label": "PARALLEL" 35.16/11.01 }, 35.16/11.01 { 35.16/11.01 "from": 537, 35.16/11.01 "to": 542, 35.16/11.01 "label": "EVAL with clause\nmembers(.(X94, X95), X96) :- ','(member(X94, X96), members(X95, X96)).\nand substitutionX94 -> T95,\nX95 -> T96,\nT48 -> .(T95, T96),\nT47 -> T94,\nX96 -> T94,\nT92 -> T95,\nT93 -> T96" 35.16/11.01 }, 35.16/11.01 { 35.16/11.01 "from": 537, 35.16/11.01 "to": 543, 35.16/11.01 "label": "EVAL-BACKTRACK" 35.16/11.01 }, 35.16/11.01 { 35.16/11.01 "from": 538, 35.16/11.01 "to": 556, 35.16/11.01 "label": "EVAL with clause\nmembers([], X133).\nand substitutionT48 -> [],\nT47 -> T135,\nX133 -> T135" 35.16/11.01 }, 35.16/11.01 { 35.16/11.01 "from": 538, 35.16/11.01 "to": 557, 35.16/11.01 "label": "EVAL-BACKTRACK" 35.16/11.01 }, 35.16/11.01 { 35.16/11.01 "from": 542, 35.16/11.01 "to": 546, 35.16/11.01 "label": "SPLIT 1" 35.16/11.01 }, 35.16/11.01 { 35.16/11.01 "from": 542, 35.16/11.01 "to": 547, 35.16/11.01 "label": "SPLIT 2\nnew knowledge:\nT95 is ground\nT94 is ground\nreplacements:T96 -> T101" 35.16/11.01 }, 35.16/11.01 { 35.16/11.01 "from": 546, 35.16/11.01 "to": 548, 35.16/11.01 "label": "CASE" 35.16/11.01 }, 35.16/11.01 { 35.16/11.01 "from": 547, 35.16/11.01 "to": 470, 35.16/11.01 "label": "INSTANCE with matching:\nT48 -> T101\nT47 -> T94" 35.16/11.01 }, 35.16/11.01 { 35.16/11.01 "from": 548, 35.16/11.01 "to": 549, 35.16/11.01 "label": "PARALLEL" 35.16/11.01 }, 35.16/11.01 { 35.16/11.01 "from": 548, 35.16/11.01 "to": 550, 35.16/11.01 "label": "PARALLEL" 35.16/11.01 }, 35.16/11.01 { 35.16/11.01 "from": 549, 35.16/11.01 "to": 551, 35.16/11.01 "label": "EVAL with clause\nmember(X113, .(X113, X114)).\nand substitutionT95 -> T114,\nX113 -> T114,\nX114 -> T115,\nT94 -> .(T114, T115)" 35.16/11.01 }, 35.16/11.01 { 35.16/11.01 "from": 549, 35.16/11.01 "to": 552, 35.16/11.01 "label": "EVAL-BACKTRACK" 35.16/11.01 }, 35.16/11.01 { 35.16/11.01 "from": 550, 35.16/11.01 "to": 554, 35.16/11.01 "label": "EVAL with clause\nmember(X121, .(X122, X123)) :- member(X121, X123).\nand substitutionT95 -> T125,\nX121 -> T125,\nX122 -> T123,\nX123 -> T124,\nT94 -> .(T123, T124),\nT122 -> T125" 35.16/11.01 }, 35.16/11.01 { 35.16/11.01 "from": 550, 35.16/11.01 "to": 555, 35.16/11.01 "label": "EVAL-BACKTRACK" 35.16/11.01 }, 35.16/11.01 { 35.16/11.01 "from": 551, 35.16/11.01 "to": 553, 35.16/11.01 "label": "SUCCESS" 35.16/11.01 }, 35.16/11.01 { 35.16/11.01 "from": 554, 35.16/11.01 "to": 546, 35.16/11.01 "label": "INSTANCE with matching:\nT95 -> T125\nT94 -> T124" 35.16/11.01 }, 35.16/11.01 { 35.16/11.01 "from": 556, 35.16/11.01 "to": 558, 35.16/11.01 "label": "SUCCESS" 35.16/11.01 }, 35.16/11.01 { 35.16/11.01 "from": 559, 35.16/11.01 "to": 561, 35.16/11.01 "label": "SUCCESS" 35.16/11.01 } 35.16/11.01 ], 35.16/11.01 "type": "Graph" 35.16/11.01 } 35.16/11.01 } 35.16/11.01 35.16/11.01 ---------------------------------------- 35.16/11.01 35.16/11.01 (120) 35.16/11.01 Complex Obligation (AND) 35.16/11.01 35.16/11.01 ---------------------------------------- 35.16/11.01 35.16/11.01 (121) 35.16/11.01 Obligation: 35.16/11.01 Rules: 35.16/11.01 f548_in(T94) -> f550_in(T94) :|: TRUE 35.16/11.01 f550_out(x) -> f548_out(x) :|: TRUE 35.16/11.01 f549_out(x1) -> f548_out(x1) :|: TRUE 35.16/11.01 f548_in(x2) -> f549_in(x2) :|: TRUE 35.16/11.01 f550_in(.(T123, T124)) -> f554_in(T124) :|: TRUE 35.16/11.01 f555_out -> f550_out(x3) :|: TRUE 35.16/11.01 f550_in(x4) -> f555_in :|: TRUE 35.16/11.01 f554_out(x5) -> f550_out(.(x6, x5)) :|: TRUE 35.16/11.01 f546_out(x7) -> f554_out(x7) :|: TRUE 35.16/11.01 f554_in(x8) -> f546_in(x8) :|: TRUE 35.16/11.01 f546_in(x9) -> f548_in(x9) :|: TRUE 35.16/11.01 f548_out(x10) -> f546_out(x10) :|: TRUE 35.16/11.01 f4_out(T2) -> f3_out(T2) :|: TRUE 35.16/11.01 f3_in(x11) -> f4_in(x11) :|: TRUE 35.16/11.01 f4_in(x12) -> f9_in(x12) :|: TRUE 35.16/11.01 f4_in(x13) -> f10_in(x13) :|: TRUE 35.16/11.01 f9_out(x14) -> f4_out(x14) :|: TRUE 35.16/11.01 f10_out(x15) -> f4_out(x15) :|: TRUE 35.16/11.01 f9_in(x16) -> f38_in :|: TRUE 35.16/11.01 f37_out(T17) -> f9_out(T17) :|: TRUE 35.16/11.01 f38_out -> f9_out(x17) :|: TRUE 35.16/11.01 f9_in(x18) -> f37_in(x18) :|: TRUE 35.16/11.01 f37_in(x19) -> f39_in(x19) :|: TRUE 35.16/11.01 f39_out(x20) -> f40_in(x20) :|: TRUE 35.16/11.01 f40_out(x21) -> f37_out(x21) :|: TRUE 35.16/11.01 f39_in(x22) -> f455_in(x22) :|: TRUE 35.16/11.01 f455_out(x23) -> f39_out(x23) :|: TRUE 35.16/11.01 f455_in(x24) -> f468_in :|: TRUE 35.16/11.01 f468_out -> f455_out(x25) :|: TRUE 35.16/11.01 f466_out(T40) -> f455_out(T40) :|: TRUE 35.16/11.01 f455_in(x26) -> f466_in(x26) :|: TRUE 35.16/11.01 f470_out(x27) -> f466_out(x28) :|: TRUE 35.16/11.01 f469_out(x29) -> f470_in(x30) :|: TRUE 35.16/11.01 f466_in(x31) -> f469_in(x31) :|: TRUE 35.16/11.01 f535_out(T47) -> f470_out(T47) :|: TRUE 35.16/11.01 f470_in(x32) -> f535_in(x32) :|: TRUE 35.16/11.01 f537_out(x33) -> f535_out(x33) :|: TRUE 35.16/11.01 f535_in(x34) -> f537_in(x34) :|: TRUE 35.16/11.01 f535_in(x35) -> f538_in(x35) :|: TRUE 35.16/11.01 f538_out(x36) -> f535_out(x36) :|: TRUE 35.16/11.01 f543_out -> f537_out(x37) :|: TRUE 35.16/11.01 f542_out(x38) -> f537_out(x38) :|: TRUE 35.16/11.01 f537_in(x39) -> f542_in(x39) :|: TRUE 35.16/11.01 f537_in(x40) -> f543_in :|: TRUE 35.16/11.01 f542_in(x41) -> f546_in(x41) :|: TRUE 35.16/11.01 f546_out(x42) -> f547_in(x42) :|: TRUE 35.16/11.01 f547_out(x43) -> f542_out(x43) :|: TRUE 35.16/11.01 Start term: f3_in(T2) 35.16/11.01 35.16/11.01 ---------------------------------------- 35.16/11.01 35.16/11.01 (122) IRSwTSimpleDependencyGraphProof (EQUIVALENT) 35.16/11.01 Constructed simple dependency graph. 35.16/11.01 35.16/11.01 Simplified to the following IRSwTs: 35.16/11.01 35.16/11.01 35.16/11.01 ---------------------------------------- 35.16/11.01 35.16/11.01 (123) 35.16/11.01 TRUE 35.16/11.01 35.16/11.01 ---------------------------------------- 35.16/11.01 35.16/11.01 (124) 35.16/11.01 Obligation: 35.16/11.01 Rules: 35.16/11.01 f547_in(T94) -> f470_in(T94) :|: TRUE 35.16/11.01 f470_out(x) -> f547_out(x) :|: TRUE 35.16/11.01 f535_out(T47) -> f470_out(T47) :|: TRUE 35.16/11.01 f470_in(x1) -> f535_in(x1) :|: TRUE 35.16/11.01 f537_out(x2) -> f535_out(x2) :|: TRUE 35.16/11.01 f535_in(x3) -> f537_in(x3) :|: TRUE 35.16/11.01 f535_in(x4) -> f538_in(x4) :|: TRUE 35.16/11.01 f538_out(x5) -> f535_out(x5) :|: TRUE 35.16/11.01 f549_in(.(T114, T115)) -> f551_in :|: TRUE 35.16/11.01 f549_in(x6) -> f552_in :|: TRUE 35.16/11.01 f552_out -> f549_out(x7) :|: TRUE 35.16/11.01 f551_out -> f549_out(.(x8, x9)) :|: TRUE 35.16/11.01 f543_out -> f537_out(x10) :|: TRUE 35.16/11.01 f542_out(x11) -> f537_out(x11) :|: TRUE 35.16/11.01 f537_in(x12) -> f542_in(x12) :|: TRUE 35.16/11.01 f537_in(x13) -> f543_in :|: TRUE 35.16/11.01 f551_in -> f551_out :|: TRUE 35.16/11.01 f548_in(x14) -> f550_in(x14) :|: TRUE 35.16/11.01 f550_out(x15) -> f548_out(x15) :|: TRUE 35.16/11.01 f549_out(x16) -> f548_out(x16) :|: TRUE 35.16/11.01 f548_in(x17) -> f549_in(x17) :|: TRUE 35.16/11.01 f550_in(.(T123, T124)) -> f554_in(T124) :|: TRUE 35.16/11.01 f555_out -> f550_out(x18) :|: TRUE 35.16/11.01 f550_in(x19) -> f555_in :|: TRUE 35.16/11.01 f554_out(x20) -> f550_out(.(x21, x20)) :|: TRUE 35.16/11.01 f542_in(x22) -> f546_in(x22) :|: TRUE 35.16/11.01 f546_out(x23) -> f547_in(x23) :|: TRUE 35.16/11.01 f547_out(x24) -> f542_out(x24) :|: TRUE 35.16/11.01 f546_out(x25) -> f554_out(x25) :|: TRUE 35.16/11.01 f554_in(x26) -> f546_in(x26) :|: TRUE 35.16/11.01 f546_in(x27) -> f548_in(x27) :|: TRUE 35.16/11.01 f548_out(x28) -> f546_out(x28) :|: TRUE 35.16/11.01 f4_out(T2) -> f3_out(T2) :|: TRUE 35.16/11.01 f3_in(x29) -> f4_in(x29) :|: TRUE 35.16/11.01 f4_in(x30) -> f9_in(x30) :|: TRUE 35.16/11.01 f4_in(x31) -> f10_in(x31) :|: TRUE 35.16/11.01 f9_out(x32) -> f4_out(x32) :|: TRUE 35.16/11.01 f10_out(x33) -> f4_out(x33) :|: TRUE 35.16/11.01 f9_in(x34) -> f38_in :|: TRUE 35.16/11.01 f37_out(T17) -> f9_out(T17) :|: TRUE 35.16/11.01 f38_out -> f9_out(x35) :|: TRUE 35.16/11.01 f9_in(x36) -> f37_in(x36) :|: TRUE 35.16/11.01 f37_in(x37) -> f39_in(x37) :|: TRUE 35.16/11.01 f39_out(x38) -> f40_in(x38) :|: TRUE 35.16/11.01 f40_out(x39) -> f37_out(x39) :|: TRUE 35.16/11.01 f39_in(x40) -> f455_in(x40) :|: TRUE 35.16/11.01 f455_out(x41) -> f39_out(x41) :|: TRUE 35.16/11.01 f455_in(x42) -> f468_in :|: TRUE 35.16/11.01 f468_out -> f455_out(x43) :|: TRUE 35.16/11.01 f466_out(T40) -> f455_out(T40) :|: TRUE 35.16/11.01 f455_in(x44) -> f466_in(x44) :|: TRUE 35.16/11.01 f470_out(x45) -> f466_out(x46) :|: TRUE 35.16/11.01 f469_out(x47) -> f470_in(x48) :|: TRUE 35.16/11.01 f466_in(x49) -> f469_in(x49) :|: TRUE 35.16/11.01 Start term: f3_in(T2) 35.16/11.01 35.16/11.01 ---------------------------------------- 35.16/11.01 35.16/11.01 (125) IRSwTSimpleDependencyGraphProof (EQUIVALENT) 35.16/11.01 Constructed simple dependency graph. 35.16/11.01 35.16/11.01 Simplified to the following IRSwTs: 35.16/11.01 35.16/11.01 35.16/11.01 ---------------------------------------- 35.16/11.01 35.16/11.01 (126) 35.16/11.01 TRUE 35.16/11.01 35.16/11.01 ---------------------------------------- 35.16/11.01 35.16/11.01 (127) 35.16/11.01 Obligation: 35.16/11.01 Rules: 35.16/11.01 f471_out(T40) -> f469_out(T40) :|: TRUE 35.16/11.01 f469_in(x) -> f471_in(x) :|: TRUE 35.16/11.01 f497_in(T71) -> f469_in(T71) :|: TRUE 35.16/11.01 f469_out(x1) -> f497_out(x1) :|: TRUE 35.16/11.01 f471_in(x2) -> f473_in(x2) :|: TRUE 35.16/11.01 f473_out(x3) -> f471_out(x3) :|: TRUE 35.16/11.01 f472_out(x4) -> f471_out(x4) :|: TRUE 35.16/11.01 f471_in(x5) -> f472_in(x5) :|: TRUE 35.16/11.01 f497_out(x6) -> f473_out(.(x7, x6)) :|: TRUE 35.16/11.01 f473_in(x8) -> f500_in :|: TRUE 35.16/11.01 f473_in(.(x9, x10)) -> f497_in(x10) :|: TRUE 35.16/11.01 f500_out -> f473_out(x11) :|: TRUE 35.16/11.01 f4_out(T2) -> f3_out(T2) :|: TRUE 35.16/11.01 f3_in(x12) -> f4_in(x12) :|: TRUE 35.16/11.01 f4_in(x13) -> f9_in(x13) :|: TRUE 35.16/11.01 f4_in(x14) -> f10_in(x14) :|: TRUE 35.16/11.01 f9_out(x15) -> f4_out(x15) :|: TRUE 35.16/11.01 f10_out(x16) -> f4_out(x16) :|: TRUE 35.16/11.01 f9_in(x17) -> f38_in :|: TRUE 35.16/11.01 f37_out(T17) -> f9_out(T17) :|: TRUE 35.16/11.01 f38_out -> f9_out(x18) :|: TRUE 35.16/11.01 f9_in(x19) -> f37_in(x19) :|: TRUE 35.16/11.01 f37_in(x20) -> f39_in(x20) :|: TRUE 35.16/11.01 f39_out(x21) -> f40_in(x21) :|: TRUE 35.16/11.01 f40_out(x22) -> f37_out(x22) :|: TRUE 35.16/11.01 f39_in(x23) -> f455_in(x23) :|: TRUE 35.16/11.01 f455_out(x24) -> f39_out(x24) :|: TRUE 35.16/11.01 f455_in(x25) -> f468_in :|: TRUE 35.16/11.01 f468_out -> f455_out(x26) :|: TRUE 35.16/11.01 f466_out(x27) -> f455_out(x27) :|: TRUE 35.16/11.01 f455_in(x28) -> f466_in(x28) :|: TRUE 35.16/11.01 f470_out(x29) -> f466_out(x30) :|: TRUE 35.16/11.01 f469_out(x31) -> f470_in(x32) :|: TRUE 35.16/11.01 f466_in(x33) -> f469_in(x33) :|: TRUE 35.16/11.01 Start term: f3_in(T2) 35.16/11.01 35.16/11.01 ---------------------------------------- 35.16/11.01 35.16/11.01 (128) IRSwTSimpleDependencyGraphProof (EQUIVALENT) 35.16/11.01 Constructed simple dependency graph. 35.16/11.01 35.16/11.01 Simplified to the following IRSwTs: 35.16/11.01 35.16/11.01 intTRSProblem: 35.16/11.01 f469_in(x) -> f471_in(x) :|: TRUE 35.16/11.01 f497_in(T71) -> f469_in(T71) :|: TRUE 35.16/11.01 f471_in(x2) -> f473_in(x2) :|: TRUE 35.16/11.01 f473_in(.(x9, x10)) -> f497_in(x10) :|: TRUE 35.16/11.01 35.16/11.01 35.16/11.01 ---------------------------------------- 35.16/11.01 35.16/11.01 (129) 35.16/11.01 Obligation: 35.16/11.01 Rules: 35.16/11.01 f469_in(x) -> f471_in(x) :|: TRUE 35.16/11.01 f497_in(T71) -> f469_in(T71) :|: TRUE 35.16/11.01 f471_in(x2) -> f473_in(x2) :|: TRUE 35.16/11.01 f473_in(.(x9, x10)) -> f497_in(x10) :|: TRUE 35.16/11.01 35.16/11.01 ---------------------------------------- 35.16/11.01 35.16/11.01 (130) IntTRSCompressionProof (EQUIVALENT) 35.16/11.01 Compressed rules. 35.16/11.01 ---------------------------------------- 35.16/11.01 35.16/11.01 (131) 35.16/11.01 Obligation: 35.16/11.01 Rules: 35.16/11.01 f497_in(.(x9:0, x10:0)) -> f497_in(x10:0) :|: TRUE 35.16/11.01 35.16/11.01 ---------------------------------------- 35.16/11.01 35.16/11.01 (132) IRSFormatTransformerProof (EQUIVALENT) 35.16/11.01 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 35.16/11.01 ---------------------------------------- 35.16/11.01 35.16/11.01 (133) 35.16/11.01 Obligation: 35.16/11.01 Rules: 35.16/11.01 f497_in(.(x9:0, x10:0)) -> f497_in(x10:0) :|: TRUE 35.16/11.01 35.16/11.01 ---------------------------------------- 35.16/11.01 35.16/11.01 (134) IRSwTTerminationDigraphProof (EQUIVALENT) 35.16/11.01 Constructed termination digraph! 35.16/11.01 Nodes: 35.16/11.01 (1) f497_in(.(x9:0, x10:0)) -> f497_in(x10:0) :|: TRUE 35.16/11.01 35.16/11.01 Arcs: 35.16/11.01 (1) -> (1) 35.16/11.01 35.16/11.01 This digraph is fully evaluated! 35.16/11.01 ---------------------------------------- 35.16/11.01 35.16/11.01 (135) 35.16/11.01 Obligation: 35.16/11.01 35.16/11.01 Termination digraph: 35.16/11.01 Nodes: 35.16/11.01 (1) f497_in(.(x9:0, x10:0)) -> f497_in(x10:0) :|: TRUE 35.16/11.01 35.16/11.01 Arcs: 35.16/11.01 (1) -> (1) 35.16/11.01 35.16/11.01 This digraph is fully evaluated! 35.16/11.01 35.16/11.01 ---------------------------------------- 35.16/11.01 35.16/11.01 (136) IntTRSUnneededArgumentFilterProof (EQUIVALENT) 35.16/11.01 Some arguments are removed because they cannot influence termination. We removed arguments according to the following replacements: 35.16/11.01 35.16/11.01 .(x1, x2) -> .(x2) 35.16/11.01 35.16/11.01 ---------------------------------------- 35.16/11.01 35.16/11.01 (137) 35.16/11.01 Obligation: 35.16/11.01 Rules: 35.16/11.01 f497_in(.(x10:0)) -> f497_in(x10:0) :|: TRUE 35.16/11.01 35.16/11.01 ---------------------------------------- 35.16/11.01 35.16/11.01 (138) TempFilterProof (SOUND) 35.16/11.01 Used the following sort dictionary for filtering: 35.16/11.01 f497_in(VARIABLE) 35.16/11.01 .(VARIABLE) 35.16/11.01 Removed predefined arithmetic. 35.16/11.01 ---------------------------------------- 35.16/11.01 35.16/11.01 (139) 35.16/11.01 Obligation: 35.16/11.01 Rules: 35.16/11.01 f497_in(.(x10:0)) -> f497_in(x10:0) 35.16/11.01 35.16/11.01 ---------------------------------------- 35.16/11.01 35.16/11.01 (140) IRSwTToQDPProof (SOUND) 35.16/11.01 Removed the integers and created a QDP-Problem. 35.16/11.01 ---------------------------------------- 35.16/11.01 35.16/11.01 (141) 35.16/11.01 Obligation: 35.16/11.01 Q DP problem: 35.16/11.01 The TRS P consists of the following rules: 35.16/11.01 35.16/11.01 f497_in(.(x10:0)) -> f497_in(x10:0) 35.16/11.01 35.16/11.01 R is empty. 35.16/11.01 Q is empty. 35.16/11.01 We have to consider all (P,Q,R)-chains. 35.16/11.01 ---------------------------------------- 35.16/11.01 35.16/11.01 (142) QDPSizeChangeProof (EQUIVALENT) 35.16/11.01 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. 35.16/11.01 35.16/11.01 From the DPs we obtained the following set of size-change graphs: 35.16/11.01 *f497_in(.(x10:0)) -> f497_in(x10:0) 35.16/11.01 The graph contains the following edges 1 > 1 35.16/11.01 35.16/11.01 35.16/11.01 ---------------------------------------- 35.16/11.01 35.16/11.01 (143) 35.16/11.01 YES 35.16/11.01 35.16/11.01 ---------------------------------------- 35.16/11.01 35.16/11.01 (144) 35.16/11.01 Obligation: 35.16/11.01 Rules: 35.16/11.01 f556_out -> f538_out(T135) :|: TRUE 35.16/11.01 f557_out -> f538_out(T47) :|: TRUE 35.16/11.01 f538_in(x) -> f557_in :|: TRUE 35.16/11.01 f538_in(x1) -> f556_in :|: TRUE 35.16/11.01 f474_in -> f474_out :|: TRUE 35.16/11.01 f535_out(x2) -> f470_out(x2) :|: TRUE 35.16/11.01 f470_in(x3) -> f535_in(x3) :|: TRUE 35.16/11.01 f497_out(T71) -> f473_out(.(T70, T71)) :|: TRUE 35.16/11.01 f473_in(T40) -> f500_in :|: TRUE 35.16/11.01 f473_in(.(x4, x5)) -> f497_in(x5) :|: TRUE 35.16/11.01 f500_out -> f473_out(x6) :|: TRUE 35.16/11.01 f455_in(T17) -> f468_in :|: TRUE 35.16/11.01 f468_out -> f455_out(x7) :|: TRUE 35.16/11.01 f466_out(x8) -> f455_out(x8) :|: TRUE 35.16/11.01 f455_in(x9) -> f466_in(x9) :|: TRUE 35.16/11.01 f551_in -> f551_out :|: TRUE 35.16/11.01 f550_in(.(T123, T124)) -> f554_in(T124) :|: TRUE 35.16/11.01 f555_out -> f550_out(T94) :|: TRUE 35.16/11.01 f550_in(x10) -> f555_in :|: TRUE 35.16/11.01 f554_out(x11) -> f550_out(.(x12, x11)) :|: TRUE 35.16/11.01 f4_in(T2) -> f9_in(T2) :|: TRUE 35.16/11.01 f4_in(x13) -> f10_in(x13) :|: TRUE 35.16/11.01 f9_out(x14) -> f4_out(x14) :|: TRUE 35.16/11.01 f10_out(x15) -> f4_out(x15) :|: TRUE 35.16/11.01 f542_in(x16) -> f546_in(x16) :|: TRUE 35.16/11.01 f546_out(x17) -> f547_in(x17) :|: TRUE 35.16/11.01 f547_out(x18) -> f542_out(x18) :|: TRUE 35.16/11.01 f497_in(x19) -> f469_in(x19) :|: TRUE 35.16/11.01 f469_out(x20) -> f497_out(x20) :|: TRUE 35.16/11.01 f39_in(x21) -> f455_in(x21) :|: TRUE 35.16/11.01 f455_out(x22) -> f39_out(x22) :|: TRUE 35.16/11.01 f546_out(x23) -> f554_out(x23) :|: TRUE 35.16/11.01 f554_in(x24) -> f546_in(x24) :|: TRUE 35.16/11.01 f471_in(x25) -> f473_in(x25) :|: TRUE 35.16/11.01 f473_out(x26) -> f471_out(x26) :|: TRUE 35.16/11.01 f472_out(x27) -> f471_out(x27) :|: TRUE 35.16/11.01 f471_in(x28) -> f472_in(x28) :|: TRUE 35.16/11.01 f472_in(.(T61, T62)) -> f474_in :|: TRUE 35.16/11.01 f472_in(x29) -> f476_in :|: TRUE 35.16/11.01 f474_out -> f472_out(.(x30, x31)) :|: TRUE 35.16/11.01 f476_out -> f472_out(x32) :|: TRUE 35.16/11.01 f546_in(x33) -> f548_in(x33) :|: TRUE 35.16/11.01 f548_out(x34) -> f546_out(x34) :|: TRUE 35.16/11.01 f471_out(x35) -> f469_out(x35) :|: TRUE 35.16/11.01 f469_in(x36) -> f471_in(x36) :|: TRUE 35.16/11.01 f37_in(x37) -> f39_in(x37) :|: TRUE 35.16/11.01 f39_out(x38) -> f40_in(x38) :|: TRUE 35.16/11.01 f40_out(x39) -> f37_out(x39) :|: TRUE 35.16/11.01 f556_in -> f556_out :|: TRUE 35.16/11.01 f9_in(x40) -> f38_in :|: TRUE 35.16/11.01 f37_out(x41) -> f9_out(x41) :|: TRUE 35.16/11.01 f38_out -> f9_out(x42) :|: TRUE 35.16/11.01 f9_in(x43) -> f37_in(x43) :|: TRUE 35.16/11.01 f547_in(x44) -> f470_in(x44) :|: TRUE 35.16/11.01 f470_out(x45) -> f547_out(x45) :|: TRUE 35.16/11.01 f470_out(x46) -> f466_out(x47) :|: TRUE 35.16/11.01 f469_out(x48) -> f470_in(x49) :|: TRUE 35.16/11.01 f466_in(x50) -> f469_in(x50) :|: TRUE 35.16/11.01 f4_out(x51) -> f3_out(x51) :|: TRUE 35.16/11.01 f3_in(x52) -> f4_in(x52) :|: TRUE 35.16/11.01 f537_out(x53) -> f535_out(x53) :|: TRUE 35.16/11.01 f535_in(x54) -> f537_in(x54) :|: TRUE 35.16/11.01 f535_in(x55) -> f538_in(x55) :|: TRUE 35.16/11.01 f538_out(x56) -> f535_out(x56) :|: TRUE 35.16/11.01 f549_in(.(T114, T115)) -> f551_in :|: TRUE 35.16/11.01 f549_in(x57) -> f552_in :|: TRUE 35.16/11.01 f552_out -> f549_out(x58) :|: TRUE 35.16/11.01 f551_out -> f549_out(.(x59, x60)) :|: TRUE 35.16/11.01 f543_out -> f537_out(x61) :|: TRUE 35.16/11.01 f542_out(x62) -> f537_out(x62) :|: TRUE 35.16/11.01 f537_in(x63) -> f542_in(x63) :|: TRUE 35.16/11.01 f537_in(x64) -> f543_in :|: TRUE 35.16/11.01 f548_in(x65) -> f550_in(x65) :|: TRUE 35.16/11.01 f550_out(x66) -> f548_out(x66) :|: TRUE 35.16/11.01 f549_out(x67) -> f548_out(x67) :|: TRUE 35.16/11.01 f548_in(x68) -> f549_in(x68) :|: TRUE 35.16/11.01 f40_in(x69) -> f3_in(x69) :|: TRUE 35.16/11.01 f3_out(x70) -> f40_out(x70) :|: TRUE 35.16/11.01 Start term: f3_in(T2) 35.16/11.01 35.16/11.01 ---------------------------------------- 35.16/11.01 35.16/11.01 (145) IRSwTSimpleDependencyGraphProof (EQUIVALENT) 35.16/11.01 Constructed simple dependency graph. 35.16/11.01 35.16/11.01 Simplified to the following IRSwTs: 35.16/11.01 35.16/11.01 intTRSProblem: 35.16/11.01 f556_out -> f538_out(T135) :|: TRUE 35.16/11.01 f538_in(x1) -> f556_in :|: TRUE 35.16/11.01 f474_in -> f474_out :|: TRUE 35.16/11.01 f535_out(x2) -> f470_out(x2) :|: TRUE 35.16/11.01 f470_in(x3) -> f535_in(x3) :|: TRUE 35.16/11.01 f497_out(T71) -> f473_out(.(T70, T71)) :|: TRUE 35.16/11.01 f473_in(.(x4, x5)) -> f497_in(x5) :|: TRUE 35.16/11.01 f466_out(x8) -> f455_out(x8) :|: TRUE 35.16/11.01 f455_in(x9) -> f466_in(x9) :|: TRUE 35.16/11.01 f551_in -> f551_out :|: TRUE 35.16/11.01 f550_in(.(T123, T124)) -> f554_in(T124) :|: TRUE 35.16/11.01 f554_out(x11) -> f550_out(.(x12, x11)) :|: TRUE 35.16/11.01 f4_in(T2) -> f9_in(T2) :|: TRUE 35.16/11.01 f542_in(x16) -> f546_in(x16) :|: TRUE 35.16/11.01 f546_out(x17) -> f547_in(x17) :|: TRUE 35.16/11.01 f547_out(x18) -> f542_out(x18) :|: TRUE 35.16/11.01 f497_in(x19) -> f469_in(x19) :|: TRUE 35.16/11.01 f469_out(x20) -> f497_out(x20) :|: TRUE 35.16/11.01 f39_in(x21) -> f455_in(x21) :|: TRUE 35.16/11.01 f455_out(x22) -> f39_out(x22) :|: TRUE 35.16/11.01 f546_out(x23) -> f554_out(x23) :|: TRUE 35.16/11.01 f554_in(x24) -> f546_in(x24) :|: TRUE 35.16/11.01 f471_in(x25) -> f473_in(x25) :|: TRUE 35.16/11.01 f473_out(x26) -> f471_out(x26) :|: TRUE 35.16/11.01 f472_out(x27) -> f471_out(x27) :|: TRUE 35.16/11.01 f471_in(x28) -> f472_in(x28) :|: TRUE 35.16/11.01 f472_in(.(T61, T62)) -> f474_in :|: TRUE 35.16/11.01 f474_out -> f472_out(.(x30, x31)) :|: TRUE 35.16/11.01 f546_in(x33) -> f548_in(x33) :|: TRUE 35.16/11.01 f548_out(x34) -> f546_out(x34) :|: TRUE 35.16/11.01 f471_out(x35) -> f469_out(x35) :|: TRUE 35.16/11.01 f469_in(x36) -> f471_in(x36) :|: TRUE 35.16/11.01 f37_in(x37) -> f39_in(x37) :|: TRUE 35.16/11.01 f39_out(x38) -> f40_in(x38) :|: TRUE 35.16/11.01 f556_in -> f556_out :|: TRUE 35.16/11.01 f9_in(x43) -> f37_in(x43) :|: TRUE 35.16/11.01 f547_in(x44) -> f470_in(x44) :|: TRUE 35.16/11.01 f470_out(x45) -> f547_out(x45) :|: TRUE 35.16/11.01 f470_out(x46) -> f466_out(x47) :|: TRUE 35.16/11.01 f469_out(x48) -> f470_in(x49) :|: TRUE 35.16/11.01 f466_in(x50) -> f469_in(x50) :|: TRUE 35.16/11.01 f3_in(x52) -> f4_in(x52) :|: TRUE 35.16/11.01 f537_out(x53) -> f535_out(x53) :|: TRUE 35.16/11.01 f535_in(x54) -> f537_in(x54) :|: TRUE 35.16/11.01 f535_in(x55) -> f538_in(x55) :|: TRUE 35.16/11.01 f538_out(x56) -> f535_out(x56) :|: TRUE 35.16/11.01 f549_in(.(T114, T115)) -> f551_in :|: TRUE 35.16/11.01 f551_out -> f549_out(.(x59, x60)) :|: TRUE 35.16/11.01 f542_out(x62) -> f537_out(x62) :|: TRUE 35.16/11.01 f537_in(x63) -> f542_in(x63) :|: TRUE 35.16/11.01 f548_in(x65) -> f550_in(x65) :|: TRUE 35.16/11.01 f550_out(x66) -> f548_out(x66) :|: TRUE 35.16/11.01 f549_out(x67) -> f548_out(x67) :|: TRUE 35.16/11.01 f548_in(x68) -> f549_in(x68) :|: TRUE 35.16/11.01 f40_in(x69) -> f3_in(x69) :|: TRUE 35.16/11.01 35.16/11.01 35.16/11.01 ---------------------------------------- 35.16/11.01 35.16/11.01 (146) 35.16/11.01 Obligation: 35.16/11.01 Rules: 35.16/11.01 f556_out -> f538_out(T135) :|: TRUE 35.16/11.01 f538_in(x1) -> f556_in :|: TRUE 35.16/11.01 f474_in -> f474_out :|: TRUE 35.16/11.01 f535_out(x2) -> f470_out(x2) :|: TRUE 35.16/11.01 f470_in(x3) -> f535_in(x3) :|: TRUE 35.16/11.01 f497_out(T71) -> f473_out(.(T70, T71)) :|: TRUE 35.16/11.01 f473_in(.(x4, x5)) -> f497_in(x5) :|: TRUE 35.16/11.01 f466_out(x8) -> f455_out(x8) :|: TRUE 35.16/11.01 f455_in(x9) -> f466_in(x9) :|: TRUE 35.16/11.01 f551_in -> f551_out :|: TRUE 35.16/11.01 f550_in(.(T123, T124)) -> f554_in(T124) :|: TRUE 35.16/11.01 f554_out(x11) -> f550_out(.(x12, x11)) :|: TRUE 35.16/11.01 f4_in(T2) -> f9_in(T2) :|: TRUE 35.16/11.01 f542_in(x16) -> f546_in(x16) :|: TRUE 35.16/11.01 f546_out(x17) -> f547_in(x17) :|: TRUE 35.16/11.01 f547_out(x18) -> f542_out(x18) :|: TRUE 35.16/11.01 f497_in(x19) -> f469_in(x19) :|: TRUE 35.16/11.01 f469_out(x20) -> f497_out(x20) :|: TRUE 35.16/11.01 f39_in(x21) -> f455_in(x21) :|: TRUE 35.16/11.01 f455_out(x22) -> f39_out(x22) :|: TRUE 35.16/11.01 f546_out(x23) -> f554_out(x23) :|: TRUE 35.16/11.01 f554_in(x24) -> f546_in(x24) :|: TRUE 35.16/11.01 f471_in(x25) -> f473_in(x25) :|: TRUE 35.16/11.01 f473_out(x26) -> f471_out(x26) :|: TRUE 35.16/11.01 f472_out(x27) -> f471_out(x27) :|: TRUE 35.16/11.01 f471_in(x28) -> f472_in(x28) :|: TRUE 35.16/11.01 f472_in(.(T61, T62)) -> f474_in :|: TRUE 35.16/11.01 f474_out -> f472_out(.(x30, x31)) :|: TRUE 35.16/11.01 f546_in(x33) -> f548_in(x33) :|: TRUE 35.16/11.01 f548_out(x34) -> f546_out(x34) :|: TRUE 35.16/11.01 f471_out(x35) -> f469_out(x35) :|: TRUE 35.16/11.01 f469_in(x36) -> f471_in(x36) :|: TRUE 35.16/11.01 f37_in(x37) -> f39_in(x37) :|: TRUE 35.16/11.01 f39_out(x38) -> f40_in(x38) :|: TRUE 35.16/11.01 f556_in -> f556_out :|: TRUE 35.16/11.01 f9_in(x43) -> f37_in(x43) :|: TRUE 35.16/11.01 f547_in(x44) -> f470_in(x44) :|: TRUE 35.16/11.01 f470_out(x45) -> f547_out(x45) :|: TRUE 35.16/11.01 f470_out(x46) -> f466_out(x47) :|: TRUE 35.16/11.01 f469_out(x48) -> f470_in(x49) :|: TRUE 35.16/11.01 f466_in(x50) -> f469_in(x50) :|: TRUE 35.16/11.01 f3_in(x52) -> f4_in(x52) :|: TRUE 35.16/11.01 f537_out(x53) -> f535_out(x53) :|: TRUE 35.16/11.01 f535_in(x54) -> f537_in(x54) :|: TRUE 35.16/11.01 f535_in(x55) -> f538_in(x55) :|: TRUE 35.16/11.01 f538_out(x56) -> f535_out(x56) :|: TRUE 35.16/11.01 f549_in(.(T114, T115)) -> f551_in :|: TRUE 35.16/11.01 f551_out -> f549_out(.(x59, x60)) :|: TRUE 35.16/11.01 f542_out(x62) -> f537_out(x62) :|: TRUE 35.16/11.01 f537_in(x63) -> f542_in(x63) :|: TRUE 35.16/11.01 f548_in(x65) -> f550_in(x65) :|: TRUE 35.16/11.01 f550_out(x66) -> f548_out(x66) :|: TRUE 35.16/11.01 f549_out(x67) -> f548_out(x67) :|: TRUE 35.16/11.01 f548_in(x68) -> f549_in(x68) :|: TRUE 35.16/11.01 f40_in(x69) -> f3_in(x69) :|: TRUE 35.16/11.01 35.16/11.01 ---------------------------------------- 35.16/11.01 35.16/11.01 (147) IntTRSCompressionProof (EQUIVALENT) 35.16/11.01 Compressed rules. 35.16/11.01 ---------------------------------------- 35.16/11.01 35.16/11.01 (148) 35.16/11.01 Obligation: 35.16/11.01 Rules: 35.16/11.01 f471_in(.(x4:0, x5:0)) -> f471_in(x5:0) :|: TRUE 35.16/11.01 f535_out(x2:0) -> f471_in(x47:0) :|: TRUE 35.16/11.01 f469_out(x20:0) -> f469_out(.(T70:0, x20:0)) :|: TRUE 35.16/11.01 f548_out(x34:0) -> f470_in(x34:0) :|: TRUE 35.16/11.01 f470_in(x3:0) -> f535_out(T135:0) :|: TRUE 35.16/11.01 f470_in(x) -> f548_in(x) :|: TRUE 35.16/11.01 f535_out(x1) -> f535_out(x1) :|: TRUE 35.16/11.01 f548_in(.(T114:0, T115:0)) -> f548_out(.(x59:0, x60:0)) :|: TRUE 35.16/11.01 f471_in(.(T61:0, T62:0)) -> f469_out(.(x30:0, x31:0)) :|: TRUE 35.16/11.01 f548_out(x2) -> f548_out(.(x3, x2)) :|: TRUE 35.16/11.01 f548_in(.(T123:0, T124:0)) -> f548_in(T124:0) :|: TRUE 35.16/11.01 f469_out(x48:0) -> f470_in(x49:0) :|: TRUE 35.16/11.01 35.16/11.01 ---------------------------------------- 35.16/11.01 35.16/11.01 (149) IRSFormatTransformerProof (EQUIVALENT) 35.16/11.01 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 35.16/11.01 ---------------------------------------- 35.16/11.01 35.16/11.01 (150) 35.16/11.01 Obligation: 35.16/11.01 Rules: 35.16/11.01 f471_in(.(x4:0, x5:0)) -> f471_in(x5:0) :|: TRUE 35.16/11.01 f535_out(x2:0) -> f471_in(x47:0) :|: TRUE 35.16/11.01 f469_out(x20:0) -> f469_out(.(T70:0, x20:0)) :|: TRUE 35.16/11.01 f548_out(x34:0) -> f470_in(x34:0) :|: TRUE 35.16/11.01 f470_in(x3:0) -> f535_out(T135:0) :|: TRUE 35.16/11.01 f470_in(x) -> f548_in(x) :|: TRUE 35.16/11.01 f535_out(x1) -> f535_out(x1) :|: TRUE 35.16/11.01 f548_in(.(T114:0, T115:0)) -> f548_out(.(x59:0, x60:0)) :|: TRUE 35.16/11.01 f471_in(.(T61:0, T62:0)) -> f469_out(.(x30:0, x31:0)) :|: TRUE 35.16/11.01 f548_out(x2) -> f548_out(.(x3, x2)) :|: TRUE 35.16/11.01 f548_in(.(T123:0, T124:0)) -> f548_in(T124:0) :|: TRUE 35.16/11.01 f469_out(x48:0) -> f470_in(x49:0) :|: TRUE 35.16/11.01 35.16/11.01 ---------------------------------------- 35.16/11.01 35.16/11.01 (151) IRSwTTerminationDigraphProof (EQUIVALENT) 35.16/11.01 Constructed termination digraph! 35.16/11.01 Nodes: 35.16/11.01 (1) f471_in(.(x4:0, x5:0)) -> f471_in(x5:0) :|: TRUE 35.16/11.01 (2) f535_out(x2:0) -> f471_in(x47:0) :|: TRUE 35.16/11.01 (3) f469_out(x20:0) -> f469_out(.(T70:0, x20:0)) :|: TRUE 35.16/11.01 (4) f548_out(x34:0) -> f470_in(x34:0) :|: TRUE 35.16/11.01 (5) f470_in(x3:0) -> f535_out(T135:0) :|: TRUE 35.16/11.01 (6) f470_in(x) -> f548_in(x) :|: TRUE 35.16/11.01 (7) f535_out(x1) -> f535_out(x1) :|: TRUE 35.16/11.01 (8) f548_in(.(T114:0, T115:0)) -> f548_out(.(x59:0, x60:0)) :|: TRUE 35.16/11.01 (9) f471_in(.(T61:0, T62:0)) -> f469_out(.(x30:0, x31:0)) :|: TRUE 35.16/11.01 (10) f548_out(x2) -> f548_out(.(x3, x2)) :|: TRUE 35.16/11.01 (11) f548_in(.(T123:0, T124:0)) -> f548_in(T124:0) :|: TRUE 35.16/11.01 (12) f469_out(x48:0) -> f470_in(x49:0) :|: TRUE 35.16/11.01 35.16/11.01 Arcs: 35.16/11.01 (1) -> (1), (9) 35.16/11.01 (2) -> (1), (9) 35.16/11.01 (3) -> (3), (12) 35.16/11.01 (4) -> (5), (6) 35.16/11.01 (5) -> (2), (7) 35.16/11.01 (6) -> (8), (11) 35.16/11.01 (7) -> (2), (7) 35.16/11.01 (8) -> (4), (10) 35.16/11.01 (9) -> (3), (12) 35.16/11.01 (10) -> (4), (10) 35.16/11.01 (11) -> (8), (11) 35.16/11.01 (12) -> (5), (6) 35.16/11.01 35.16/11.01 This digraph is fully evaluated! 35.16/11.01 ---------------------------------------- 35.16/11.01 35.16/11.01 (152) 35.16/11.01 Obligation: 35.16/11.01 35.16/11.01 Termination digraph: 35.16/11.01 Nodes: 35.16/11.01 (1) f471_in(.(x4:0, x5:0)) -> f471_in(x5:0) :|: TRUE 35.16/11.01 (2) f535_out(x2:0) -> f471_in(x47:0) :|: TRUE 35.16/11.01 (3) f535_out(x1) -> f535_out(x1) :|: TRUE 35.16/11.01 (4) f470_in(x3:0) -> f535_out(T135:0) :|: TRUE 35.16/11.01 (5) f548_out(x34:0) -> f470_in(x34:0) :|: TRUE 35.16/11.01 (6) f548_out(x2) -> f548_out(.(x3, x2)) :|: TRUE 35.16/11.01 (7) f548_in(.(T114:0, T115:0)) -> f548_out(.(x59:0, x60:0)) :|: TRUE 35.16/11.01 (8) f548_in(.(T123:0, T124:0)) -> f548_in(T124:0) :|: TRUE 35.16/11.01 (9) f470_in(x) -> f548_in(x) :|: TRUE 35.16/11.01 (10) f469_out(x48:0) -> f470_in(x49:0) :|: TRUE 35.16/11.01 (11) f469_out(x20:0) -> f469_out(.(T70:0, x20:0)) :|: TRUE 35.16/11.01 (12) f471_in(.(T61:0, T62:0)) -> f469_out(.(x30:0, x31:0)) :|: TRUE 35.16/11.01 35.16/11.01 Arcs: 35.16/11.01 (1) -> (1), (12) 35.16/11.01 (2) -> (1), (12) 35.16/11.01 (3) -> (2), (3) 35.16/11.01 (4) -> (2), (3) 35.16/11.01 (5) -> (4), (9) 35.16/11.01 (6) -> (5), (6) 35.16/11.01 (7) -> (5), (6) 35.16/11.01 (8) -> (7), (8) 35.16/11.01 (9) -> (7), (8) 35.16/11.01 (10) -> (4), (9) 35.16/11.01 (11) -> (10), (11) 35.16/11.01 (12) -> (10), (11) 35.16/11.01 35.16/11.01 This digraph is fully evaluated! 35.40/11.05 EOF