31.85/9.47 MAYBE 33.17/10.37 proof of /export/starexec/sandbox/benchmark/theBenchmark.pl 33.17/10.37 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 33.17/10.37 33.17/10.37 33.17/10.37 Left Termination of the query pattern 33.17/10.37 33.17/10.37 color_map(a,g) 33.17/10.37 33.17/10.37 w.r.t. the given Prolog program could not be shown: 33.17/10.37 33.17/10.37 (0) Prolog 33.17/10.37 (1) PrologToPiTRSProof [SOUND, 0 ms] 33.17/10.37 (2) PiTRS 33.17/10.37 (3) DependencyPairsProof [EQUIVALENT, 2 ms] 33.17/10.37 (4) PiDP 33.17/10.37 (5) DependencyGraphProof [EQUIVALENT, 0 ms] 33.17/10.37 (6) AND 33.17/10.37 (7) PiDP 33.17/10.37 (8) UsableRulesProof [EQUIVALENT, 0 ms] 33.17/10.37 (9) PiDP 33.17/10.37 (10) PiDPToQDPProof [SOUND, 0 ms] 33.17/10.37 (11) QDP 33.17/10.37 (12) QDPSizeChangeProof [EQUIVALENT, 0 ms] 33.17/10.37 (13) YES 33.17/10.37 (14) PiDP 33.17/10.37 (15) UsableRulesProof [EQUIVALENT, 0 ms] 33.17/10.37 (16) PiDP 33.17/10.37 (17) PiDPToQDPProof [SOUND, 0 ms] 33.17/10.37 (18) QDP 33.17/10.37 (19) TransformationProof [SOUND, 0 ms] 33.17/10.37 (20) QDP 33.17/10.37 (21) TransformationProof [EQUIVALENT, 0 ms] 33.17/10.37 (22) QDP 33.17/10.37 (23) PiDP 33.17/10.37 (24) UsableRulesProof [EQUIVALENT, 0 ms] 33.17/10.37 (25) PiDP 33.17/10.37 (26) PiDP 33.17/10.37 (27) UsableRulesProof [EQUIVALENT, 0 ms] 33.17/10.37 (28) PiDP 33.17/10.37 (29) PrologToPiTRSProof [SOUND, 0 ms] 33.17/10.37 (30) PiTRS 33.17/10.37 (31) DependencyPairsProof [EQUIVALENT, 0 ms] 33.17/10.37 (32) PiDP 33.17/10.37 (33) DependencyGraphProof [EQUIVALENT, 0 ms] 33.17/10.37 (34) AND 33.17/10.37 (35) PiDP 33.17/10.37 (36) UsableRulesProof [EQUIVALENT, 0 ms] 33.17/10.37 (37) PiDP 33.17/10.37 (38) PiDPToQDPProof [SOUND, 0 ms] 33.17/10.37 (39) QDP 33.17/10.37 (40) QDPSizeChangeProof [EQUIVALENT, 0 ms] 33.17/10.37 (41) YES 33.17/10.37 (42) PiDP 33.17/10.37 (43) UsableRulesProof [EQUIVALENT, 0 ms] 33.17/10.37 (44) PiDP 33.17/10.37 (45) PiDPToQDPProof [SOUND, 0 ms] 33.17/10.37 (46) QDP 33.17/10.37 (47) TransformationProof [SOUND, 0 ms] 33.17/10.37 (48) QDP 33.17/10.37 (49) TransformationProof [EQUIVALENT, 0 ms] 33.17/10.37 (50) QDP 33.17/10.37 (51) NonTerminationLoopProof [COMPLETE, 0 ms] 33.17/10.37 (52) NO 33.17/10.37 (53) PiDP 33.17/10.37 (54) UsableRulesProof [EQUIVALENT, 0 ms] 33.17/10.37 (55) PiDP 33.17/10.37 (56) PiDPToQDPProof [SOUND, 0 ms] 33.17/10.37 (57) QDP 33.17/10.37 (58) QDPSizeChangeProof [EQUIVALENT, 0 ms] 33.17/10.37 (59) YES 33.17/10.37 (60) PiDP 33.17/10.37 (61) UsableRulesProof [EQUIVALENT, 0 ms] 33.17/10.37 (62) PiDP 33.17/10.37 (63) PiDPToQDPProof [SOUND, 0 ms] 33.17/10.37 (64) QDP 33.17/10.37 (65) PrologToDTProblemTransformerProof [SOUND, 53 ms] 33.17/10.37 (66) TRIPLES 33.17/10.37 (67) TriplesToPiDPProof [SOUND, 0 ms] 33.17/10.37 (68) PiDP 33.17/10.37 (69) DependencyGraphProof [EQUIVALENT, 0 ms] 33.17/10.37 (70) AND 33.17/10.37 (71) PiDP 33.17/10.37 (72) UsableRulesProof [EQUIVALENT, 0 ms] 33.17/10.37 (73) PiDP 33.17/10.37 (74) PiDPToQDPProof [SOUND, 0 ms] 33.17/10.37 (75) QDP 33.17/10.37 (76) QDPSizeChangeProof [EQUIVALENT, 0 ms] 33.17/10.37 (77) YES 33.17/10.37 (78) PiDP 33.17/10.37 (79) UsableRulesProof [EQUIVALENT, 0 ms] 33.17/10.37 (80) PiDP 33.17/10.37 (81) PiDPToQDPProof [SOUND, 1 ms] 33.17/10.37 (82) QDP 33.17/10.37 (83) TransformationProof [SOUND, 0 ms] 33.17/10.37 (84) QDP 33.17/10.37 (85) TransformationProof [EQUIVALENT, 0 ms] 33.17/10.37 (86) QDP 33.17/10.37 (87) PiDP 33.17/10.37 (88) UsableRulesProof [EQUIVALENT, 0 ms] 33.17/10.37 (89) PiDP 33.17/10.37 (90) PiDP 33.17/10.37 (91) PrologToTRSTransformerProof [SOUND, 18 ms] 33.17/10.37 (92) QTRS 33.17/10.37 (93) DependencyPairsProof [EQUIVALENT, 0 ms] 33.17/10.37 (94) QDP 33.17/10.37 (95) DependencyGraphProof [EQUIVALENT, 0 ms] 33.17/10.37 (96) AND 33.17/10.37 (97) QDP 33.17/10.37 (98) UsableRulesProof [EQUIVALENT, 0 ms] 33.17/10.37 (99) QDP 33.17/10.37 (100) QDPSizeChangeProof [EQUIVALENT, 0 ms] 33.17/10.37 (101) YES 33.17/10.37 (102) QDP 33.17/10.37 (103) NonTerminationLoopProof [COMPLETE, 0 ms] 33.17/10.37 (104) NO 33.17/10.37 (105) QDP 33.17/10.37 (106) UsableRulesProof [EQUIVALENT, 0 ms] 33.17/10.37 (107) QDP 33.17/10.37 (108) QDPSizeChangeProof [EQUIVALENT, 0 ms] 33.17/10.37 (109) YES 33.17/10.37 (110) QDP 33.17/10.37 (111) NonTerminationLoopProof [COMPLETE, 8 ms] 33.17/10.37 (112) NO 33.17/10.37 (113) PrologToIRSwTTransformerProof [SOUND, 52 ms] 33.17/10.37 (114) AND 33.17/10.37 (115) IRSwT 33.17/10.37 (116) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms] 33.17/10.37 (117) TRUE 33.17/10.37 (118) IRSwT 33.17/10.37 (119) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms] 33.17/10.37 (120) TRUE 33.17/10.37 (121) IRSwT 33.17/10.37 (122) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms] 33.17/10.37 (123) IRSwT 33.17/10.37 (124) IntTRSCompressionProof [EQUIVALENT, 44 ms] 33.17/10.37 (125) IRSwT 33.17/10.37 (126) IRSFormatTransformerProof [EQUIVALENT, 0 ms] 33.17/10.37 (127) IRSwT 33.17/10.37 (128) IRSwTTerminationDigraphProof [EQUIVALENT, 0 ms] 33.17/10.37 (129) IRSwT 33.17/10.37 (130) IntTRSUnneededArgumentFilterProof [EQUIVALENT, 21 ms] 33.17/10.37 (131) IRSwT 33.17/10.37 (132) TempFilterProof [SOUND, 2 ms] 33.17/10.37 (133) IRSwT 33.17/10.37 (134) IRSwTToQDPProof [SOUND, 0 ms] 33.17/10.37 (135) QDP 33.17/10.37 (136) QDPSizeChangeProof [EQUIVALENT, 0 ms] 33.17/10.37 (137) YES 33.17/10.37 (138) IRSwT 33.17/10.37 (139) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms] 33.17/10.37 (140) IRSwT 33.17/10.37 (141) IntTRSCompressionProof [EQUIVALENT, 26 ms] 33.17/10.37 (142) IRSwT 33.17/10.37 (143) IRSFormatTransformerProof [EQUIVALENT, 0 ms] 33.17/10.37 (144) IRSwT 33.17/10.37 33.17/10.37 33.17/10.37 ---------------------------------------- 33.17/10.37 33.17/10.37 (0) 33.17/10.37 Obligation: 33.17/10.37 Clauses: 33.17/10.37 33.17/10.37 color_map(.(Region, Regions), Colors) :- ','(color_region(Region, Colors), color_map(Regions, Colors)). 33.17/10.37 color_map([], Colors). 33.17/10.37 color_region(region(Name, Color, Neighbors), Colors) :- ','(select(Color, Colors, Colors1), members(Neighbors, Colors1)). 33.17/10.37 select(X, .(X, Xs), Xs). 33.17/10.37 select(X, .(Y, Ys), .(Y, Zs)) :- select(X, Ys, Zs). 33.17/10.37 members(.(X, Xs), Ys) :- ','(member(X, Ys), members(Xs, Ys)). 33.17/10.37 members([], Ys). 33.17/10.37 member(X, .(X, X1)). 33.17/10.37 member(X, .(X2, T)) :- member(X, T). 33.17/10.37 test_color(Name, Map) :- ','(map(Name, Map), ','(colors(Name, Colors), color_map(Map, Colors))). 33.17/10.37 map(test, .(region(a, A, .(B, .(C, .(D, [])))), .(region(b, B, .(A, .(C, .(E, [])))), .(region(c, C, .(A, .(B, .(D, .(E, .(F, [])))))), .(region(d, D, .(A, .(C, .(F, [])))), .(region(e, E, .(B, .(C, .(F, [])))), .(region(f, F, .(C, .(D, .(E, [])))), []))))))). 33.17/10.37 map(west_europe, .(region(portugal, P, .(E, [])), .(region(spain, E, .(F, .(P, []))), .(region(france, F, .(E, .(I, .(S, .(B, .(WG, .(L, []))))))), .(region(belgium, B, .(F, .(H, .(L, .(WG, []))))), .(region(holland, H, .(B, .(WG, []))), .(region(west_germany, WG, .(F, .(A, .(S, .(H, .(B, .(L, []))))))), .(region(luxembourg, L, .(F, .(B, .(WG, [])))), .(region(italy, I, .(F, .(A, .(S, [])))), .(region(switzerland, S, .(F, .(I, .(A, .(WG, []))))), .(region(austria, A, .(I, .(S, .(WG, [])))), []))))))))))). 33.17/10.37 colors(X, .(red, .(yellow, .(blue, .(white, []))))). 33.17/10.37 33.17/10.37 33.17/10.37 Query: color_map(a,g) 33.17/10.37 ---------------------------------------- 33.17/10.37 33.17/10.37 (1) PrologToPiTRSProof (SOUND) 33.17/10.37 We use the technique of [TOCL09]. With regard to the inferred argument filtering the predicates were used in the following modes: 33.17/10.37 33.17/10.37 color_map_in_2: (f,b) 33.17/10.37 33.17/10.37 color_region_in_2: (f,b) 33.17/10.37 33.17/10.37 select_in_3: (f,b,f) 33.17/10.37 33.17/10.37 members_in_2: (f,b) 33.17/10.37 33.17/10.37 member_in_2: (f,b) 33.17/10.37 33.17/10.37 Transforming Prolog into the following Term Rewriting System: 33.17/10.37 33.17/10.37 Pi-finite rewrite system: 33.17/10.37 The TRS R consists of the following rules: 33.17/10.37 33.17/10.37 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 33.17/10.37 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 33.17/10.37 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 33.17/10.37 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 33.17/10.37 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 33.17/10.37 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 33.17/10.37 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 33.17/10.37 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 33.17/10.37 member_in_ag(X, .(X2, T)) -> U8_ag(X, X2, T, member_in_ag(X, T)) 33.17/10.37 U8_ag(X, X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 33.17/10.37 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 33.17/10.37 members_in_ag([], Ys) -> members_out_ag([], Ys) 33.17/10.37 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 33.17/10.37 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 33.17/10.37 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 33.17/10.37 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 33.17/10.37 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 33.17/10.37 33.17/10.37 The argument filtering Pi contains the following mapping: 33.17/10.37 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 33.17/10.37 33.17/10.37 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 33.17/10.37 33.17/10.37 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 33.17/10.37 33.17/10.37 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x4, x5) 33.17/10.37 33.17/10.37 select_in_aga(x1, x2, x3) = select_in_aga(x2) 33.17/10.37 33.17/10.37 .(x1, x2) = .(x1, x2) 33.17/10.37 33.17/10.37 select_out_aga(x1, x2, x3) = select_out_aga(x1, x2, x3) 33.17/10.37 33.17/10.37 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x3, x5) 33.17/10.37 33.17/10.37 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x4, x5) 33.17/10.37 33.17/10.37 members_in_ag(x1, x2) = members_in_ag(x2) 33.17/10.37 33.17/10.37 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 33.17/10.37 33.17/10.37 member_in_ag(x1, x2) = member_in_ag(x2) 33.17/10.37 33.17/10.37 member_out_ag(x1, x2) = member_out_ag(x1, x2) 33.17/10.37 33.17/10.37 U8_ag(x1, x2, x3, x4) = U8_ag(x2, x3, x4) 33.17/10.37 33.17/10.37 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x3, x4) 33.17/10.37 33.17/10.37 members_out_ag(x1, x2) = members_out_ag(x1, x2) 33.17/10.37 33.17/10.37 color_region_out_ag(x1, x2) = color_region_out_ag(x1, x2) 33.17/10.37 33.17/10.37 region(x1, x2, x3) = region(x2, x3) 33.17/10.37 33.17/10.37 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x3, x4) 33.17/10.37 33.17/10.37 color_map_out_ag(x1, x2) = color_map_out_ag(x1, x2) 33.17/10.37 33.17/10.37 33.17/10.37 33.17/10.37 33.17/10.37 33.17/10.37 Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog 33.17/10.37 33.17/10.37 33.17/10.37 33.17/10.37 ---------------------------------------- 33.17/10.37 33.17/10.37 (2) 33.17/10.37 Obligation: 33.17/10.37 Pi-finite rewrite system: 33.17/10.37 The TRS R consists of the following rules: 33.17/10.37 33.17/10.37 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 33.17/10.37 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 33.17/10.37 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 33.17/10.37 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 33.17/10.37 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 33.17/10.37 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 33.17/10.37 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 33.17/10.37 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 33.17/10.37 member_in_ag(X, .(X2, T)) -> U8_ag(X, X2, T, member_in_ag(X, T)) 33.17/10.37 U8_ag(X, X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 33.17/10.37 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 33.17/10.37 members_in_ag([], Ys) -> members_out_ag([], Ys) 33.17/10.37 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 33.17/10.37 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 33.17/10.37 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 33.17/10.37 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 33.17/10.37 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 33.17/10.37 33.17/10.37 The argument filtering Pi contains the following mapping: 33.17/10.37 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 33.17/10.37 33.17/10.37 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 33.17/10.37 33.17/10.37 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 33.17/10.37 33.17/10.37 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x4, x5) 33.17/10.37 33.17/10.37 select_in_aga(x1, x2, x3) = select_in_aga(x2) 33.17/10.37 33.17/10.37 .(x1, x2) = .(x1, x2) 33.17/10.37 33.17/10.37 select_out_aga(x1, x2, x3) = select_out_aga(x1, x2, x3) 33.17/10.37 33.17/10.37 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x3, x5) 33.17/10.37 33.17/10.37 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x4, x5) 33.17/10.37 33.17/10.37 members_in_ag(x1, x2) = members_in_ag(x2) 33.17/10.37 33.17/10.37 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 33.17/10.37 33.17/10.37 member_in_ag(x1, x2) = member_in_ag(x2) 33.17/10.37 33.17/10.37 member_out_ag(x1, x2) = member_out_ag(x1, x2) 33.17/10.37 33.17/10.37 U8_ag(x1, x2, x3, x4) = U8_ag(x2, x3, x4) 33.17/10.37 33.17/10.37 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x3, x4) 33.17/10.37 33.17/10.37 members_out_ag(x1, x2) = members_out_ag(x1, x2) 33.17/10.37 33.17/10.37 color_region_out_ag(x1, x2) = color_region_out_ag(x1, x2) 33.17/10.37 33.17/10.37 region(x1, x2, x3) = region(x2, x3) 33.17/10.37 33.17/10.37 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x3, x4) 33.17/10.37 33.17/10.37 color_map_out_ag(x1, x2) = color_map_out_ag(x1, x2) 33.17/10.37 33.17/10.37 33.17/10.37 33.17/10.37 ---------------------------------------- 33.17/10.37 33.17/10.37 (3) DependencyPairsProof (EQUIVALENT) 33.17/10.37 Using Dependency Pairs [AG00,LOPSTR] we result in the following initial DP problem: 33.17/10.37 Pi DP problem: 33.17/10.37 The TRS P consists of the following rules: 33.17/10.37 33.17/10.37 COLOR_MAP_IN_AG(.(Region, Regions), Colors) -> U1_AG(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 33.17/10.37 COLOR_MAP_IN_AG(.(Region, Regions), Colors) -> COLOR_REGION_IN_AG(Region, Colors) 33.17/10.37 COLOR_REGION_IN_AG(region(Name, Color, Neighbors), Colors) -> U3_AG(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 33.17/10.37 COLOR_REGION_IN_AG(region(Name, Color, Neighbors), Colors) -> SELECT_IN_AGA(Color, Colors, Colors1) 33.17/10.37 SELECT_IN_AGA(X, .(Y, Ys), .(Y, Zs)) -> U5_AGA(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 33.17/10.37 SELECT_IN_AGA(X, .(Y, Ys), .(Y, Zs)) -> SELECT_IN_AGA(X, Ys, Zs) 33.17/10.37 U3_AG(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_AG(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 33.17/10.37 U3_AG(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> MEMBERS_IN_AG(Neighbors, Colors1) 33.17/10.37 MEMBERS_IN_AG(.(X, Xs), Ys) -> U6_AG(X, Xs, Ys, member_in_ag(X, Ys)) 33.17/10.37 MEMBERS_IN_AG(.(X, Xs), Ys) -> MEMBER_IN_AG(X, Ys) 33.17/10.37 MEMBER_IN_AG(X, .(X2, T)) -> U8_AG(X, X2, T, member_in_ag(X, T)) 33.17/10.37 MEMBER_IN_AG(X, .(X2, T)) -> MEMBER_IN_AG(X, T) 33.17/10.37 U6_AG(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_AG(X, Xs, Ys, members_in_ag(Xs, Ys)) 33.17/10.37 U6_AG(X, Xs, Ys, member_out_ag(X, Ys)) -> MEMBERS_IN_AG(Xs, Ys) 33.17/10.37 U1_AG(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_AG(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 33.17/10.37 U1_AG(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> COLOR_MAP_IN_AG(Regions, Colors) 33.17/10.37 33.17/10.37 The TRS R consists of the following rules: 33.17/10.37 33.17/10.37 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 33.17/10.37 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 33.17/10.37 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 33.17/10.37 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 33.17/10.37 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 33.17/10.37 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 33.17/10.37 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 33.17/10.37 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 33.17/10.37 member_in_ag(X, .(X2, T)) -> U8_ag(X, X2, T, member_in_ag(X, T)) 33.17/10.37 U8_ag(X, X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 33.17/10.37 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 33.17/10.37 members_in_ag([], Ys) -> members_out_ag([], Ys) 33.17/10.37 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 33.17/10.37 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 33.17/10.37 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 33.17/10.37 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 33.17/10.37 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 33.17/10.37 33.17/10.37 The argument filtering Pi contains the following mapping: 33.17/10.37 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 33.17/10.37 33.17/10.37 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 33.17/10.37 33.17/10.37 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 33.17/10.37 33.17/10.37 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x4, x5) 33.17/10.37 33.17/10.37 select_in_aga(x1, x2, x3) = select_in_aga(x2) 33.17/10.37 33.17/10.37 .(x1, x2) = .(x1, x2) 33.17/10.37 33.17/10.37 select_out_aga(x1, x2, x3) = select_out_aga(x1, x2, x3) 33.17/10.37 33.17/10.37 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x3, x5) 33.17/10.37 33.17/10.37 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x4, x5) 33.17/10.37 33.17/10.37 members_in_ag(x1, x2) = members_in_ag(x2) 33.17/10.37 33.17/10.37 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 33.17/10.37 33.17/10.37 member_in_ag(x1, x2) = member_in_ag(x2) 33.17/10.37 33.17/10.37 member_out_ag(x1, x2) = member_out_ag(x1, x2) 33.17/10.37 33.17/10.37 U8_ag(x1, x2, x3, x4) = U8_ag(x2, x3, x4) 33.17/10.37 33.17/10.37 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x3, x4) 33.17/10.37 33.17/10.37 members_out_ag(x1, x2) = members_out_ag(x1, x2) 33.17/10.37 33.17/10.37 color_region_out_ag(x1, x2) = color_region_out_ag(x1, x2) 33.17/10.37 33.17/10.37 region(x1, x2, x3) = region(x2, x3) 33.17/10.37 33.17/10.37 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x3, x4) 33.17/10.37 33.17/10.37 color_map_out_ag(x1, x2) = color_map_out_ag(x1, x2) 33.17/10.37 33.17/10.37 COLOR_MAP_IN_AG(x1, x2) = COLOR_MAP_IN_AG(x2) 33.17/10.37 33.17/10.37 U1_AG(x1, x2, x3, x4) = U1_AG(x3, x4) 33.17/10.37 33.17/10.37 COLOR_REGION_IN_AG(x1, x2) = COLOR_REGION_IN_AG(x2) 33.17/10.37 33.17/10.37 U3_AG(x1, x2, x3, x4, x5) = U3_AG(x4, x5) 33.17/10.37 33.17/10.37 SELECT_IN_AGA(x1, x2, x3) = SELECT_IN_AGA(x2) 33.17/10.37 33.17/10.37 U5_AGA(x1, x2, x3, x4, x5) = U5_AGA(x2, x3, x5) 33.17/10.37 33.17/10.37 U4_AG(x1, x2, x3, x4, x5) = U4_AG(x2, x4, x5) 33.17/10.37 33.17/10.37 MEMBERS_IN_AG(x1, x2) = MEMBERS_IN_AG(x2) 33.17/10.37 33.17/10.37 U6_AG(x1, x2, x3, x4) = U6_AG(x3, x4) 33.17/10.37 33.17/10.37 MEMBER_IN_AG(x1, x2) = MEMBER_IN_AG(x2) 33.17/10.37 33.17/10.37 U8_AG(x1, x2, x3, x4) = U8_AG(x2, x3, x4) 33.17/10.37 33.17/10.37 U7_AG(x1, x2, x3, x4) = U7_AG(x1, x3, x4) 33.17/10.37 33.17/10.37 U2_AG(x1, x2, x3, x4) = U2_AG(x1, x3, x4) 33.17/10.37 33.17/10.37 33.17/10.37 We have to consider all (P,R,Pi)-chains 33.17/10.37 ---------------------------------------- 33.17/10.37 33.17/10.37 (4) 33.17/10.37 Obligation: 33.17/10.37 Pi DP problem: 33.17/10.37 The TRS P consists of the following rules: 33.17/10.37 33.17/10.37 COLOR_MAP_IN_AG(.(Region, Regions), Colors) -> U1_AG(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 33.17/10.37 COLOR_MAP_IN_AG(.(Region, Regions), Colors) -> COLOR_REGION_IN_AG(Region, Colors) 33.17/10.37 COLOR_REGION_IN_AG(region(Name, Color, Neighbors), Colors) -> U3_AG(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 33.17/10.37 COLOR_REGION_IN_AG(region(Name, Color, Neighbors), Colors) -> SELECT_IN_AGA(Color, Colors, Colors1) 33.17/10.37 SELECT_IN_AGA(X, .(Y, Ys), .(Y, Zs)) -> U5_AGA(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 33.17/10.37 SELECT_IN_AGA(X, .(Y, Ys), .(Y, Zs)) -> SELECT_IN_AGA(X, Ys, Zs) 33.17/10.37 U3_AG(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_AG(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 33.17/10.37 U3_AG(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> MEMBERS_IN_AG(Neighbors, Colors1) 33.17/10.37 MEMBERS_IN_AG(.(X, Xs), Ys) -> U6_AG(X, Xs, Ys, member_in_ag(X, Ys)) 33.17/10.37 MEMBERS_IN_AG(.(X, Xs), Ys) -> MEMBER_IN_AG(X, Ys) 33.17/10.37 MEMBER_IN_AG(X, .(X2, T)) -> U8_AG(X, X2, T, member_in_ag(X, T)) 33.17/10.37 MEMBER_IN_AG(X, .(X2, T)) -> MEMBER_IN_AG(X, T) 33.17/10.37 U6_AG(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_AG(X, Xs, Ys, members_in_ag(Xs, Ys)) 33.17/10.37 U6_AG(X, Xs, Ys, member_out_ag(X, Ys)) -> MEMBERS_IN_AG(Xs, Ys) 33.17/10.37 U1_AG(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_AG(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 33.17/10.37 U1_AG(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> COLOR_MAP_IN_AG(Regions, Colors) 33.17/10.37 33.17/10.37 The TRS R consists of the following rules: 33.17/10.37 33.17/10.37 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 33.17/10.37 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 33.17/10.37 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 33.17/10.37 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 33.17/10.37 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 33.17/10.37 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 33.17/10.37 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 33.17/10.37 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 33.17/10.37 member_in_ag(X, .(X2, T)) -> U8_ag(X, X2, T, member_in_ag(X, T)) 33.17/10.37 U8_ag(X, X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 33.17/10.37 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 33.17/10.37 members_in_ag([], Ys) -> members_out_ag([], Ys) 33.17/10.37 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 33.17/10.37 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 33.17/10.37 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 33.17/10.37 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 33.17/10.37 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 33.17/10.37 33.17/10.37 The argument filtering Pi contains the following mapping: 33.17/10.37 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 33.17/10.37 33.17/10.37 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 33.17/10.37 33.17/10.37 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 33.17/10.37 33.17/10.37 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x4, x5) 33.17/10.37 33.17/10.37 select_in_aga(x1, x2, x3) = select_in_aga(x2) 33.17/10.37 33.17/10.37 .(x1, x2) = .(x1, x2) 33.17/10.37 33.17/10.37 select_out_aga(x1, x2, x3) = select_out_aga(x1, x2, x3) 33.17/10.37 33.17/10.37 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x3, x5) 33.17/10.37 33.17/10.37 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x4, x5) 33.17/10.37 33.17/10.37 members_in_ag(x1, x2) = members_in_ag(x2) 33.17/10.37 33.17/10.37 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 33.17/10.37 33.17/10.37 member_in_ag(x1, x2) = member_in_ag(x2) 33.17/10.37 33.17/10.37 member_out_ag(x1, x2) = member_out_ag(x1, x2) 33.17/10.37 33.17/10.37 U8_ag(x1, x2, x3, x4) = U8_ag(x2, x3, x4) 33.17/10.37 33.17/10.37 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x3, x4) 33.17/10.37 33.17/10.37 members_out_ag(x1, x2) = members_out_ag(x1, x2) 33.17/10.37 33.17/10.37 color_region_out_ag(x1, x2) = color_region_out_ag(x1, x2) 33.17/10.37 33.17/10.37 region(x1, x2, x3) = region(x2, x3) 33.17/10.37 33.17/10.37 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x3, x4) 33.17/10.37 33.17/10.37 color_map_out_ag(x1, x2) = color_map_out_ag(x1, x2) 33.17/10.37 33.17/10.37 COLOR_MAP_IN_AG(x1, x2) = COLOR_MAP_IN_AG(x2) 33.17/10.37 33.17/10.37 U1_AG(x1, x2, x3, x4) = U1_AG(x3, x4) 33.17/10.37 33.17/10.37 COLOR_REGION_IN_AG(x1, x2) = COLOR_REGION_IN_AG(x2) 33.17/10.37 33.17/10.37 U3_AG(x1, x2, x3, x4, x5) = U3_AG(x4, x5) 33.17/10.37 33.17/10.37 SELECT_IN_AGA(x1, x2, x3) = SELECT_IN_AGA(x2) 33.17/10.37 33.17/10.37 U5_AGA(x1, x2, x3, x4, x5) = U5_AGA(x2, x3, x5) 33.17/10.37 33.17/10.37 U4_AG(x1, x2, x3, x4, x5) = U4_AG(x2, x4, x5) 33.17/10.37 33.17/10.37 MEMBERS_IN_AG(x1, x2) = MEMBERS_IN_AG(x2) 33.17/10.37 33.17/10.37 U6_AG(x1, x2, x3, x4) = U6_AG(x3, x4) 33.17/10.37 33.17/10.37 MEMBER_IN_AG(x1, x2) = MEMBER_IN_AG(x2) 33.17/10.37 33.17/10.37 U8_AG(x1, x2, x3, x4) = U8_AG(x2, x3, x4) 33.17/10.37 33.17/10.37 U7_AG(x1, x2, x3, x4) = U7_AG(x1, x3, x4) 33.17/10.37 33.17/10.37 U2_AG(x1, x2, x3, x4) = U2_AG(x1, x3, x4) 33.17/10.37 33.17/10.37 33.17/10.37 We have to consider all (P,R,Pi)-chains 33.17/10.37 ---------------------------------------- 33.17/10.37 33.17/10.37 (5) DependencyGraphProof (EQUIVALENT) 33.17/10.37 The approximation of the Dependency Graph [LOPSTR] contains 4 SCCs with 10 less nodes. 33.17/10.37 ---------------------------------------- 33.17/10.37 33.17/10.37 (6) 33.17/10.37 Complex Obligation (AND) 33.17/10.37 33.17/10.37 ---------------------------------------- 33.17/10.37 33.17/10.37 (7) 33.17/10.37 Obligation: 33.17/10.37 Pi DP problem: 33.17/10.37 The TRS P consists of the following rules: 33.17/10.37 33.17/10.37 MEMBER_IN_AG(X, .(X2, T)) -> MEMBER_IN_AG(X, T) 33.17/10.37 33.17/10.37 The TRS R consists of the following rules: 33.17/10.37 33.17/10.37 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 33.17/10.37 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 33.17/10.37 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 33.17/10.37 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 33.17/10.37 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 33.17/10.37 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 33.17/10.37 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 33.17/10.37 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 33.17/10.37 member_in_ag(X, .(X2, T)) -> U8_ag(X, X2, T, member_in_ag(X, T)) 33.17/10.37 U8_ag(X, X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 33.17/10.37 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 33.17/10.37 members_in_ag([], Ys) -> members_out_ag([], Ys) 33.17/10.37 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 33.17/10.37 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 33.17/10.37 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 33.17/10.37 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 33.17/10.37 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 33.17/10.37 33.17/10.37 The argument filtering Pi contains the following mapping: 33.17/10.37 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 33.17/10.37 33.17/10.37 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 33.17/10.37 33.17/10.37 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 33.17/10.37 33.17/10.37 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x4, x5) 33.17/10.37 33.17/10.37 select_in_aga(x1, x2, x3) = select_in_aga(x2) 33.17/10.37 33.17/10.37 .(x1, x2) = .(x1, x2) 33.17/10.37 33.17/10.37 select_out_aga(x1, x2, x3) = select_out_aga(x1, x2, x3) 33.17/10.37 33.17/10.37 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x3, x5) 33.17/10.37 33.17/10.37 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x4, x5) 33.17/10.37 33.17/10.37 members_in_ag(x1, x2) = members_in_ag(x2) 33.17/10.37 33.17/10.37 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 33.17/10.37 33.17/10.37 member_in_ag(x1, x2) = member_in_ag(x2) 33.17/10.37 33.17/10.37 member_out_ag(x1, x2) = member_out_ag(x1, x2) 33.17/10.37 33.17/10.37 U8_ag(x1, x2, x3, x4) = U8_ag(x2, x3, x4) 33.17/10.37 33.17/10.37 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x3, x4) 33.17/10.37 33.17/10.37 members_out_ag(x1, x2) = members_out_ag(x1, x2) 33.17/10.37 33.17/10.37 color_region_out_ag(x1, x2) = color_region_out_ag(x1, x2) 33.17/10.37 33.17/10.37 region(x1, x2, x3) = region(x2, x3) 33.17/10.37 33.17/10.37 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x3, x4) 33.17/10.37 33.17/10.37 color_map_out_ag(x1, x2) = color_map_out_ag(x1, x2) 33.17/10.37 33.17/10.37 MEMBER_IN_AG(x1, x2) = MEMBER_IN_AG(x2) 33.17/10.37 33.17/10.37 33.17/10.37 We have to consider all (P,R,Pi)-chains 33.17/10.37 ---------------------------------------- 33.17/10.37 33.17/10.37 (8) UsableRulesProof (EQUIVALENT) 33.17/10.37 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 33.17/10.37 ---------------------------------------- 33.17/10.37 33.17/10.37 (9) 33.17/10.37 Obligation: 33.17/10.37 Pi DP problem: 33.17/10.37 The TRS P consists of the following rules: 33.17/10.37 33.17/10.37 MEMBER_IN_AG(X, .(X2, T)) -> MEMBER_IN_AG(X, T) 33.17/10.37 33.17/10.37 R is empty. 33.17/10.37 The argument filtering Pi contains the following mapping: 33.17/10.37 .(x1, x2) = .(x1, x2) 33.17/10.37 33.17/10.37 MEMBER_IN_AG(x1, x2) = MEMBER_IN_AG(x2) 33.17/10.37 33.17/10.37 33.17/10.37 We have to consider all (P,R,Pi)-chains 33.17/10.37 ---------------------------------------- 33.17/10.37 33.17/10.37 (10) PiDPToQDPProof (SOUND) 33.17/10.37 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 33.17/10.37 ---------------------------------------- 33.17/10.37 33.17/10.37 (11) 33.17/10.37 Obligation: 33.17/10.37 Q DP problem: 33.17/10.37 The TRS P consists of the following rules: 33.17/10.37 33.17/10.37 MEMBER_IN_AG(.(X2, T)) -> MEMBER_IN_AG(T) 33.17/10.37 33.17/10.37 R is empty. 33.17/10.37 Q is empty. 33.17/10.37 We have to consider all (P,Q,R)-chains. 33.17/10.37 ---------------------------------------- 33.17/10.37 33.17/10.37 (12) QDPSizeChangeProof (EQUIVALENT) 33.17/10.37 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. 33.17/10.37 33.17/10.37 From the DPs we obtained the following set of size-change graphs: 33.17/10.37 *MEMBER_IN_AG(.(X2, T)) -> MEMBER_IN_AG(T) 33.17/10.37 The graph contains the following edges 1 > 1 33.17/10.37 33.17/10.37 33.17/10.37 ---------------------------------------- 33.17/10.37 33.17/10.37 (13) 33.17/10.37 YES 33.17/10.37 33.17/10.37 ---------------------------------------- 33.17/10.37 33.17/10.37 (14) 33.17/10.37 Obligation: 33.17/10.37 Pi DP problem: 33.17/10.37 The TRS P consists of the following rules: 33.17/10.37 33.17/10.37 U6_AG(X, Xs, Ys, member_out_ag(X, Ys)) -> MEMBERS_IN_AG(Xs, Ys) 33.17/10.37 MEMBERS_IN_AG(.(X, Xs), Ys) -> U6_AG(X, Xs, Ys, member_in_ag(X, Ys)) 33.17/10.37 33.17/10.37 The TRS R consists of the following rules: 33.17/10.37 33.17/10.37 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 33.17/10.37 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 33.17/10.37 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 33.17/10.37 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 33.17/10.37 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 33.17/10.37 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 33.17/10.37 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 33.17/10.37 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 33.17/10.37 member_in_ag(X, .(X2, T)) -> U8_ag(X, X2, T, member_in_ag(X, T)) 33.17/10.37 U8_ag(X, X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 33.17/10.37 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 33.17/10.37 members_in_ag([], Ys) -> members_out_ag([], Ys) 33.17/10.37 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 33.17/10.37 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 33.17/10.37 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 33.17/10.37 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 33.17/10.37 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 33.17/10.37 33.17/10.37 The argument filtering Pi contains the following mapping: 33.17/10.37 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 33.17/10.37 33.17/10.37 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 33.17/10.37 33.17/10.37 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 33.17/10.37 33.17/10.37 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x4, x5) 33.17/10.37 33.17/10.37 select_in_aga(x1, x2, x3) = select_in_aga(x2) 33.17/10.37 33.17/10.37 .(x1, x2) = .(x1, x2) 33.17/10.37 33.17/10.37 select_out_aga(x1, x2, x3) = select_out_aga(x1, x2, x3) 33.17/10.37 33.17/10.37 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x3, x5) 33.17/10.37 33.17/10.37 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x4, x5) 33.17/10.37 33.17/10.37 members_in_ag(x1, x2) = members_in_ag(x2) 33.17/10.37 33.17/10.37 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 33.17/10.37 33.17/10.37 member_in_ag(x1, x2) = member_in_ag(x2) 33.17/10.37 33.17/10.37 member_out_ag(x1, x2) = member_out_ag(x1, x2) 33.17/10.37 33.17/10.37 U8_ag(x1, x2, x3, x4) = U8_ag(x2, x3, x4) 33.17/10.37 33.17/10.37 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x3, x4) 33.17/10.37 33.17/10.37 members_out_ag(x1, x2) = members_out_ag(x1, x2) 33.17/10.37 33.17/10.37 color_region_out_ag(x1, x2) = color_region_out_ag(x1, x2) 33.17/10.37 33.17/10.37 region(x1, x2, x3) = region(x2, x3) 33.17/10.37 33.17/10.37 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x3, x4) 33.17/10.37 33.17/10.37 color_map_out_ag(x1, x2) = color_map_out_ag(x1, x2) 33.17/10.37 33.17/10.37 MEMBERS_IN_AG(x1, x2) = MEMBERS_IN_AG(x2) 33.17/10.37 33.17/10.37 U6_AG(x1, x2, x3, x4) = U6_AG(x3, x4) 33.17/10.37 33.17/10.37 33.17/10.37 We have to consider all (P,R,Pi)-chains 33.17/10.37 ---------------------------------------- 33.17/10.37 33.17/10.37 (15) UsableRulesProof (EQUIVALENT) 33.17/10.37 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 33.17/10.37 ---------------------------------------- 33.17/10.37 33.17/10.37 (16) 33.17/10.37 Obligation: 33.17/10.37 Pi DP problem: 33.17/10.37 The TRS P consists of the following rules: 33.17/10.37 33.17/10.37 U6_AG(X, Xs, Ys, member_out_ag(X, Ys)) -> MEMBERS_IN_AG(Xs, Ys) 33.17/10.37 MEMBERS_IN_AG(.(X, Xs), Ys) -> U6_AG(X, Xs, Ys, member_in_ag(X, Ys)) 33.17/10.37 33.17/10.37 The TRS R consists of the following rules: 33.17/10.37 33.17/10.37 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 33.17/10.37 member_in_ag(X, .(X2, T)) -> U8_ag(X, X2, T, member_in_ag(X, T)) 33.17/10.37 U8_ag(X, X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 33.17/10.37 33.17/10.37 The argument filtering Pi contains the following mapping: 33.17/10.37 .(x1, x2) = .(x1, x2) 33.17/10.37 33.17/10.37 member_in_ag(x1, x2) = member_in_ag(x2) 33.17/10.37 33.17/10.37 member_out_ag(x1, x2) = member_out_ag(x1, x2) 33.17/10.37 33.17/10.37 U8_ag(x1, x2, x3, x4) = U8_ag(x2, x3, x4) 33.17/10.37 33.17/10.37 MEMBERS_IN_AG(x1, x2) = MEMBERS_IN_AG(x2) 33.17/10.37 33.17/10.37 U6_AG(x1, x2, x3, x4) = U6_AG(x3, x4) 33.17/10.37 33.17/10.37 33.17/10.37 We have to consider all (P,R,Pi)-chains 33.17/10.37 ---------------------------------------- 33.17/10.37 33.17/10.37 (17) PiDPToQDPProof (SOUND) 33.17/10.37 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 33.17/10.37 ---------------------------------------- 33.17/10.37 33.17/10.37 (18) 33.17/10.37 Obligation: 33.17/10.37 Q DP problem: 33.17/10.37 The TRS P consists of the following rules: 33.17/10.37 33.17/10.37 U6_AG(Ys, member_out_ag(X, Ys)) -> MEMBERS_IN_AG(Ys) 33.17/10.37 MEMBERS_IN_AG(Ys) -> U6_AG(Ys, member_in_ag(Ys)) 33.17/10.37 33.17/10.37 The TRS R consists of the following rules: 33.17/10.37 33.17/10.37 member_in_ag(.(X, X1)) -> member_out_ag(X, .(X, X1)) 33.17/10.37 member_in_ag(.(X2, T)) -> U8_ag(X2, T, member_in_ag(T)) 33.17/10.37 U8_ag(X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 33.17/10.37 33.17/10.37 The set Q consists of the following terms: 33.17/10.37 33.17/10.37 member_in_ag(x0) 33.17/10.37 U8_ag(x0, x1, x2) 33.17/10.37 33.17/10.37 We have to consider all (P,Q,R)-chains. 33.17/10.37 ---------------------------------------- 33.17/10.37 33.17/10.37 (19) TransformationProof (SOUND) 33.17/10.37 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]: 33.17/10.37 33.17/10.37 (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)))) 33.17/10.37 (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)))) 33.17/10.37 33.17/10.37 33.17/10.37 ---------------------------------------- 33.17/10.37 33.17/10.37 (20) 33.17/10.37 Obligation: 33.17/10.37 Q DP problem: 33.17/10.37 The TRS P consists of the following rules: 33.17/10.37 33.17/10.37 U6_AG(Ys, member_out_ag(X, Ys)) -> MEMBERS_IN_AG(Ys) 33.17/10.37 MEMBERS_IN_AG(.(x0, x1)) -> U6_AG(.(x0, x1), member_out_ag(x0, .(x0, x1))) 33.17/10.37 MEMBERS_IN_AG(.(x0, x1)) -> U6_AG(.(x0, x1), U8_ag(x0, x1, member_in_ag(x1))) 33.17/10.37 33.17/10.37 The TRS R consists of the following rules: 33.17/10.37 33.17/10.37 member_in_ag(.(X, X1)) -> member_out_ag(X, .(X, X1)) 33.17/10.37 member_in_ag(.(X2, T)) -> U8_ag(X2, T, member_in_ag(T)) 33.17/10.37 U8_ag(X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 33.17/10.37 33.17/10.37 The set Q consists of the following terms: 33.17/10.37 33.17/10.37 member_in_ag(x0) 33.17/10.37 U8_ag(x0, x1, x2) 33.17/10.37 33.17/10.37 We have to consider all (P,Q,R)-chains. 33.17/10.37 ---------------------------------------- 33.17/10.37 33.17/10.37 (21) TransformationProof (EQUIVALENT) 33.17/10.37 By instantiating [LPAR04] the rule U6_AG(Ys, member_out_ag(X, Ys)) -> MEMBERS_IN_AG(Ys) we obtained the following new rules [LPAR04]: 33.17/10.37 33.17/10.37 (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))) 33.17/10.37 (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))) 33.17/10.37 33.17/10.37 33.17/10.37 ---------------------------------------- 33.17/10.37 33.17/10.37 (22) 33.17/10.37 Obligation: 33.17/10.37 Q DP problem: 33.17/10.37 The TRS P consists of the following rules: 33.17/10.37 33.17/10.37 MEMBERS_IN_AG(.(x0, x1)) -> U6_AG(.(x0, x1), member_out_ag(x0, .(x0, x1))) 33.17/10.37 MEMBERS_IN_AG(.(x0, x1)) -> U6_AG(.(x0, x1), U8_ag(x0, x1, member_in_ag(x1))) 33.17/10.37 U6_AG(.(z0, z1), member_out_ag(z0, .(z0, z1))) -> MEMBERS_IN_AG(.(z0, z1)) 33.17/10.37 U6_AG(.(z0, z1), member_out_ag(x1, .(z0, z1))) -> MEMBERS_IN_AG(.(z0, z1)) 33.17/10.37 33.17/10.37 The TRS R consists of the following rules: 33.17/10.37 33.17/10.37 member_in_ag(.(X, X1)) -> member_out_ag(X, .(X, X1)) 33.17/10.37 member_in_ag(.(X2, T)) -> U8_ag(X2, T, member_in_ag(T)) 33.17/10.37 U8_ag(X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 33.17/10.37 33.17/10.37 The set Q consists of the following terms: 33.17/10.37 33.17/10.37 member_in_ag(x0) 33.17/10.37 U8_ag(x0, x1, x2) 33.17/10.37 33.17/10.37 We have to consider all (P,Q,R)-chains. 33.17/10.37 ---------------------------------------- 33.17/10.37 33.17/10.37 (23) 33.17/10.37 Obligation: 33.17/10.37 Pi DP problem: 33.17/10.37 The TRS P consists of the following rules: 33.17/10.37 33.17/10.37 SELECT_IN_AGA(X, .(Y, Ys), .(Y, Zs)) -> SELECT_IN_AGA(X, Ys, Zs) 33.17/10.37 33.17/10.37 The TRS R consists of the following rules: 33.17/10.37 33.17/10.37 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 33.17/10.37 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 33.17/10.37 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 33.17/10.37 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 33.17/10.37 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 33.17/10.37 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 33.17/10.37 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 33.17/10.37 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 33.17/10.37 member_in_ag(X, .(X2, T)) -> U8_ag(X, X2, T, member_in_ag(X, T)) 33.17/10.37 U8_ag(X, X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 33.17/10.37 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 33.17/10.37 members_in_ag([], Ys) -> members_out_ag([], Ys) 33.17/10.37 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 33.17/10.37 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 33.17/10.37 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 33.17/10.37 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 33.17/10.37 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 33.17/10.37 33.17/10.37 The argument filtering Pi contains the following mapping: 33.17/10.37 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 33.17/10.37 33.17/10.37 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 33.17/10.37 33.17/10.37 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 33.17/10.37 33.17/10.37 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x4, x5) 33.17/10.37 33.17/10.37 select_in_aga(x1, x2, x3) = select_in_aga(x2) 33.17/10.37 33.17/10.37 .(x1, x2) = .(x1, x2) 33.17/10.37 33.17/10.37 select_out_aga(x1, x2, x3) = select_out_aga(x1, x2, x3) 33.17/10.37 33.17/10.37 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x3, x5) 33.17/10.37 33.17/10.37 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x4, x5) 33.17/10.37 33.17/10.37 members_in_ag(x1, x2) = members_in_ag(x2) 33.17/10.37 33.17/10.37 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 33.17/10.37 33.17/10.37 member_in_ag(x1, x2) = member_in_ag(x2) 33.17/10.37 33.17/10.37 member_out_ag(x1, x2) = member_out_ag(x1, x2) 33.17/10.37 33.17/10.37 U8_ag(x1, x2, x3, x4) = U8_ag(x2, x3, x4) 33.17/10.37 33.17/10.37 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x3, x4) 33.17/10.37 33.17/10.37 members_out_ag(x1, x2) = members_out_ag(x1, x2) 33.17/10.37 33.17/10.37 color_region_out_ag(x1, x2) = color_region_out_ag(x1, x2) 33.17/10.37 33.17/10.37 region(x1, x2, x3) = region(x2, x3) 33.17/10.37 33.17/10.37 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x3, x4) 33.17/10.37 33.17/10.37 color_map_out_ag(x1, x2) = color_map_out_ag(x1, x2) 33.17/10.37 33.17/10.37 SELECT_IN_AGA(x1, x2, x3) = SELECT_IN_AGA(x2) 33.17/10.37 33.17/10.37 33.17/10.37 We have to consider all (P,R,Pi)-chains 33.17/10.37 ---------------------------------------- 33.17/10.37 33.17/10.37 (24) UsableRulesProof (EQUIVALENT) 33.17/10.37 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 33.17/10.37 ---------------------------------------- 33.17/10.37 33.17/10.37 (25) 33.17/10.37 Obligation: 33.17/10.37 Pi DP problem: 33.17/10.37 The TRS P consists of the following rules: 33.17/10.37 33.17/10.37 SELECT_IN_AGA(X, .(Y, Ys), .(Y, Zs)) -> SELECT_IN_AGA(X, Ys, Zs) 33.17/10.37 33.17/10.37 R is empty. 33.17/10.37 The argument filtering Pi contains the following mapping: 33.17/10.37 .(x1, x2) = .(x1, x2) 33.17/10.37 33.17/10.37 SELECT_IN_AGA(x1, x2, x3) = SELECT_IN_AGA(x2) 33.17/10.37 33.17/10.37 33.17/10.37 We have to consider all (P,R,Pi)-chains 33.17/10.37 ---------------------------------------- 33.17/10.37 33.17/10.37 (26) 33.17/10.37 Obligation: 33.17/10.37 Pi DP problem: 33.17/10.37 The TRS P consists of the following rules: 33.17/10.37 33.17/10.37 U1_AG(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> COLOR_MAP_IN_AG(Regions, Colors) 33.17/10.37 COLOR_MAP_IN_AG(.(Region, Regions), Colors) -> U1_AG(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 33.17/10.37 33.17/10.37 The TRS R consists of the following rules: 33.17/10.37 33.17/10.37 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 33.17/10.37 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 33.17/10.37 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 33.17/10.37 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 33.17/10.37 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 33.17/10.37 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 33.17/10.37 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 33.17/10.37 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 33.17/10.37 member_in_ag(X, .(X2, T)) -> U8_ag(X, X2, T, member_in_ag(X, T)) 33.17/10.37 U8_ag(X, X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 33.17/10.37 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 33.17/10.37 members_in_ag([], Ys) -> members_out_ag([], Ys) 33.17/10.37 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 33.17/10.37 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 33.17/10.37 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 33.17/10.37 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 33.17/10.37 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 33.17/10.37 33.17/10.37 The argument filtering Pi contains the following mapping: 33.17/10.37 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 33.17/10.37 33.17/10.37 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 33.17/10.37 33.17/10.37 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 33.17/10.37 33.17/10.37 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x4, x5) 33.17/10.37 33.17/10.37 select_in_aga(x1, x2, x3) = select_in_aga(x2) 33.17/10.37 33.17/10.37 .(x1, x2) = .(x1, x2) 33.17/10.37 33.17/10.37 select_out_aga(x1, x2, x3) = select_out_aga(x1, x2, x3) 33.17/10.37 33.17/10.37 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x3, x5) 33.17/10.37 33.17/10.37 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x4, x5) 33.17/10.37 33.17/10.37 members_in_ag(x1, x2) = members_in_ag(x2) 33.17/10.37 33.17/10.37 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 33.17/10.37 33.17/10.37 member_in_ag(x1, x2) = member_in_ag(x2) 33.17/10.37 33.17/10.37 member_out_ag(x1, x2) = member_out_ag(x1, x2) 33.17/10.37 33.17/10.37 U8_ag(x1, x2, x3, x4) = U8_ag(x2, x3, x4) 33.17/10.37 33.17/10.37 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x3, x4) 33.17/10.37 33.17/10.37 members_out_ag(x1, x2) = members_out_ag(x1, x2) 33.17/10.37 33.17/10.37 color_region_out_ag(x1, x2) = color_region_out_ag(x1, x2) 33.17/10.37 33.17/10.37 region(x1, x2, x3) = region(x2, x3) 33.17/10.37 33.17/10.37 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x3, x4) 33.17/10.37 33.17/10.37 color_map_out_ag(x1, x2) = color_map_out_ag(x1, x2) 33.17/10.37 33.17/10.37 COLOR_MAP_IN_AG(x1, x2) = COLOR_MAP_IN_AG(x2) 33.17/10.37 33.17/10.37 U1_AG(x1, x2, x3, x4) = U1_AG(x3, x4) 33.17/10.37 33.17/10.37 33.17/10.37 We have to consider all (P,R,Pi)-chains 33.17/10.37 ---------------------------------------- 33.17/10.37 33.17/10.37 (27) UsableRulesProof (EQUIVALENT) 33.17/10.37 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 33.17/10.37 ---------------------------------------- 33.17/10.37 33.17/10.37 (28) 33.17/10.37 Obligation: 33.17/10.37 Pi DP problem: 33.17/10.37 The TRS P consists of the following rules: 33.17/10.37 33.17/10.37 U1_AG(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> COLOR_MAP_IN_AG(Regions, Colors) 33.17/10.37 COLOR_MAP_IN_AG(.(Region, Regions), Colors) -> U1_AG(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 33.17/10.37 33.17/10.37 The TRS R consists of the following rules: 33.17/10.37 33.17/10.37 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 33.17/10.37 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 33.17/10.37 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 33.17/10.37 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 33.17/10.37 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 33.17/10.37 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 33.17/10.37 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 33.17/10.37 members_in_ag([], Ys) -> members_out_ag([], Ys) 33.17/10.37 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 33.17/10.37 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 33.17/10.37 member_in_ag(X, .(X2, T)) -> U8_ag(X, X2, T, member_in_ag(X, T)) 33.17/10.37 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 33.17/10.37 U8_ag(X, X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 33.17/10.37 33.17/10.37 The argument filtering Pi contains the following mapping: 33.17/10.37 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 33.17/10.37 33.17/10.37 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x4, x5) 33.17/10.37 33.17/10.37 select_in_aga(x1, x2, x3) = select_in_aga(x2) 33.17/10.37 33.17/10.37 .(x1, x2) = .(x1, x2) 33.17/10.37 33.17/10.37 select_out_aga(x1, x2, x3) = select_out_aga(x1, x2, x3) 33.17/10.37 33.17/10.37 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x3, x5) 33.17/10.37 33.17/10.37 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x4, x5) 33.17/10.37 33.17/10.37 members_in_ag(x1, x2) = members_in_ag(x2) 33.17/10.37 33.17/10.37 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 33.17/10.37 33.17/10.37 member_in_ag(x1, x2) = member_in_ag(x2) 33.17/10.37 33.17/10.37 member_out_ag(x1, x2) = member_out_ag(x1, x2) 33.17/10.37 33.17/10.37 U8_ag(x1, x2, x3, x4) = U8_ag(x2, x3, x4) 33.17/10.37 33.17/10.37 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x3, x4) 33.17/10.37 33.17/10.37 members_out_ag(x1, x2) = members_out_ag(x1, x2) 33.17/10.37 33.17/10.37 color_region_out_ag(x1, x2) = color_region_out_ag(x1, x2) 33.17/10.37 33.17/10.37 region(x1, x2, x3) = region(x2, x3) 33.17/10.37 33.17/10.37 COLOR_MAP_IN_AG(x1, x2) = COLOR_MAP_IN_AG(x2) 33.17/10.37 33.17/10.37 U1_AG(x1, x2, x3, x4) = U1_AG(x3, x4) 33.17/10.37 33.17/10.37 33.17/10.37 We have to consider all (P,R,Pi)-chains 33.17/10.37 ---------------------------------------- 33.17/10.37 33.17/10.37 (29) PrologToPiTRSProof (SOUND) 33.17/10.37 We use the technique of [TOCL09]. With regard to the inferred argument filtering the predicates were used in the following modes: 33.17/10.37 33.17/10.37 color_map_in_2: (f,b) 33.17/10.37 33.17/10.37 color_region_in_2: (f,b) 33.17/10.37 33.17/10.37 select_in_3: (f,b,f) 33.17/10.37 33.17/10.37 members_in_2: (f,b) 33.17/10.37 33.17/10.37 member_in_2: (f,b) 33.17/10.37 33.17/10.37 Transforming Prolog into the following Term Rewriting System: 33.17/10.37 33.17/10.37 Pi-finite rewrite system: 33.17/10.37 The TRS R consists of the following rules: 33.17/10.37 33.17/10.37 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 33.17/10.37 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 33.17/10.37 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 33.17/10.37 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 33.17/10.37 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 33.17/10.37 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 33.17/10.37 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 33.17/10.37 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 33.17/10.37 member_in_ag(X, .(X2, T)) -> U8_ag(X, X2, T, member_in_ag(X, T)) 33.17/10.37 U8_ag(X, X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 33.17/10.37 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 33.17/10.37 members_in_ag([], Ys) -> members_out_ag([], Ys) 33.17/10.37 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 33.17/10.37 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 33.17/10.37 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 33.17/10.37 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 33.17/10.37 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 33.17/10.37 33.17/10.37 The argument filtering Pi contains the following mapping: 33.17/10.37 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 33.17/10.37 33.17/10.37 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 33.17/10.37 33.17/10.37 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 33.17/10.37 33.17/10.37 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x5) 33.17/10.37 33.17/10.37 select_in_aga(x1, x2, x3) = select_in_aga(x2) 33.17/10.37 33.17/10.37 .(x1, x2) = .(x1, x2) 33.17/10.37 33.17/10.37 select_out_aga(x1, x2, x3) = select_out_aga(x1, x3) 33.17/10.37 33.17/10.37 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x5) 33.17/10.37 33.17/10.37 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x5) 33.17/10.37 33.17/10.37 members_in_ag(x1, x2) = members_in_ag(x2) 33.17/10.37 33.17/10.37 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 33.17/10.37 33.17/10.37 member_in_ag(x1, x2) = member_in_ag(x2) 33.17/10.37 33.17/10.37 member_out_ag(x1, x2) = member_out_ag(x1) 33.17/10.37 33.17/10.37 U8_ag(x1, x2, x3, x4) = U8_ag(x4) 33.17/10.37 33.17/10.37 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x4) 33.17/10.37 33.17/10.37 members_out_ag(x1, x2) = members_out_ag(x1) 33.17/10.37 33.17/10.37 color_region_out_ag(x1, x2) = color_region_out_ag(x1) 33.17/10.37 33.17/10.37 region(x1, x2, x3) = region(x2, x3) 33.17/10.37 33.17/10.37 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x4) 33.17/10.37 33.17/10.37 color_map_out_ag(x1, x2) = color_map_out_ag(x1) 33.17/10.37 33.17/10.37 33.17/10.37 33.17/10.37 33.17/10.37 33.17/10.37 Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog 33.17/10.37 33.17/10.37 33.17/10.37 33.17/10.37 ---------------------------------------- 33.17/10.37 33.17/10.37 (30) 33.17/10.37 Obligation: 33.17/10.37 Pi-finite rewrite system: 33.17/10.37 The TRS R consists of the following rules: 33.17/10.37 33.17/10.37 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 33.17/10.37 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 33.17/10.37 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 33.17/10.37 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 33.17/10.37 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 33.17/10.37 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 33.17/10.37 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 33.17/10.37 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 33.17/10.37 member_in_ag(X, .(X2, T)) -> U8_ag(X, X2, T, member_in_ag(X, T)) 33.17/10.37 U8_ag(X, X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 33.17/10.37 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 33.17/10.37 members_in_ag([], Ys) -> members_out_ag([], Ys) 33.17/10.37 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 33.17/10.37 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 33.17/10.37 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 33.17/10.37 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 33.17/10.37 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 33.17/10.37 33.17/10.37 The argument filtering Pi contains the following mapping: 33.17/10.37 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 33.17/10.37 33.17/10.37 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 33.17/10.37 33.17/10.37 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 33.17/10.37 33.17/10.37 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x5) 33.17/10.37 33.17/10.37 select_in_aga(x1, x2, x3) = select_in_aga(x2) 33.17/10.37 33.17/10.37 .(x1, x2) = .(x1, x2) 33.17/10.37 33.17/10.37 select_out_aga(x1, x2, x3) = select_out_aga(x1, x3) 33.17/10.37 33.17/10.37 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x5) 33.17/10.37 33.17/10.37 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x5) 33.17/10.37 33.17/10.37 members_in_ag(x1, x2) = members_in_ag(x2) 33.17/10.37 33.17/10.37 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 33.17/10.37 33.17/10.37 member_in_ag(x1, x2) = member_in_ag(x2) 33.17/10.37 33.17/10.37 member_out_ag(x1, x2) = member_out_ag(x1) 33.17/10.37 33.17/10.37 U8_ag(x1, x2, x3, x4) = U8_ag(x4) 33.17/10.37 33.17/10.37 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x4) 33.17/10.37 33.17/10.37 members_out_ag(x1, x2) = members_out_ag(x1) 33.17/10.38 33.17/10.38 color_region_out_ag(x1, x2) = color_region_out_ag(x1) 33.17/10.38 33.17/10.38 region(x1, x2, x3) = region(x2, x3) 33.17/10.38 33.17/10.38 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x4) 33.17/10.38 33.17/10.38 color_map_out_ag(x1, x2) = color_map_out_ag(x1) 33.17/10.38 33.17/10.38 33.17/10.38 33.17/10.38 ---------------------------------------- 33.17/10.38 33.17/10.38 (31) DependencyPairsProof (EQUIVALENT) 33.17/10.38 Using Dependency Pairs [AG00,LOPSTR] we result in the following initial DP problem: 33.17/10.38 Pi DP problem: 33.17/10.38 The TRS P consists of the following rules: 33.17/10.38 33.17/10.38 COLOR_MAP_IN_AG(.(Region, Regions), Colors) -> U1_AG(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 33.17/10.38 COLOR_MAP_IN_AG(.(Region, Regions), Colors) -> COLOR_REGION_IN_AG(Region, Colors) 33.17/10.38 COLOR_REGION_IN_AG(region(Name, Color, Neighbors), Colors) -> U3_AG(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 33.17/10.38 COLOR_REGION_IN_AG(region(Name, Color, Neighbors), Colors) -> SELECT_IN_AGA(Color, Colors, Colors1) 33.17/10.38 SELECT_IN_AGA(X, .(Y, Ys), .(Y, Zs)) -> U5_AGA(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 33.17/10.38 SELECT_IN_AGA(X, .(Y, Ys), .(Y, Zs)) -> SELECT_IN_AGA(X, Ys, Zs) 33.17/10.38 U3_AG(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_AG(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 33.17/10.38 U3_AG(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> MEMBERS_IN_AG(Neighbors, Colors1) 33.17/10.38 MEMBERS_IN_AG(.(X, Xs), Ys) -> U6_AG(X, Xs, Ys, member_in_ag(X, Ys)) 33.17/10.38 MEMBERS_IN_AG(.(X, Xs), Ys) -> MEMBER_IN_AG(X, Ys) 33.17/10.38 MEMBER_IN_AG(X, .(X2, T)) -> U8_AG(X, X2, T, member_in_ag(X, T)) 33.17/10.38 MEMBER_IN_AG(X, .(X2, T)) -> MEMBER_IN_AG(X, T) 33.17/10.38 U6_AG(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_AG(X, Xs, Ys, members_in_ag(Xs, Ys)) 33.17/10.38 U6_AG(X, Xs, Ys, member_out_ag(X, Ys)) -> MEMBERS_IN_AG(Xs, Ys) 33.17/10.38 U1_AG(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_AG(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 33.17/10.38 U1_AG(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> COLOR_MAP_IN_AG(Regions, Colors) 33.17/10.38 33.17/10.38 The TRS R consists of the following rules: 33.17/10.38 33.17/10.38 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 33.17/10.38 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 33.17/10.38 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 33.17/10.38 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 33.17/10.38 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 33.17/10.38 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 33.17/10.38 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 33.17/10.38 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 33.17/10.38 member_in_ag(X, .(X2, T)) -> U8_ag(X, X2, T, member_in_ag(X, T)) 33.17/10.38 U8_ag(X, X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 33.17/10.38 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 33.17/10.38 members_in_ag([], Ys) -> members_out_ag([], Ys) 33.17/10.38 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 33.17/10.38 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 33.17/10.38 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 33.17/10.38 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 33.17/10.38 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 33.17/10.38 33.17/10.38 The argument filtering Pi contains the following mapping: 33.17/10.38 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 33.17/10.38 33.17/10.38 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 33.17/10.38 33.17/10.38 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 33.17/10.38 33.17/10.38 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x5) 33.17/10.38 33.17/10.38 select_in_aga(x1, x2, x3) = select_in_aga(x2) 33.17/10.38 33.17/10.38 .(x1, x2) = .(x1, x2) 33.17/10.38 33.17/10.38 select_out_aga(x1, x2, x3) = select_out_aga(x1, x3) 33.17/10.38 33.17/10.38 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x5) 33.17/10.38 33.17/10.38 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x5) 33.17/10.38 33.17/10.38 members_in_ag(x1, x2) = members_in_ag(x2) 33.17/10.38 33.17/10.38 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 33.17/10.38 33.17/10.38 member_in_ag(x1, x2) = member_in_ag(x2) 33.17/10.38 33.17/10.38 member_out_ag(x1, x2) = member_out_ag(x1) 33.17/10.38 33.17/10.38 U8_ag(x1, x2, x3, x4) = U8_ag(x4) 33.17/10.38 33.17/10.38 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x4) 33.17/10.38 33.17/10.38 members_out_ag(x1, x2) = members_out_ag(x1) 33.17/10.38 33.17/10.38 color_region_out_ag(x1, x2) = color_region_out_ag(x1) 33.17/10.38 33.17/10.38 region(x1, x2, x3) = region(x2, x3) 33.17/10.38 33.17/10.38 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x4) 33.17/10.38 33.17/10.38 color_map_out_ag(x1, x2) = color_map_out_ag(x1) 33.17/10.38 33.17/10.38 COLOR_MAP_IN_AG(x1, x2) = COLOR_MAP_IN_AG(x2) 33.17/10.38 33.17/10.38 U1_AG(x1, x2, x3, x4) = U1_AG(x3, x4) 33.17/10.38 33.17/10.38 COLOR_REGION_IN_AG(x1, x2) = COLOR_REGION_IN_AG(x2) 33.17/10.38 33.17/10.38 U3_AG(x1, x2, x3, x4, x5) = U3_AG(x5) 33.17/10.38 33.17/10.38 SELECT_IN_AGA(x1, x2, x3) = SELECT_IN_AGA(x2) 33.17/10.38 33.17/10.38 U5_AGA(x1, x2, x3, x4, x5) = U5_AGA(x2, x5) 33.17/10.38 33.17/10.38 U4_AG(x1, x2, x3, x4, x5) = U4_AG(x2, x5) 33.17/10.38 33.17/10.38 MEMBERS_IN_AG(x1, x2) = MEMBERS_IN_AG(x2) 33.17/10.38 33.17/10.38 U6_AG(x1, x2, x3, x4) = U6_AG(x3, x4) 33.17/10.38 33.17/10.38 MEMBER_IN_AG(x1, x2) = MEMBER_IN_AG(x2) 33.17/10.38 33.17/10.38 U8_AG(x1, x2, x3, x4) = U8_AG(x4) 33.17/10.38 33.17/10.38 U7_AG(x1, x2, x3, x4) = U7_AG(x1, x4) 33.17/10.38 33.17/10.38 U2_AG(x1, x2, x3, x4) = U2_AG(x1, x4) 33.17/10.38 33.17/10.38 33.17/10.38 We have to consider all (P,R,Pi)-chains 33.17/10.38 ---------------------------------------- 33.17/10.38 33.17/10.38 (32) 33.17/10.38 Obligation: 33.17/10.38 Pi DP problem: 33.17/10.38 The TRS P consists of the following rules: 33.17/10.38 33.17/10.38 COLOR_MAP_IN_AG(.(Region, Regions), Colors) -> U1_AG(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 33.17/10.38 COLOR_MAP_IN_AG(.(Region, Regions), Colors) -> COLOR_REGION_IN_AG(Region, Colors) 33.17/10.38 COLOR_REGION_IN_AG(region(Name, Color, Neighbors), Colors) -> U3_AG(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 33.17/10.38 COLOR_REGION_IN_AG(region(Name, Color, Neighbors), Colors) -> SELECT_IN_AGA(Color, Colors, Colors1) 33.17/10.38 SELECT_IN_AGA(X, .(Y, Ys), .(Y, Zs)) -> U5_AGA(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 33.17/10.38 SELECT_IN_AGA(X, .(Y, Ys), .(Y, Zs)) -> SELECT_IN_AGA(X, Ys, Zs) 33.17/10.38 U3_AG(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_AG(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 33.17/10.38 U3_AG(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> MEMBERS_IN_AG(Neighbors, Colors1) 33.17/10.38 MEMBERS_IN_AG(.(X, Xs), Ys) -> U6_AG(X, Xs, Ys, member_in_ag(X, Ys)) 33.17/10.38 MEMBERS_IN_AG(.(X, Xs), Ys) -> MEMBER_IN_AG(X, Ys) 33.17/10.38 MEMBER_IN_AG(X, .(X2, T)) -> U8_AG(X, X2, T, member_in_ag(X, T)) 33.17/10.38 MEMBER_IN_AG(X, .(X2, T)) -> MEMBER_IN_AG(X, T) 33.17/10.38 U6_AG(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_AG(X, Xs, Ys, members_in_ag(Xs, Ys)) 33.17/10.38 U6_AG(X, Xs, Ys, member_out_ag(X, Ys)) -> MEMBERS_IN_AG(Xs, Ys) 33.17/10.38 U1_AG(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_AG(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 33.17/10.38 U1_AG(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> COLOR_MAP_IN_AG(Regions, Colors) 33.17/10.38 33.17/10.38 The TRS R consists of the following rules: 33.17/10.38 33.17/10.38 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 33.17/10.38 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 33.17/10.38 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 33.17/10.38 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 33.17/10.38 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 33.17/10.38 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 33.17/10.38 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 33.17/10.38 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 33.17/10.38 member_in_ag(X, .(X2, T)) -> U8_ag(X, X2, T, member_in_ag(X, T)) 33.17/10.38 U8_ag(X, X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 33.17/10.38 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 33.17/10.38 members_in_ag([], Ys) -> members_out_ag([], Ys) 33.17/10.38 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 33.17/10.38 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 33.17/10.38 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 33.17/10.38 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 33.17/10.38 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 33.17/10.38 33.17/10.38 The argument filtering Pi contains the following mapping: 33.17/10.38 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 33.17/10.38 33.17/10.38 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 33.17/10.38 33.17/10.38 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 33.17/10.38 33.17/10.38 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x5) 33.17/10.38 33.17/10.38 select_in_aga(x1, x2, x3) = select_in_aga(x2) 33.17/10.38 33.17/10.38 .(x1, x2) = .(x1, x2) 33.17/10.38 33.17/10.38 select_out_aga(x1, x2, x3) = select_out_aga(x1, x3) 33.17/10.38 33.17/10.38 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x5) 33.17/10.38 33.17/10.38 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x5) 33.17/10.38 33.17/10.38 members_in_ag(x1, x2) = members_in_ag(x2) 33.17/10.38 33.17/10.38 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 33.17/10.38 33.17/10.38 member_in_ag(x1, x2) = member_in_ag(x2) 33.17/10.38 33.17/10.38 member_out_ag(x1, x2) = member_out_ag(x1) 33.17/10.38 33.17/10.38 U8_ag(x1, x2, x3, x4) = U8_ag(x4) 33.17/10.38 33.17/10.38 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x4) 33.17/10.38 33.17/10.38 members_out_ag(x1, x2) = members_out_ag(x1) 33.17/10.38 33.17/10.38 color_region_out_ag(x1, x2) = color_region_out_ag(x1) 33.17/10.38 33.17/10.38 region(x1, x2, x3) = region(x2, x3) 33.17/10.38 33.17/10.38 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x4) 33.17/10.38 33.17/10.38 color_map_out_ag(x1, x2) = color_map_out_ag(x1) 33.17/10.38 33.17/10.38 COLOR_MAP_IN_AG(x1, x2) = COLOR_MAP_IN_AG(x2) 33.17/10.38 33.17/10.38 U1_AG(x1, x2, x3, x4) = U1_AG(x3, x4) 33.17/10.38 33.17/10.38 COLOR_REGION_IN_AG(x1, x2) = COLOR_REGION_IN_AG(x2) 33.17/10.38 33.17/10.38 U3_AG(x1, x2, x3, x4, x5) = U3_AG(x5) 33.17/10.38 33.17/10.38 SELECT_IN_AGA(x1, x2, x3) = SELECT_IN_AGA(x2) 33.17/10.38 33.17/10.38 U5_AGA(x1, x2, x3, x4, x5) = U5_AGA(x2, x5) 33.17/10.38 33.17/10.38 U4_AG(x1, x2, x3, x4, x5) = U4_AG(x2, x5) 33.17/10.38 33.17/10.38 MEMBERS_IN_AG(x1, x2) = MEMBERS_IN_AG(x2) 33.17/10.38 33.17/10.38 U6_AG(x1, x2, x3, x4) = U6_AG(x3, x4) 33.17/10.38 33.17/10.38 MEMBER_IN_AG(x1, x2) = MEMBER_IN_AG(x2) 33.17/10.38 33.17/10.38 U8_AG(x1, x2, x3, x4) = U8_AG(x4) 33.17/10.38 33.17/10.38 U7_AG(x1, x2, x3, x4) = U7_AG(x1, x4) 33.17/10.38 33.17/10.38 U2_AG(x1, x2, x3, x4) = U2_AG(x1, x4) 33.17/10.38 33.17/10.38 33.17/10.38 We have to consider all (P,R,Pi)-chains 33.17/10.38 ---------------------------------------- 33.17/10.38 33.17/10.38 (33) DependencyGraphProof (EQUIVALENT) 33.17/10.38 The approximation of the Dependency Graph [LOPSTR] contains 4 SCCs with 10 less nodes. 33.17/10.38 ---------------------------------------- 33.17/10.38 33.17/10.38 (34) 33.17/10.38 Complex Obligation (AND) 33.17/10.38 33.17/10.38 ---------------------------------------- 33.17/10.38 33.17/10.38 (35) 33.17/10.38 Obligation: 33.17/10.38 Pi DP problem: 33.17/10.38 The TRS P consists of the following rules: 33.17/10.38 33.17/10.38 MEMBER_IN_AG(X, .(X2, T)) -> MEMBER_IN_AG(X, T) 33.17/10.38 33.17/10.38 The TRS R consists of the following rules: 33.17/10.38 33.17/10.38 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 33.17/10.38 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 33.17/10.38 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 33.17/10.38 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 33.17/10.38 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 33.17/10.38 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 33.17/10.38 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 33.17/10.38 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 33.17/10.38 member_in_ag(X, .(X2, T)) -> U8_ag(X, X2, T, member_in_ag(X, T)) 33.17/10.38 U8_ag(X, X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 33.17/10.38 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 33.17/10.38 members_in_ag([], Ys) -> members_out_ag([], Ys) 33.17/10.38 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 33.17/10.38 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 33.17/10.38 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 33.17/10.38 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 33.17/10.38 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 33.17/10.38 33.17/10.38 The argument filtering Pi contains the following mapping: 33.17/10.38 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 33.17/10.38 33.17/10.38 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 33.17/10.38 33.17/10.38 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 33.17/10.38 33.17/10.38 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x5) 33.17/10.38 33.17/10.38 select_in_aga(x1, x2, x3) = select_in_aga(x2) 33.17/10.38 33.17/10.38 .(x1, x2) = .(x1, x2) 33.17/10.38 33.17/10.38 select_out_aga(x1, x2, x3) = select_out_aga(x1, x3) 33.17/10.38 33.17/10.38 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x5) 33.17/10.38 33.17/10.38 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x5) 33.17/10.38 33.17/10.38 members_in_ag(x1, x2) = members_in_ag(x2) 33.17/10.38 33.17/10.38 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 33.17/10.38 33.17/10.38 member_in_ag(x1, x2) = member_in_ag(x2) 33.17/10.38 33.17/10.38 member_out_ag(x1, x2) = member_out_ag(x1) 33.17/10.38 33.17/10.38 U8_ag(x1, x2, x3, x4) = U8_ag(x4) 33.17/10.38 33.17/10.38 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x4) 33.17/10.38 33.17/10.38 members_out_ag(x1, x2) = members_out_ag(x1) 33.17/10.38 33.17/10.38 color_region_out_ag(x1, x2) = color_region_out_ag(x1) 33.17/10.38 33.17/10.38 region(x1, x2, x3) = region(x2, x3) 33.17/10.38 33.17/10.38 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x4) 33.17/10.38 33.17/10.38 color_map_out_ag(x1, x2) = color_map_out_ag(x1) 33.17/10.38 33.17/10.38 MEMBER_IN_AG(x1, x2) = MEMBER_IN_AG(x2) 33.17/10.38 33.17/10.38 33.17/10.38 We have to consider all (P,R,Pi)-chains 33.17/10.38 ---------------------------------------- 33.17/10.38 33.17/10.38 (36) UsableRulesProof (EQUIVALENT) 33.17/10.38 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 33.17/10.38 ---------------------------------------- 33.17/10.38 33.17/10.38 (37) 33.17/10.38 Obligation: 33.17/10.38 Pi DP problem: 33.17/10.38 The TRS P consists of the following rules: 33.17/10.38 33.17/10.38 MEMBER_IN_AG(X, .(X2, T)) -> MEMBER_IN_AG(X, T) 33.17/10.38 33.17/10.38 R is empty. 33.17/10.38 The argument filtering Pi contains the following mapping: 33.17/10.38 .(x1, x2) = .(x1, x2) 33.17/10.38 33.17/10.38 MEMBER_IN_AG(x1, x2) = MEMBER_IN_AG(x2) 33.17/10.38 33.17/10.38 33.17/10.38 We have to consider all (P,R,Pi)-chains 33.17/10.38 ---------------------------------------- 33.17/10.38 33.17/10.38 (38) PiDPToQDPProof (SOUND) 33.17/10.38 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 33.17/10.38 ---------------------------------------- 33.17/10.38 33.17/10.38 (39) 33.17/10.38 Obligation: 33.17/10.38 Q DP problem: 33.17/10.38 The TRS P consists of the following rules: 33.17/10.38 33.17/10.38 MEMBER_IN_AG(.(X2, T)) -> MEMBER_IN_AG(T) 33.17/10.38 33.17/10.38 R is empty. 33.17/10.38 Q is empty. 33.17/10.38 We have to consider all (P,Q,R)-chains. 33.17/10.38 ---------------------------------------- 33.17/10.38 33.17/10.38 (40) QDPSizeChangeProof (EQUIVALENT) 33.17/10.38 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. 33.17/10.38 33.17/10.38 From the DPs we obtained the following set of size-change graphs: 33.17/10.38 *MEMBER_IN_AG(.(X2, T)) -> MEMBER_IN_AG(T) 33.17/10.38 The graph contains the following edges 1 > 1 33.17/10.38 33.17/10.38 33.17/10.38 ---------------------------------------- 33.17/10.38 33.17/10.38 (41) 33.17/10.38 YES 33.17/10.38 33.17/10.38 ---------------------------------------- 33.17/10.38 33.17/10.38 (42) 33.17/10.38 Obligation: 33.17/10.38 Pi DP problem: 33.17/10.38 The TRS P consists of the following rules: 33.17/10.38 33.17/10.38 U6_AG(X, Xs, Ys, member_out_ag(X, Ys)) -> MEMBERS_IN_AG(Xs, Ys) 33.17/10.38 MEMBERS_IN_AG(.(X, Xs), Ys) -> U6_AG(X, Xs, Ys, member_in_ag(X, Ys)) 33.17/10.38 33.17/10.38 The TRS R consists of the following rules: 33.17/10.38 33.17/10.38 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 33.17/10.38 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 33.17/10.38 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 33.17/10.38 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 33.17/10.38 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 33.17/10.38 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 33.17/10.38 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 33.17/10.38 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 33.17/10.38 member_in_ag(X, .(X2, T)) -> U8_ag(X, X2, T, member_in_ag(X, T)) 33.17/10.38 U8_ag(X, X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 33.17/10.38 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 33.17/10.38 members_in_ag([], Ys) -> members_out_ag([], Ys) 33.17/10.38 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 33.17/10.38 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 33.17/10.38 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 33.17/10.38 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 33.17/10.38 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 33.17/10.38 33.17/10.38 The argument filtering Pi contains the following mapping: 33.17/10.38 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 33.17/10.38 33.17/10.38 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 33.17/10.38 33.17/10.38 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 33.17/10.38 33.17/10.38 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x5) 33.17/10.38 33.17/10.38 select_in_aga(x1, x2, x3) = select_in_aga(x2) 33.17/10.38 33.17/10.38 .(x1, x2) = .(x1, x2) 33.17/10.38 33.17/10.38 select_out_aga(x1, x2, x3) = select_out_aga(x1, x3) 33.17/10.38 33.17/10.38 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x5) 33.17/10.38 33.17/10.38 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x5) 33.17/10.38 33.17/10.38 members_in_ag(x1, x2) = members_in_ag(x2) 33.17/10.38 33.17/10.38 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 33.17/10.38 33.17/10.38 member_in_ag(x1, x2) = member_in_ag(x2) 33.17/10.38 33.17/10.38 member_out_ag(x1, x2) = member_out_ag(x1) 33.17/10.38 33.17/10.38 U8_ag(x1, x2, x3, x4) = U8_ag(x4) 33.17/10.38 33.17/10.38 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x4) 33.17/10.38 33.17/10.38 members_out_ag(x1, x2) = members_out_ag(x1) 33.17/10.38 33.17/10.38 color_region_out_ag(x1, x2) = color_region_out_ag(x1) 33.17/10.38 33.17/10.38 region(x1, x2, x3) = region(x2, x3) 33.17/10.38 33.17/10.38 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x4) 33.17/10.38 33.17/10.38 color_map_out_ag(x1, x2) = color_map_out_ag(x1) 33.17/10.38 33.17/10.38 MEMBERS_IN_AG(x1, x2) = MEMBERS_IN_AG(x2) 33.17/10.38 33.17/10.38 U6_AG(x1, x2, x3, x4) = U6_AG(x3, x4) 33.17/10.38 33.17/10.38 33.17/10.38 We have to consider all (P,R,Pi)-chains 33.17/10.38 ---------------------------------------- 33.17/10.38 33.17/10.38 (43) UsableRulesProof (EQUIVALENT) 33.17/10.38 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 33.17/10.38 ---------------------------------------- 33.17/10.38 33.17/10.38 (44) 33.17/10.38 Obligation: 33.17/10.38 Pi DP problem: 33.17/10.38 The TRS P consists of the following rules: 33.17/10.38 33.17/10.38 U6_AG(X, Xs, Ys, member_out_ag(X, Ys)) -> MEMBERS_IN_AG(Xs, Ys) 33.17/10.38 MEMBERS_IN_AG(.(X, Xs), Ys) -> U6_AG(X, Xs, Ys, member_in_ag(X, Ys)) 33.17/10.38 33.17/10.38 The TRS R consists of the following rules: 33.17/10.38 33.17/10.38 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 33.17/10.38 member_in_ag(X, .(X2, T)) -> U8_ag(X, X2, T, member_in_ag(X, T)) 33.17/10.38 U8_ag(X, X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 33.17/10.38 33.17/10.38 The argument filtering Pi contains the following mapping: 33.17/10.38 .(x1, x2) = .(x1, x2) 33.17/10.38 33.17/10.38 member_in_ag(x1, x2) = member_in_ag(x2) 33.17/10.38 33.17/10.38 member_out_ag(x1, x2) = member_out_ag(x1) 33.17/10.38 33.17/10.38 U8_ag(x1, x2, x3, x4) = U8_ag(x4) 33.17/10.38 33.17/10.38 MEMBERS_IN_AG(x1, x2) = MEMBERS_IN_AG(x2) 33.17/10.38 33.17/10.38 U6_AG(x1, x2, x3, x4) = U6_AG(x3, x4) 33.17/10.38 33.17/10.38 33.17/10.38 We have to consider all (P,R,Pi)-chains 33.17/10.38 ---------------------------------------- 33.17/10.38 33.17/10.38 (45) PiDPToQDPProof (SOUND) 33.17/10.38 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 33.17/10.38 ---------------------------------------- 33.17/10.38 33.17/10.38 (46) 33.17/10.38 Obligation: 33.17/10.38 Q DP problem: 33.17/10.38 The TRS P consists of the following rules: 33.17/10.38 33.17/10.38 U6_AG(Ys, member_out_ag(X)) -> MEMBERS_IN_AG(Ys) 33.17/10.38 MEMBERS_IN_AG(Ys) -> U6_AG(Ys, member_in_ag(Ys)) 33.17/10.38 33.17/10.38 The TRS R consists of the following rules: 33.17/10.38 33.17/10.38 member_in_ag(.(X, X1)) -> member_out_ag(X) 33.17/10.38 member_in_ag(.(X2, T)) -> U8_ag(member_in_ag(T)) 33.17/10.38 U8_ag(member_out_ag(X)) -> member_out_ag(X) 33.17/10.38 33.17/10.38 The set Q consists of the following terms: 33.17/10.38 33.17/10.38 member_in_ag(x0) 33.17/10.38 U8_ag(x0) 33.17/10.38 33.17/10.38 We have to consider all (P,Q,R)-chains. 33.17/10.38 ---------------------------------------- 33.17/10.38 33.17/10.38 (47) TransformationProof (SOUND) 33.17/10.38 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]: 33.17/10.39 33.17/10.39 (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))) 33.17/10.39 (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)))) 33.17/10.39 33.17/10.39 33.17/10.39 ---------------------------------------- 33.17/10.39 33.17/10.39 (48) 33.17/10.39 Obligation: 33.17/10.39 Q DP problem: 33.17/10.39 The TRS P consists of the following rules: 33.17/10.39 33.17/10.39 U6_AG(Ys, member_out_ag(X)) -> MEMBERS_IN_AG(Ys) 33.17/10.39 MEMBERS_IN_AG(.(x0, x1)) -> U6_AG(.(x0, x1), member_out_ag(x0)) 33.17/10.39 MEMBERS_IN_AG(.(x0, x1)) -> U6_AG(.(x0, x1), U8_ag(member_in_ag(x1))) 33.17/10.39 33.17/10.39 The TRS R consists of the following rules: 33.17/10.39 33.17/10.39 member_in_ag(.(X, X1)) -> member_out_ag(X) 33.17/10.39 member_in_ag(.(X2, T)) -> U8_ag(member_in_ag(T)) 33.17/10.39 U8_ag(member_out_ag(X)) -> member_out_ag(X) 33.17/10.39 33.17/10.39 The set Q consists of the following terms: 33.17/10.39 33.17/10.39 member_in_ag(x0) 33.17/10.39 U8_ag(x0) 33.17/10.39 33.17/10.39 We have to consider all (P,Q,R)-chains. 33.17/10.39 ---------------------------------------- 33.17/10.39 33.17/10.39 (49) TransformationProof (EQUIVALENT) 33.17/10.39 By instantiating [LPAR04] the rule U6_AG(Ys, member_out_ag(X)) -> MEMBERS_IN_AG(Ys) we obtained the following new rules [LPAR04]: 33.17/10.39 33.17/10.39 (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))) 33.17/10.39 (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))) 33.17/10.39 33.17/10.39 33.17/10.39 ---------------------------------------- 33.17/10.39 33.17/10.39 (50) 33.17/10.39 Obligation: 33.17/10.39 Q DP problem: 33.17/10.39 The TRS P consists of the following rules: 33.17/10.39 33.17/10.39 MEMBERS_IN_AG(.(x0, x1)) -> U6_AG(.(x0, x1), member_out_ag(x0)) 33.17/10.39 MEMBERS_IN_AG(.(x0, x1)) -> U6_AG(.(x0, x1), U8_ag(member_in_ag(x1))) 33.17/10.39 U6_AG(.(z0, z1), member_out_ag(z0)) -> MEMBERS_IN_AG(.(z0, z1)) 33.17/10.39 U6_AG(.(z0, z1), member_out_ag(x1)) -> MEMBERS_IN_AG(.(z0, z1)) 33.17/10.39 33.17/10.39 The TRS R consists of the following rules: 33.17/10.39 33.17/10.39 member_in_ag(.(X, X1)) -> member_out_ag(X) 33.17/10.39 member_in_ag(.(X2, T)) -> U8_ag(member_in_ag(T)) 33.17/10.39 U8_ag(member_out_ag(X)) -> member_out_ag(X) 33.17/10.39 33.17/10.39 The set Q consists of the following terms: 33.17/10.39 33.17/10.39 member_in_ag(x0) 33.17/10.39 U8_ag(x0) 33.17/10.39 33.17/10.39 We have to consider all (P,Q,R)-chains. 33.17/10.39 ---------------------------------------- 33.17/10.39 33.17/10.39 (51) NonTerminationLoopProof (COMPLETE) 33.17/10.39 We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. 33.17/10.39 Found a loop by narrowing to the left: 33.17/10.39 33.17/10.39 s = U6_AG(.(z0, z1), member_out_ag(z0)) evaluates to t =U6_AG(.(z0, z1), member_out_ag(z0)) 33.17/10.39 33.17/10.39 Thus s starts an infinite chain as s semiunifies with t with the following substitutions: 33.17/10.39 * Matcher: [ ] 33.17/10.39 * Semiunifier: [ ] 33.17/10.39 33.17/10.39 -------------------------------------------------------------------------------- 33.17/10.39 Rewriting sequence 33.17/10.39 33.17/10.39 U6_AG(.(z0, z1), member_out_ag(z0)) -> MEMBERS_IN_AG(.(z0, z1)) 33.17/10.39 with rule U6_AG(.(z0', z1'), member_out_ag(z0')) -> MEMBERS_IN_AG(.(z0', z1')) at position [] and matcher [z0' / z0, z1' / z1] 33.17/10.39 33.17/10.39 MEMBERS_IN_AG(.(z0, z1)) -> U6_AG(.(z0, z1), member_out_ag(z0)) 33.17/10.39 with rule MEMBERS_IN_AG(.(x0, x1)) -> U6_AG(.(x0, x1), member_out_ag(x0)) 33.17/10.39 33.17/10.39 Now applying the matcher to the start term leads to a term which is equal to the last term in the rewriting sequence 33.17/10.39 33.17/10.39 33.17/10.39 All these steps are and every following step will be a correct step w.r.t to Q. 33.17/10.39 33.17/10.39 33.17/10.39 33.17/10.39 33.17/10.39 ---------------------------------------- 33.17/10.39 33.17/10.39 (52) 33.17/10.39 NO 33.17/10.39 33.17/10.39 ---------------------------------------- 33.17/10.39 33.17/10.39 (53) 33.17/10.39 Obligation: 33.17/10.39 Pi DP problem: 33.17/10.39 The TRS P consists of the following rules: 33.17/10.39 33.17/10.39 SELECT_IN_AGA(X, .(Y, Ys), .(Y, Zs)) -> SELECT_IN_AGA(X, Ys, Zs) 33.17/10.39 33.17/10.39 The TRS R consists of the following rules: 33.17/10.39 33.17/10.39 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 33.17/10.39 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 33.17/10.39 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 33.17/10.39 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 33.17/10.39 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 33.17/10.39 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 33.17/10.39 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 33.17/10.39 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 33.17/10.39 member_in_ag(X, .(X2, T)) -> U8_ag(X, X2, T, member_in_ag(X, T)) 33.17/10.39 U8_ag(X, X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 33.17/10.39 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 33.17/10.39 members_in_ag([], Ys) -> members_out_ag([], Ys) 33.17/10.39 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 33.17/10.39 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 33.17/10.39 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 33.17/10.39 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 33.17/10.39 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 33.17/10.39 33.17/10.39 The argument filtering Pi contains the following mapping: 33.17/10.41 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 33.17/10.41 33.17/10.41 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 33.17/10.41 33.17/10.41 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 33.17/10.41 33.17/10.41 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x5) 33.17/10.41 33.17/10.41 select_in_aga(x1, x2, x3) = select_in_aga(x2) 33.17/10.41 33.17/10.41 .(x1, x2) = .(x1, x2) 33.17/10.41 33.17/10.41 select_out_aga(x1, x2, x3) = select_out_aga(x1, x3) 33.17/10.41 33.17/10.41 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x5) 33.17/10.41 33.17/10.41 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x5) 33.17/10.41 33.17/10.41 members_in_ag(x1, x2) = members_in_ag(x2) 33.17/10.41 33.17/10.41 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 33.17/10.41 33.17/10.41 member_in_ag(x1, x2) = member_in_ag(x2) 33.17/10.41 33.17/10.41 member_out_ag(x1, x2) = member_out_ag(x1) 33.17/10.41 33.17/10.41 U8_ag(x1, x2, x3, x4) = U8_ag(x4) 33.17/10.41 33.17/10.41 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x4) 33.17/10.41 33.17/10.41 members_out_ag(x1, x2) = members_out_ag(x1) 33.17/10.41 33.17/10.41 color_region_out_ag(x1, x2) = color_region_out_ag(x1) 33.17/10.41 33.17/10.41 region(x1, x2, x3) = region(x2, x3) 33.17/10.41 33.17/10.41 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x4) 33.17/10.41 33.17/10.41 color_map_out_ag(x1, x2) = color_map_out_ag(x1) 33.17/10.41 33.17/10.41 SELECT_IN_AGA(x1, x2, x3) = SELECT_IN_AGA(x2) 33.17/10.41 33.17/10.41 33.17/10.41 We have to consider all (P,R,Pi)-chains 33.17/10.41 ---------------------------------------- 33.17/10.41 33.17/10.41 (54) UsableRulesProof (EQUIVALENT) 33.17/10.41 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 33.17/10.41 ---------------------------------------- 33.17/10.41 33.17/10.41 (55) 33.17/10.41 Obligation: 33.17/10.41 Pi DP problem: 33.17/10.41 The TRS P consists of the following rules: 33.17/10.41 33.17/10.41 SELECT_IN_AGA(X, .(Y, Ys), .(Y, Zs)) -> SELECT_IN_AGA(X, Ys, Zs) 33.17/10.41 33.17/10.41 R is empty. 33.17/10.41 The argument filtering Pi contains the following mapping: 33.17/10.41 .(x1, x2) = .(x1, x2) 33.17/10.41 33.17/10.41 SELECT_IN_AGA(x1, x2, x3) = SELECT_IN_AGA(x2) 33.17/10.41 33.17/10.41 33.17/10.41 We have to consider all (P,R,Pi)-chains 33.17/10.41 ---------------------------------------- 33.17/10.41 33.17/10.41 (56) PiDPToQDPProof (SOUND) 33.17/10.41 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 33.17/10.41 ---------------------------------------- 33.17/10.41 33.17/10.41 (57) 33.17/10.41 Obligation: 33.17/10.41 Q DP problem: 33.17/10.41 The TRS P consists of the following rules: 33.17/10.41 33.17/10.41 SELECT_IN_AGA(.(Y, Ys)) -> SELECT_IN_AGA(Ys) 33.17/10.41 33.17/10.41 R is empty. 33.17/10.41 Q is empty. 33.17/10.41 We have to consider all (P,Q,R)-chains. 33.17/10.41 ---------------------------------------- 33.17/10.41 33.17/10.41 (58) QDPSizeChangeProof (EQUIVALENT) 33.17/10.41 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. 33.17/10.41 33.17/10.41 From the DPs we obtained the following set of size-change graphs: 33.17/10.41 *SELECT_IN_AGA(.(Y, Ys)) -> SELECT_IN_AGA(Ys) 33.17/10.41 The graph contains the following edges 1 > 1 33.17/10.41 33.17/10.41 33.17/10.41 ---------------------------------------- 33.17/10.41 33.17/10.41 (59) 33.17/10.41 YES 33.17/10.41 33.17/10.41 ---------------------------------------- 33.17/10.41 33.17/10.41 (60) 33.17/10.41 Obligation: 33.17/10.41 Pi DP problem: 33.17/10.41 The TRS P consists of the following rules: 33.17/10.41 33.17/10.41 U1_AG(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> COLOR_MAP_IN_AG(Regions, Colors) 33.17/10.41 COLOR_MAP_IN_AG(.(Region, Regions), Colors) -> U1_AG(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 33.17/10.41 33.17/10.41 The TRS R consists of the following rules: 33.17/10.41 33.17/10.41 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 33.17/10.41 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 33.17/10.41 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 33.17/10.41 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 33.17/10.41 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 33.17/10.41 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 33.17/10.41 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 33.17/10.41 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 33.17/10.41 member_in_ag(X, .(X2, T)) -> U8_ag(X, X2, T, member_in_ag(X, T)) 33.17/10.41 U8_ag(X, X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 33.17/10.41 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 33.17/10.41 members_in_ag([], Ys) -> members_out_ag([], Ys) 33.17/10.41 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 33.17/10.41 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 33.17/10.41 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 33.17/10.41 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 33.17/10.41 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 33.17/10.41 33.17/10.41 The argument filtering Pi contains the following mapping: 33.17/10.41 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 33.17/10.41 33.17/10.41 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 33.17/10.41 33.17/10.41 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 33.17/10.41 33.17/10.41 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x5) 33.17/10.41 33.17/10.41 select_in_aga(x1, x2, x3) = select_in_aga(x2) 33.17/10.41 33.17/10.41 .(x1, x2) = .(x1, x2) 33.17/10.41 33.17/10.41 select_out_aga(x1, x2, x3) = select_out_aga(x1, x3) 33.17/10.41 33.17/10.41 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x5) 33.17/10.41 33.17/10.41 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x5) 33.17/10.41 33.17/10.41 members_in_ag(x1, x2) = members_in_ag(x2) 33.17/10.41 33.17/10.41 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 33.17/10.41 33.17/10.41 member_in_ag(x1, x2) = member_in_ag(x2) 33.17/10.41 33.17/10.41 member_out_ag(x1, x2) = member_out_ag(x1) 33.17/10.41 33.17/10.41 U8_ag(x1, x2, x3, x4) = U8_ag(x4) 33.17/10.41 33.17/10.41 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x4) 33.17/10.41 33.17/10.41 members_out_ag(x1, x2) = members_out_ag(x1) 33.17/10.41 33.17/10.41 color_region_out_ag(x1, x2) = color_region_out_ag(x1) 33.17/10.41 33.17/10.41 region(x1, x2, x3) = region(x2, x3) 33.17/10.41 33.17/10.41 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x4) 33.17/10.41 33.17/10.41 color_map_out_ag(x1, x2) = color_map_out_ag(x1) 33.17/10.41 33.17/10.41 COLOR_MAP_IN_AG(x1, x2) = COLOR_MAP_IN_AG(x2) 33.17/10.41 33.17/10.41 U1_AG(x1, x2, x3, x4) = U1_AG(x3, x4) 33.17/10.41 33.17/10.41 33.17/10.41 We have to consider all (P,R,Pi)-chains 33.17/10.41 ---------------------------------------- 33.17/10.41 33.17/10.41 (61) UsableRulesProof (EQUIVALENT) 33.17/10.41 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 33.17/10.41 ---------------------------------------- 33.17/10.41 33.17/10.41 (62) 33.17/10.41 Obligation: 33.17/10.41 Pi DP problem: 33.17/10.41 The TRS P consists of the following rules: 33.17/10.41 33.17/10.41 U1_AG(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> COLOR_MAP_IN_AG(Regions, Colors) 33.17/10.41 COLOR_MAP_IN_AG(.(Region, Regions), Colors) -> U1_AG(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 33.17/10.41 33.17/10.41 The TRS R consists of the following rules: 33.17/10.41 33.17/10.41 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 33.17/10.41 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 33.17/10.41 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 33.17/10.41 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 33.17/10.41 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 33.17/10.41 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 33.17/10.41 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 33.17/10.41 members_in_ag([], Ys) -> members_out_ag([], Ys) 33.17/10.41 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 33.17/10.41 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 33.17/10.41 member_in_ag(X, .(X2, T)) -> U8_ag(X, X2, T, member_in_ag(X, T)) 33.17/10.41 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 33.17/10.41 U8_ag(X, X2, T, member_out_ag(X, T)) -> member_out_ag(X, .(X2, T)) 33.17/10.41 33.17/10.41 The argument filtering Pi contains the following mapping: 33.17/10.41 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 33.17/10.41 33.17/10.41 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x5) 33.17/10.41 33.17/10.41 select_in_aga(x1, x2, x3) = select_in_aga(x2) 33.17/10.41 33.17/10.41 .(x1, x2) = .(x1, x2) 33.17/10.41 33.17/10.41 select_out_aga(x1, x2, x3) = select_out_aga(x1, x3) 33.17/10.41 33.17/10.41 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x5) 33.17/10.41 33.17/10.41 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x5) 33.17/10.41 33.17/10.41 members_in_ag(x1, x2) = members_in_ag(x2) 33.17/10.41 33.17/10.41 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 33.17/10.41 33.17/10.41 member_in_ag(x1, x2) = member_in_ag(x2) 33.17/10.41 33.17/10.41 member_out_ag(x1, x2) = member_out_ag(x1) 33.17/10.41 33.17/10.41 U8_ag(x1, x2, x3, x4) = U8_ag(x4) 33.17/10.41 33.17/10.41 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x4) 33.17/10.41 33.17/10.41 members_out_ag(x1, x2) = members_out_ag(x1) 33.17/10.41 33.17/10.41 color_region_out_ag(x1, x2) = color_region_out_ag(x1) 33.17/10.41 33.17/10.41 region(x1, x2, x3) = region(x2, x3) 33.17/10.41 33.17/10.41 COLOR_MAP_IN_AG(x1, x2) = COLOR_MAP_IN_AG(x2) 33.17/10.41 33.17/10.41 U1_AG(x1, x2, x3, x4) = U1_AG(x3, x4) 33.17/10.41 33.17/10.41 33.17/10.41 We have to consider all (P,R,Pi)-chains 33.17/10.41 ---------------------------------------- 33.17/10.41 33.17/10.41 (63) PiDPToQDPProof (SOUND) 33.17/10.41 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 33.17/10.41 ---------------------------------------- 33.17/10.41 33.17/10.41 (64) 33.17/10.41 Obligation: 33.17/10.41 Q DP problem: 33.17/10.41 The TRS P consists of the following rules: 33.17/10.41 33.17/10.41 U1_AG(Colors, color_region_out_ag(Region)) -> COLOR_MAP_IN_AG(Colors) 33.17/10.41 COLOR_MAP_IN_AG(Colors) -> U1_AG(Colors, color_region_in_ag(Colors)) 33.17/10.41 33.17/10.41 The TRS R consists of the following rules: 33.17/10.41 33.17/10.41 color_region_in_ag(Colors) -> U3_ag(select_in_aga(Colors)) 33.17/10.41 U3_ag(select_out_aga(Color, Colors1)) -> U4_ag(Color, members_in_ag(Colors1)) 33.17/10.41 select_in_aga(.(X, Xs)) -> select_out_aga(X, Xs) 33.17/10.41 select_in_aga(.(Y, Ys)) -> U5_aga(Y, select_in_aga(Ys)) 33.17/10.41 U4_ag(Color, members_out_ag(Neighbors)) -> color_region_out_ag(region(Color, Neighbors)) 33.17/10.41 U5_aga(Y, select_out_aga(X, Zs)) -> select_out_aga(X, .(Y, Zs)) 33.17/10.41 members_in_ag(Ys) -> U6_ag(Ys, member_in_ag(Ys)) 33.17/10.41 members_in_ag(Ys) -> members_out_ag([]) 33.17/10.41 U6_ag(Ys, member_out_ag(X)) -> U7_ag(X, members_in_ag(Ys)) 33.17/10.41 member_in_ag(.(X, X1)) -> member_out_ag(X) 33.17/10.41 member_in_ag(.(X2, T)) -> U8_ag(member_in_ag(T)) 33.17/10.41 U7_ag(X, members_out_ag(Xs)) -> members_out_ag(.(X, Xs)) 33.17/10.41 U8_ag(member_out_ag(X)) -> member_out_ag(X) 33.17/10.41 33.17/10.41 The set Q consists of the following terms: 33.17/10.41 33.17/10.41 color_region_in_ag(x0) 33.17/10.41 U3_ag(x0) 33.17/10.41 select_in_aga(x0) 33.17/10.41 U4_ag(x0, x1) 33.17/10.41 U5_aga(x0, x1) 33.17/10.41 members_in_ag(x0) 33.17/10.41 U6_ag(x0, x1) 33.17/10.41 member_in_ag(x0) 33.17/10.41 U7_ag(x0, x1) 33.17/10.41 U8_ag(x0) 33.17/10.41 33.17/10.41 We have to consider all (P,Q,R)-chains. 33.17/10.41 ---------------------------------------- 33.17/10.41 33.17/10.41 (65) PrologToDTProblemTransformerProof (SOUND) 33.17/10.41 Built DT problem from termination graph DT10. 33.17/10.41 33.17/10.41 { 33.17/10.41 "root": 1, 33.17/10.41 "program": { 33.17/10.41 "directives": [], 33.17/10.41 "clauses": [ 33.17/10.41 [ 33.17/10.41 "(color_map (. Region Regions) Colors)", 33.17/10.41 "(',' (color_region Region Colors) (color_map Regions Colors))" 33.17/10.41 ], 33.17/10.41 [ 33.17/10.41 "(color_map ([]) Colors)", 33.17/10.41 null 33.17/10.41 ], 33.17/10.41 [ 33.17/10.41 "(color_region (region Name Color Neighbors) Colors)", 33.17/10.41 "(',' (select Color Colors Colors1) (members Neighbors Colors1))" 33.17/10.41 ], 33.17/10.41 [ 33.17/10.41 "(select X (. X Xs) Xs)", 33.17/10.41 null 33.17/10.41 ], 33.17/10.41 [ 33.17/10.41 "(select X (. Y Ys) (. Y Zs))", 33.17/10.41 "(select X Ys Zs)" 33.17/10.41 ], 33.17/10.41 [ 33.17/10.41 "(members (. X Xs) Ys)", 33.17/10.41 "(',' (member X Ys) (members Xs Ys))" 33.17/10.41 ], 33.17/10.41 [ 33.17/10.41 "(members ([]) Ys)", 33.17/10.41 null 33.17/10.41 ], 33.17/10.41 [ 33.17/10.41 "(member X (. X X1))", 33.17/10.41 null 33.17/10.41 ], 33.17/10.41 [ 33.17/10.41 "(member X (. X2 T))", 33.17/10.41 "(member X T)" 33.17/10.41 ], 33.17/10.41 [ 33.17/10.41 "(test_color Name Map)", 33.17/10.41 "(',' (map Name Map) (',' (colors Name Colors) (color_map Map Colors)))" 33.17/10.41 ], 33.17/10.41 [ 33.17/10.41 "(map (test) (. (region (a) A (. B (. C (. D ([]))))) (. (region (b) B (. A (. C (. E ([]))))) (. (region (c) C (. A (. B (. D (. E (. F ([]))))))) (. (region (d) D (. A (. C (. F ([]))))) (. (region (e) E (. B (. C (. F ([]))))) (. (region (f) F (. C (. D (. E ([]))))) ([]))))))))", 33.17/10.41 null 33.17/10.41 ], 33.17/10.41 [ 33.17/10.41 "(map (west_europe) (. (region (portugal) P (. E ([]))) (. (region (spain) E (. F (. P ([])))) (. (region (france) F (. E (. I (. S (. B (. WG (. L ([])))))))) (. (region (belgium) B (. F (. H (. L (. WG ([])))))) (. (region (holland) H (. B (. WG ([])))) (. (region (west_germany) WG (. F (. A (. S (. H (. B (. L ([])))))))) (. (region (luxembourg) L (. F (. B (. WG ([]))))) (. (region (italy) I (. F (. A (. S ([]))))) (. (region (switzerland) S (. F (. I (. A (. WG ([])))))) (. (region (austria) A (. I (. S (. WG ([]))))) ([]))))))))))))", 33.17/10.41 null 33.17/10.41 ], 33.17/10.41 [ 33.17/10.41 "(colors X (. (red) (. (yellow) (. (blue) (. (white) ([]))))))", 33.17/10.41 null 33.17/10.41 ] 33.17/10.41 ] 33.17/10.41 }, 33.17/10.41 "graph": { 33.17/10.41 "nodes": { 33.17/10.41 "44": { 33.17/10.41 "goal": [], 33.17/10.41 "kb": { 33.17/10.41 "nonunifying": [], 33.17/10.41 "intvars": {}, 33.17/10.41 "arithmetic": { 33.17/10.41 "type": "PlainIntegerRelationState", 33.17/10.41 "relations": [] 33.17/10.41 }, 33.17/10.41 "ground": [], 33.17/10.41 "free": [], 33.17/10.41 "exprvars": [] 33.17/10.41 } 33.17/10.41 }, 33.17/10.41 "type": "Nodes", 33.17/10.41 "591": { 33.17/10.41 "goal": [{ 33.17/10.41 "clause": 5, 33.17/10.41 "scope": 4, 33.17/10.41 "term": "(members T39 T38)" 33.17/10.41 }], 33.17/10.41 "kb": { 33.17/10.41 "nonunifying": [], 33.17/10.41 "intvars": {}, 33.17/10.41 "arithmetic": { 33.17/10.41 "type": "PlainIntegerRelationState", 33.17/10.41 "relations": [] 33.17/10.41 }, 33.17/10.41 "ground": ["T38"], 33.17/10.41 "free": [], 33.17/10.41 "exprvars": [] 33.17/10.41 } 33.17/10.41 }, 33.17/10.41 "592": { 33.17/10.41 "goal": [{ 33.17/10.41 "clause": 6, 33.17/10.41 "scope": 4, 33.17/10.41 "term": "(members T39 T38)" 33.17/10.41 }], 33.17/10.41 "kb": { 33.17/10.41 "nonunifying": [], 33.17/10.41 "intvars": {}, 33.17/10.41 "arithmetic": { 33.17/10.41 "type": "PlainIntegerRelationState", 33.17/10.41 "relations": [] 33.17/10.41 }, 33.17/10.41 "ground": ["T38"], 33.17/10.41 "free": [], 33.17/10.41 "exprvars": [] 33.17/10.41 } 33.17/10.41 }, 33.17/10.41 "593": { 33.17/10.41 "goal": [{ 33.17/10.41 "clause": -1, 33.17/10.41 "scope": -1, 33.17/10.41 "term": "(',' (member T91 T90) (members T92 T90))" 33.17/10.41 }], 33.17/10.41 "kb": { 33.17/10.41 "nonunifying": [], 33.17/10.41 "intvars": {}, 33.17/10.41 "arithmetic": { 33.17/10.41 "type": "PlainIntegerRelationState", 33.17/10.41 "relations": [] 33.17/10.41 }, 33.17/10.41 "ground": ["T90"], 33.17/10.42 "free": [], 33.17/10.42 "exprvars": [] 33.17/10.42 } 33.17/10.42 }, 33.17/10.42 "594": { 33.17/10.42 "goal": [], 33.17/10.42 "kb": { 33.17/10.42 "nonunifying": [], 33.17/10.42 "intvars": {}, 33.17/10.42 "arithmetic": { 33.17/10.42 "type": "PlainIntegerRelationState", 33.17/10.42 "relations": [] 33.17/10.42 }, 33.17/10.42 "ground": [], 33.17/10.42 "free": [], 33.17/10.42 "exprvars": [] 33.17/10.42 } 33.17/10.42 }, 33.17/10.42 "255": { 33.17/10.42 "goal": [{ 33.17/10.42 "clause": 3, 33.17/10.42 "scope": 3, 33.17/10.42 "term": "(select T31 T30 X31)" 33.17/10.42 }], 33.17/10.42 "kb": { 33.17/10.42 "nonunifying": [], 33.17/10.42 "intvars": {}, 33.17/10.42 "arithmetic": { 33.17/10.42 "type": "PlainIntegerRelationState", 33.17/10.42 "relations": [] 33.17/10.42 }, 33.17/10.42 "ground": ["T30"], 33.17/10.42 "free": ["X31"], 33.17/10.42 "exprvars": [] 33.17/10.42 } 33.17/10.42 }, 33.17/10.42 "596": { 33.17/10.42 "goal": [{ 33.17/10.42 "clause": -1, 33.17/10.42 "scope": -1, 33.17/10.42 "term": "(member T91 T90)" 33.17/10.42 }], 33.17/10.42 "kb": { 33.17/10.42 "nonunifying": [], 33.17/10.42 "intvars": {}, 33.17/10.42 "arithmetic": { 33.17/10.42 "type": "PlainIntegerRelationState", 33.17/10.42 "relations": [] 33.17/10.42 }, 33.17/10.42 "ground": ["T90"], 33.17/10.42 "free": [], 33.17/10.42 "exprvars": [] 33.17/10.42 } 33.17/10.42 }, 33.17/10.42 "256": { 33.17/10.42 "goal": [{ 33.17/10.42 "clause": 4, 33.17/10.42 "scope": 3, 33.17/10.42 "term": "(select T31 T30 X31)" 33.17/10.42 }], 33.17/10.42 "kb": { 33.17/10.42 "nonunifying": [], 33.17/10.42 "intvars": {}, 33.17/10.42 "arithmetic": { 33.17/10.42 "type": "PlainIntegerRelationState", 33.17/10.42 "relations": [] 33.17/10.42 }, 33.17/10.42 "ground": ["T30"], 33.17/10.42 "free": ["X31"], 33.17/10.42 "exprvars": [] 33.17/10.42 } 33.17/10.42 }, 33.17/10.42 "597": { 33.17/10.42 "goal": [{ 33.17/10.42 "clause": -1, 33.17/10.42 "scope": -1, 33.17/10.42 "term": "(members T97 T90)" 33.17/10.42 }], 33.17/10.42 "kb": { 33.17/10.42 "nonunifying": [], 33.17/10.42 "intvars": {}, 33.17/10.42 "arithmetic": { 33.17/10.42 "type": "PlainIntegerRelationState", 33.17/10.42 "relations": [] 33.17/10.42 }, 33.17/10.42 "ground": ["T90"], 33.17/10.42 "free": [], 33.17/10.42 "exprvars": [] 33.17/10.42 } 33.17/10.42 }, 33.17/10.42 "630": { 33.17/10.42 "goal": [], 33.17/10.42 "kb": { 33.17/10.42 "nonunifying": [], 33.17/10.42 "intvars": {}, 33.17/10.42 "arithmetic": { 33.17/10.42 "type": "PlainIntegerRelationState", 33.17/10.42 "relations": [] 33.17/10.42 }, 33.17/10.42 "ground": [], 33.17/10.42 "free": [], 33.17/10.42 "exprvars": [] 33.17/10.42 } 33.17/10.42 }, 33.17/10.42 "257": { 33.17/10.42 "goal": [{ 33.17/10.42 "clause": -1, 33.17/10.42 "scope": -1, 33.17/10.42 "term": "(true)" 33.17/10.42 }], 33.17/10.42 "kb": { 33.17/10.42 "nonunifying": [], 33.17/10.42 "intvars": {}, 33.17/10.42 "arithmetic": { 33.17/10.42 "type": "PlainIntegerRelationState", 33.17/10.42 "relations": [] 33.17/10.42 }, 33.17/10.42 "ground": [], 33.17/10.42 "free": [], 33.17/10.42 "exprvars": [] 33.17/10.42 } 33.17/10.42 }, 33.17/10.42 "631": { 33.17/10.42 "goal": [], 33.17/10.42 "kb": { 33.17/10.42 "nonunifying": [], 33.17/10.42 "intvars": {}, 33.17/10.42 "arithmetic": { 33.17/10.42 "type": "PlainIntegerRelationState", 33.17/10.42 "relations": [] 33.17/10.42 }, 33.17/10.42 "ground": [], 33.17/10.42 "free": [], 33.17/10.42 "exprvars": [] 33.17/10.42 } 33.17/10.42 }, 33.17/10.42 "258": { 33.17/10.42 "goal": [], 33.17/10.42 "kb": { 33.17/10.42 "nonunifying": [], 33.17/10.42 "intvars": {}, 33.17/10.42 "arithmetic": { 33.17/10.42 "type": "PlainIntegerRelationState", 33.17/10.42 "relations": [] 33.17/10.42 }, 33.17/10.42 "ground": [], 33.17/10.42 "free": [], 33.17/10.42 "exprvars": [] 33.17/10.42 } 33.17/10.42 }, 33.17/10.42 "610": { 33.17/10.42 "goal": [{ 33.17/10.42 "clause": -1, 33.17/10.42 "scope": -1, 33.17/10.42 "term": "(member T121 T120)" 33.17/10.42 }], 33.17/10.42 "kb": { 33.17/10.42 "nonunifying": [], 33.17/10.42 "intvars": {}, 33.17/10.42 "arithmetic": { 33.17/10.42 "type": "PlainIntegerRelationState", 33.17/10.42 "relations": [] 33.17/10.42 }, 33.17/10.42 "ground": ["T120"], 33.17/10.42 "free": [], 33.17/10.42 "exprvars": [] 33.17/10.42 } 33.17/10.42 }, 33.17/10.42 "238": { 33.17/10.42 "goal": [ 33.17/10.42 { 33.17/10.42 "clause": 3, 33.17/10.42 "scope": 3, 33.17/10.42 "term": "(select T31 T30 X31)" 33.17/10.42 }, 33.17/10.42 { 33.17/10.42 "clause": 4, 33.17/10.42 "scope": 3, 33.17/10.42 "term": "(select T31 T30 X31)" 33.17/10.42 } 33.17/10.42 ], 33.17/10.42 "kb": { 33.17/10.42 "nonunifying": [], 33.17/10.42 "intvars": {}, 33.17/10.42 "arithmetic": { 33.17/10.42 "type": "PlainIntegerRelationState", 33.17/10.42 "relations": [] 33.17/10.42 }, 33.17/10.42 "ground": ["T30"], 33.17/10.42 "free": ["X31"], 33.17/10.42 "exprvars": [] 33.17/10.42 } 33.17/10.42 }, 33.17/10.42 "612": { 33.17/10.42 "goal": [], 33.17/10.42 "kb": { 33.17/10.42 "nonunifying": [], 33.17/10.42 "intvars": {}, 33.17/10.42 "arithmetic": { 33.17/10.42 "type": "PlainIntegerRelationState", 33.17/10.42 "relations": [] 33.17/10.42 }, 33.17/10.42 "ground": [], 33.17/10.42 "free": [], 33.17/10.42 "exprvars": [] 33.17/10.42 } 33.17/10.42 }, 33.17/10.42 "617": { 33.17/10.42 "goal": [{ 33.17/10.42 "clause": -1, 33.17/10.42 "scope": -1, 33.17/10.42 "term": "(true)" 33.17/10.42 }], 33.17/10.42 "kb": { 33.17/10.42 "nonunifying": [], 33.17/10.42 "intvars": {}, 33.17/10.42 "arithmetic": { 33.17/10.42 "type": "PlainIntegerRelationState", 33.17/10.42 "relations": [] 33.17/10.42 }, 33.17/10.42 "ground": [], 33.17/10.42 "free": [], 33.17/10.42 "exprvars": [] 33.17/10.42 } 33.17/10.42 }, 33.17/10.42 "619": { 33.17/10.42 "goal": [], 33.17/10.42 "kb": { 33.17/10.42 "nonunifying": [], 33.17/10.42 "intvars": {}, 33.17/10.42 "arithmetic": { 33.17/10.42 "type": "PlainIntegerRelationState", 33.17/10.42 "relations": [] 33.17/10.42 }, 33.17/10.42 "ground": [], 33.17/10.42 "free": [], 33.17/10.42 "exprvars": [] 33.17/10.42 } 33.17/10.42 }, 33.17/10.42 "36": { 33.17/10.42 "goal": [ 33.17/10.42 { 33.17/10.42 "clause": -1, 33.17/10.42 "scope": -1, 33.17/10.42 "term": "(',' (color_region T9 T8) (color_map T10 T8))" 33.17/10.42 }, 33.17/10.42 { 33.17/10.42 "clause": 1, 33.17/10.42 "scope": 1, 33.17/10.42 "term": "(color_map T1 T8)" 33.17/10.42 } 33.17/10.42 ], 33.17/10.42 "kb": { 33.17/10.42 "nonunifying": [], 33.17/10.42 "intvars": {}, 33.17/10.42 "arithmetic": { 33.17/10.42 "type": "PlainIntegerRelationState", 33.17/10.42 "relations": [] 33.17/10.42 }, 33.17/10.42 "ground": ["T8"], 33.17/10.42 "free": [], 33.17/10.42 "exprvars": [] 33.17/10.42 } 33.17/10.42 }, 33.17/10.42 "37": { 33.17/10.42 "goal": [{ 33.17/10.42 "clause": 1, 33.17/10.42 "scope": 1, 33.17/10.42 "term": "(color_map T1 T2)" 33.17/10.42 }], 33.17/10.42 "kb": { 33.17/10.42 "nonunifying": [[ 33.17/10.42 "(color_map T1 T2)", 33.17/10.42 "(color_map (. X6 X7) X8)" 33.17/10.42 ]], 33.17/10.42 "intvars": {}, 33.17/10.42 "arithmetic": { 33.17/10.42 "type": "PlainIntegerRelationState", 33.17/10.42 "relations": [] 33.17/10.42 }, 33.17/10.42 "ground": ["T2"], 33.17/10.42 "free": [ 33.17/10.42 "X6", 33.17/10.42 "X7", 33.17/10.42 "X8" 33.17/10.42 ], 33.17/10.42 "exprvars": [] 33.17/10.42 } 33.17/10.42 }, 33.17/10.42 "38": { 33.17/10.42 "goal": [ 33.17/10.42 { 33.17/10.42 "clause": 2, 33.17/10.42 "scope": 2, 33.17/10.42 "term": "(',' (color_region T9 T8) (color_map T10 T8))" 33.17/10.42 }, 33.17/10.42 { 33.17/10.42 "clause": -1, 33.17/10.42 "scope": 2, 33.17/10.42 "term": null 33.17/10.42 }, 33.17/10.42 { 33.17/10.42 "clause": 1, 33.17/10.42 "scope": 1, 33.17/10.42 "term": "(color_map T1 T8)" 33.17/10.42 } 33.17/10.42 ], 33.17/10.42 "kb": { 33.17/10.42 "nonunifying": [], 33.17/10.42 "intvars": {}, 33.17/10.42 "arithmetic": { 33.17/10.42 "type": "PlainIntegerRelationState", 33.17/10.42 "relations": [] 33.17/10.42 }, 33.17/10.42 "ground": ["T8"], 33.17/10.42 "free": [], 33.17/10.42 "exprvars": [] 33.17/10.42 } 33.17/10.42 }, 33.17/10.42 "39": { 33.17/10.42 "goal": [{ 33.17/10.42 "clause": 2, 33.17/10.42 "scope": 2, 33.17/10.42 "term": "(',' (color_region T9 T8) (color_map T10 T8))" 33.17/10.42 }], 33.17/10.42 "kb": { 33.17/10.42 "nonunifying": [], 33.17/10.42 "intvars": {}, 33.17/10.42 "arithmetic": { 33.17/10.42 "type": "PlainIntegerRelationState", 33.17/10.42 "relations": [] 33.17/10.42 }, 33.17/10.42 "ground": ["T8"], 33.17/10.42 "free": [], 33.17/10.42 "exprvars": [] 33.17/10.42 } 33.17/10.42 }, 33.17/10.42 "561": { 33.17/10.42 "goal": [{ 33.17/10.42 "clause": -1, 33.17/10.42 "scope": -1, 33.17/10.42 "term": "(select T64 T63 X64)" 33.17/10.42 }], 33.17/10.42 "kb": { 33.17/10.42 "nonunifying": [], 33.17/10.42 "intvars": {}, 33.17/10.42 "arithmetic": { 33.17/10.42 "type": "PlainIntegerRelationState", 33.17/10.42 "relations": [] 33.17/10.42 }, 33.17/10.42 "ground": ["T63"], 33.17/10.42 "free": ["X64"], 33.17/10.42 "exprvars": [] 33.17/10.42 } 33.17/10.42 }, 33.17/10.42 "1": { 33.17/10.42 "goal": [{ 33.17/10.42 "clause": -1, 33.17/10.42 "scope": -1, 33.17/10.42 "term": "(color_map T1 T2)" 33.17/10.42 }], 33.17/10.42 "kb": { 33.17/10.42 "nonunifying": [], 33.17/10.42 "intvars": {}, 33.17/10.42 "arithmetic": { 33.17/10.42 "type": "PlainIntegerRelationState", 33.17/10.42 "relations": [] 33.17/10.42 }, 33.17/10.42 "ground": ["T2"], 33.17/10.42 "free": [], 33.17/10.42 "exprvars": [] 33.17/10.42 } 33.17/10.42 }, 33.17/10.42 "563": { 33.17/10.42 "goal": [], 33.17/10.42 "kb": { 33.17/10.42 "nonunifying": [], 33.17/10.42 "intvars": {}, 33.17/10.42 "arithmetic": { 33.17/10.42 "type": "PlainIntegerRelationState", 33.17/10.42 "relations": [] 33.17/10.42 }, 33.17/10.42 "ground": [], 33.17/10.42 "free": [], 33.17/10.42 "exprvars": [] 33.17/10.42 } 33.17/10.42 }, 33.17/10.42 "585": { 33.17/10.42 "goal": [{ 33.17/10.42 "clause": -1, 33.17/10.42 "scope": -1, 33.17/10.42 "term": "(members T39 T38)" 33.17/10.42 }], 33.17/10.42 "kb": { 33.17/10.42 "nonunifying": [], 33.17/10.42 "intvars": {}, 33.17/10.42 "arithmetic": { 33.17/10.42 "type": "PlainIntegerRelationState", 33.17/10.42 "relations": [] 33.17/10.42 }, 33.17/10.42 "ground": ["T38"], 33.17/10.42 "free": [], 33.17/10.42 "exprvars": [] 33.17/10.42 } 33.17/10.42 }, 33.17/10.42 "3": { 33.17/10.42 "goal": [ 33.17/10.42 { 33.17/10.42 "clause": 0, 33.17/10.42 "scope": 1, 33.17/10.42 "term": "(color_map T1 T2)" 33.17/10.42 }, 33.17/10.42 { 33.17/10.42 "clause": 1, 33.17/10.42 "scope": 1, 33.17/10.42 "term": "(color_map T1 T2)" 33.17/10.42 } 33.17/10.42 ], 33.17/10.42 "kb": { 33.17/10.42 "nonunifying": [], 33.17/10.42 "intvars": {}, 33.17/10.42 "arithmetic": { 33.17/10.42 "type": "PlainIntegerRelationState", 33.17/10.42 "relations": [] 33.17/10.42 }, 33.17/10.42 "ground": ["T2"], 33.17/10.42 "free": [], 33.17/10.42 "exprvars": [] 33.17/10.42 } 33.17/10.42 }, 33.17/10.42 "586": { 33.17/10.42 "goal": [{ 33.17/10.42 "clause": -1, 33.17/10.42 "scope": -1, 33.17/10.42 "term": "(color_map T72 T30)" 33.17/10.42 }], 33.17/10.42 "kb": { 33.17/10.42 "nonunifying": [], 33.17/10.42 "intvars": {}, 33.17/10.42 "arithmetic": { 33.17/10.42 "type": "PlainIntegerRelationState", 33.17/10.42 "relations": [] 33.17/10.42 }, 33.17/10.42 "ground": ["T30"], 33.17/10.42 "free": [], 33.17/10.42 "exprvars": [] 33.17/10.42 } 33.17/10.42 }, 33.17/10.42 "587": { 33.17/10.42 "goal": [ 33.17/10.42 { 33.17/10.42 "clause": 5, 33.17/10.42 "scope": 4, 33.17/10.42 "term": "(members T39 T38)" 33.17/10.42 }, 33.17/10.42 { 33.17/10.42 "clause": 6, 33.17/10.42 "scope": 4, 33.17/10.42 "term": "(members T39 T38)" 33.17/10.42 } 33.17/10.42 ], 33.17/10.42 "kb": { 33.17/10.42 "nonunifying": [], 33.17/10.42 "intvars": {}, 33.17/10.42 "arithmetic": { 33.17/10.42 "type": "PlainIntegerRelationState", 33.17/10.42 "relations": [] 33.17/10.42 }, 33.17/10.42 "ground": ["T38"], 33.17/10.42 "free": [], 33.17/10.42 "exprvars": [] 33.17/10.42 } 33.17/10.42 }, 33.17/10.42 "467": { 33.17/10.42 "goal": [], 33.17/10.42 "kb": { 33.17/10.42 "nonunifying": [], 33.17/10.42 "intvars": {}, 33.17/10.42 "arithmetic": { 33.17/10.42 "type": "PlainIntegerRelationState", 33.17/10.42 "relations": [] 33.17/10.42 }, 33.17/10.42 "ground": [], 33.17/10.42 "free": [], 33.17/10.42 "exprvars": [] 33.17/10.42 } 33.17/10.42 }, 33.17/10.42 "621": { 33.17/10.42 "goal": [], 33.17/10.42 "kb": { 33.17/10.42 "nonunifying": [], 33.17/10.42 "intvars": {}, 33.17/10.42 "arithmetic": { 33.17/10.42 "type": "PlainIntegerRelationState", 33.17/10.42 "relations": [] 33.17/10.42 }, 33.17/10.42 "ground": [], 33.17/10.42 "free": [], 33.17/10.42 "exprvars": [] 33.17/10.42 } 33.17/10.42 }, 33.17/10.42 "600": { 33.17/10.42 "goal": [ 33.17/10.42 { 33.17/10.42 "clause": 7, 33.17/10.42 "scope": 5, 33.17/10.42 "term": "(member T91 T90)" 33.17/10.42 }, 33.17/10.42 { 33.17/10.42 "clause": 8, 33.17/10.42 "scope": 5, 33.17/10.42 "term": "(member T91 T90)" 33.17/10.42 } 33.17/10.42 ], 33.17/10.42 "kb": { 33.17/10.42 "nonunifying": [], 33.17/10.42 "intvars": {}, 33.17/10.42 "arithmetic": { 33.17/10.42 "type": "PlainIntegerRelationState", 33.17/10.42 "relations": [] 33.17/10.42 }, 33.17/10.42 "ground": ["T90"], 33.17/10.42 "free": [], 33.17/10.42 "exprvars": [] 33.17/10.42 } 33.17/10.42 }, 33.17/10.42 "227": { 33.17/10.42 "goal": [{ 33.17/10.42 "clause": -1, 33.17/10.42 "scope": -1, 33.17/10.42 "term": "(select T31 T30 X31)" 33.17/10.42 }], 33.17/10.42 "kb": { 33.17/10.42 "nonunifying": [], 33.17/10.42 "intvars": {}, 33.17/10.42 "arithmetic": { 33.17/10.42 "type": "PlainIntegerRelationState", 33.17/10.42 "relations": [] 33.17/10.42 }, 33.17/10.42 "ground": ["T30"], 33.17/10.42 "free": ["X31"], 33.17/10.42 "exprvars": [] 33.17/10.42 } 33.17/10.42 }, 33.17/10.42 "601": { 33.17/10.42 "goal": [{ 33.17/10.42 "clause": 7, 33.17/10.42 "scope": 5, 33.17/10.42 "term": "(member T91 T90)" 33.17/10.42 }], 33.17/10.42 "kb": { 33.17/10.42 "nonunifying": [], 33.17/10.42 "intvars": {}, 33.17/10.42 "arithmetic": { 33.17/10.42 "type": "PlainIntegerRelationState", 33.17/10.42 "relations": [] 33.17/10.42 }, 33.17/10.42 "ground": ["T90"], 33.17/10.42 "free": [], 33.17/10.42 "exprvars": [] 33.17/10.42 } 33.17/10.42 }, 33.17/10.42 "623": { 33.17/10.42 "goal": [{ 33.17/10.42 "clause": 1, 33.17/10.42 "scope": 1, 33.17/10.42 "term": "(color_map T1 T8)" 33.17/10.42 }], 33.17/10.42 "kb": { 33.17/10.42 "nonunifying": [], 33.17/10.42 "intvars": {}, 33.17/10.42 "arithmetic": { 33.17/10.42 "type": "PlainIntegerRelationState", 33.17/10.42 "relations": [] 33.17/10.42 }, 33.17/10.42 "ground": ["T8"], 33.17/10.42 "free": [], 33.17/10.42 "exprvars": [] 33.17/10.42 } 33.17/10.42 }, 33.17/10.42 "228": { 33.17/10.42 "goal": [{ 33.17/10.42 "clause": -1, 33.17/10.42 "scope": -1, 33.17/10.42 "term": "(',' (members T39 T38) (color_map T40 T30))" 33.17/10.42 }], 33.17/10.42 "kb": { 33.17/10.42 "nonunifying": [], 33.17/10.42 "intvars": {}, 33.17/10.42 "arithmetic": { 33.17/10.42 "type": "PlainIntegerRelationState", 33.17/10.42 "relations": [] 33.17/10.42 }, 33.17/10.42 "ground": [ 33.17/10.42 "T30", 33.17/10.42 "T38" 33.17/10.42 ], 33.17/10.42 "free": [], 33.17/10.42 "exprvars": [] 33.17/10.42 } 33.17/10.42 }, 33.17/10.42 "603": { 33.17/10.42 "goal": [{ 33.17/10.42 "clause": 8, 33.17/10.42 "scope": 5, 33.17/10.42 "term": "(member T91 T90)" 33.17/10.42 }], 33.17/10.42 "kb": { 33.17/10.42 "nonunifying": [], 33.17/10.42 "intvars": {}, 33.17/10.42 "arithmetic": { 33.17/10.42 "type": "PlainIntegerRelationState", 33.17/10.42 "relations": [] 33.17/10.42 }, 33.17/10.42 "ground": ["T90"], 33.17/10.42 "free": [], 33.17/10.42 "exprvars": [] 33.17/10.42 } 33.17/10.42 }, 33.17/10.42 "626": { 33.17/10.42 "goal": [{ 33.17/10.42 "clause": -1, 33.17/10.42 "scope": -1, 33.17/10.42 "term": "(true)" 33.17/10.42 }], 33.17/10.42 "kb": { 33.17/10.42 "nonunifying": [], 33.17/10.42 "intvars": {}, 33.17/10.42 "arithmetic": { 33.17/10.42 "type": "PlainIntegerRelationState", 33.17/10.42 "relations": [] 33.17/10.42 }, 33.17/10.42 "ground": [], 33.17/10.42 "free": [], 33.17/10.42 "exprvars": [] 33.17/10.42 } 33.17/10.42 }, 33.17/10.42 "605": { 33.17/10.42 "goal": [{ 33.17/10.42 "clause": -1, 33.17/10.42 "scope": -1, 33.17/10.42 "term": "(true)" 33.17/10.42 }], 33.17/10.42 "kb": { 33.17/10.42 "nonunifying": [], 33.17/10.42 "intvars": {}, 33.17/10.42 "arithmetic": { 33.17/10.42 "type": "PlainIntegerRelationState", 33.17/10.42 "relations": [] 33.17/10.42 }, 33.17/10.42 "ground": [], 33.17/10.42 "free": [], 33.17/10.42 "exprvars": [] 33.17/10.42 } 33.17/10.42 }, 33.17/10.42 "627": { 33.17/10.42 "goal": [], 33.17/10.42 "kb": { 33.17/10.42 "nonunifying": [], 33.17/10.42 "intvars": {}, 33.17/10.42 "arithmetic": { 33.17/10.42 "type": "PlainIntegerRelationState", 33.17/10.42 "relations": [] 33.17/10.42 }, 33.17/10.42 "ground": [], 33.17/10.42 "free": [], 33.17/10.42 "exprvars": [] 33.17/10.42 } 33.17/10.42 }, 33.17/10.42 "40": { 33.17/10.42 "goal": [ 33.17/10.42 { 33.17/10.42 "clause": -1, 33.17/10.42 "scope": 2, 33.17/10.42 "term": null 33.17/10.42 }, 33.17/10.42 { 33.17/10.42 "clause": 1, 33.17/10.42 "scope": 1, 33.17/10.42 "term": "(color_map T1 T8)" 33.17/10.42 } 33.17/10.42 ], 33.17/10.42 "kb": { 33.17/10.42 "nonunifying": [], 33.17/10.42 "intvars": {}, 33.17/10.42 "arithmetic": { 33.17/10.42 "type": "PlainIntegerRelationState", 33.17/10.42 "relations": [] 33.17/10.42 }, 33.17/10.42 "ground": ["T8"], 33.17/10.42 "free": [], 33.17/10.42 "exprvars": [] 33.17/10.42 } 33.17/10.42 }, 33.17/10.42 "606": { 33.17/10.42 "goal": [], 33.17/10.42 "kb": { 33.17/10.42 "nonunifying": [], 33.17/10.42 "intvars": {}, 33.17/10.42 "arithmetic": { 33.17/10.42 "type": "PlainIntegerRelationState", 33.17/10.42 "relations": [] 33.17/10.42 }, 33.17/10.42 "ground": [], 33.17/10.42 "free": [], 33.17/10.42 "exprvars": [] 33.17/10.42 } 33.17/10.42 }, 33.17/10.42 "628": { 33.17/10.42 "goal": [], 33.17/10.42 "kb": { 33.17/10.42 "nonunifying": [], 33.17/10.42 "intvars": {}, 33.17/10.42 "arithmetic": { 33.17/10.42 "type": "PlainIntegerRelationState", 33.17/10.42 "relations": [] 33.17/10.42 }, 33.17/10.42 "ground": [], 33.17/10.42 "free": [], 33.17/10.42 "exprvars": [] 33.17/10.42 } 33.17/10.42 }, 33.17/10.42 "607": { 33.17/10.42 "goal": [], 33.17/10.42 "kb": { 33.17/10.42 "nonunifying": [], 33.17/10.42 "intvars": {}, 33.17/10.42 "arithmetic": { 33.17/10.42 "type": "PlainIntegerRelationState", 33.17/10.42 "relations": [] 33.17/10.42 }, 33.17/10.42 "ground": [], 33.17/10.42 "free": [], 33.17/10.42 "exprvars": [] 33.17/10.42 } 33.17/10.42 }, 33.17/10.42 "629": { 33.17/10.42 "goal": [{ 33.17/10.42 "clause": -1, 33.17/10.42 "scope": -1, 33.17/10.42 "term": "(true)" 33.17/10.42 }], 33.17/10.42 "kb": { 33.17/10.42 "nonunifying": [], 33.17/10.42 "intvars": {}, 33.17/10.42 "arithmetic": { 33.17/10.42 "type": "PlainIntegerRelationState", 33.17/10.42 "relations": [] 33.17/10.42 }, 33.17/10.42 "ground": [], 33.17/10.42 "free": [], 33.17/10.42 "exprvars": [] 33.17/10.42 } 33.17/10.42 }, 33.17/10.42 "43": { 33.17/10.42 "goal": [{ 33.17/10.42 "clause": -1, 33.17/10.42 "scope": -1, 33.17/10.42 "term": "(',' (',' (select T31 T30 X31) (members T32 X31)) (color_map T33 T30))" 33.17/10.42 }], 33.17/10.42 "kb": { 33.17/10.42 "nonunifying": [], 33.17/10.42 "intvars": {}, 33.17/10.42 "arithmetic": { 33.17/10.42 "type": "PlainIntegerRelationState", 33.17/10.42 "relations": [] 33.17/10.42 }, 33.17/10.42 "ground": ["T30"], 33.17/10.42 "free": ["X31"], 33.17/10.42 "exprvars": [] 33.17/10.42 } 33.17/10.42 } 33.17/10.42 }, 33.17/10.42 "edges": [ 33.17/10.42 { 33.17/10.42 "from": 1, 33.17/10.42 "to": 3, 33.17/10.42 "label": "CASE" 33.17/10.42 }, 33.17/10.42 { 33.17/10.42 "from": 3, 33.17/10.42 "to": 36, 33.17/10.42 "label": "EVAL with clause\ncolor_map(.(X6, X7), X8) :- ','(color_region(X6, X8), color_map(X7, X8)).\nand substitutionX6 -> T9,\nX7 -> T10,\nT1 -> .(T9, T10),\nT2 -> T8,\nX8 -> T8,\nT6 -> T9,\nT7 -> T10" 33.17/10.42 }, 33.17/10.42 { 33.17/10.42 "from": 3, 33.17/10.42 "to": 37, 33.17/10.42 "label": "EVAL-BACKTRACK" 33.17/10.42 }, 33.17/10.42 { 33.17/10.42 "from": 36, 33.17/10.42 "to": 38, 33.17/10.42 "label": "CASE" 33.17/10.42 }, 33.17/10.42 { 33.17/10.42 "from": 37, 33.17/10.42 "to": 629, 33.17/10.42 "label": "EVAL with clause\ncolor_map([], X134).\nand substitutionT1 -> [],\nT2 -> T139,\nX134 -> T139" 33.17/10.42 }, 33.17/10.42 { 33.17/10.42 "from": 37, 33.17/10.42 "to": 630, 33.17/10.42 "label": "EVAL-BACKTRACK" 33.17/10.42 }, 33.17/10.42 { 33.17/10.42 "from": 38, 33.17/10.42 "to": 39, 33.17/10.42 "label": "PARALLEL" 33.17/10.42 }, 33.17/10.42 { 33.17/10.42 "from": 38, 33.17/10.42 "to": 40, 33.17/10.42 "label": "PARALLEL" 33.17/10.42 }, 33.17/10.42 { 33.17/10.42 "from": 39, 33.17/10.42 "to": 43, 33.17/10.42 "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" 33.17/10.42 }, 33.17/10.42 { 33.17/10.42 "from": 39, 33.17/10.42 "to": 44, 33.17/10.42 "label": "EVAL-BACKTRACK" 33.17/10.42 }, 33.17/10.42 { 33.17/10.42 "from": 40, 33.17/10.42 "to": 623, 33.17/10.42 "label": "FAILURE" 33.17/10.42 }, 33.17/10.42 { 33.17/10.42 "from": 43, 33.17/10.42 "to": 227, 33.17/10.42 "label": "SPLIT 1" 33.17/10.42 }, 33.17/10.42 { 33.17/10.42 "from": 43, 33.17/10.42 "to": 228, 33.17/10.42 "label": "SPLIT 2\nnew knowledge:\nT31 is ground\nT30 is ground\nT38 is ground\nreplacements:X31 -> T38,\nT32 -> T39,\nT33 -> T40" 33.17/10.42 }, 33.17/10.42 { 33.17/10.42 "from": 227, 33.17/10.42 "to": 238, 33.17/10.42 "label": "CASE" 33.17/10.42 }, 33.17/10.42 { 33.17/10.42 "from": 228, 33.17/10.42 "to": 585, 33.17/10.42 "label": "SPLIT 1" 33.17/10.42 }, 33.17/10.42 { 33.17/10.42 "from": 228, 33.17/10.42 "to": 586, 33.17/10.42 "label": "SPLIT 2\nnew knowledge:\nT39 is ground\nT38 is ground\nreplacements:T40 -> T72" 33.17/10.42 }, 33.17/10.42 { 33.17/10.42 "from": 238, 33.17/10.42 "to": 255, 33.17/10.42 "label": "PARALLEL" 33.17/10.42 }, 33.17/10.42 { 33.17/10.42 "from": 238, 33.17/10.42 "to": 256, 33.17/10.42 "label": "PARALLEL" 33.17/10.42 }, 33.17/10.42 { 33.17/10.42 "from": 255, 33.17/10.42 "to": 257, 33.17/10.42 "label": "EVAL with clause\nselect(X48, .(X48, X49), X49).\nand substitutionT31 -> T53,\nX48 -> T53,\nX49 -> T54,\nT30 -> .(T53, T54),\nX31 -> T54" 33.17/10.42 }, 33.17/10.42 { 33.17/10.42 "from": 255, 33.17/10.42 "to": 258, 33.17/10.42 "label": "EVAL-BACKTRACK" 33.17/10.42 }, 33.17/10.42 { 33.17/10.42 "from": 256, 33.17/10.42 "to": 561, 33.17/10.42 "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" 33.17/10.42 }, 33.17/10.42 { 33.17/10.42 "from": 256, 33.17/10.42 "to": 563, 33.17/10.42 "label": "EVAL-BACKTRACK" 33.17/10.42 }, 33.17/10.42 { 33.17/10.42 "from": 257, 33.17/10.42 "to": 467, 33.17/10.42 "label": "SUCCESS" 33.17/10.42 }, 33.17/10.42 { 33.17/10.42 "from": 561, 33.17/10.42 "to": 227, 33.17/10.42 "label": "INSTANCE with matching:\nT31 -> T64\nT30 -> T63\nX31 -> X64" 33.17/10.42 }, 33.17/10.42 { 33.17/10.42 "from": 585, 33.17/10.42 "to": 587, 33.17/10.42 "label": "CASE" 33.17/10.42 }, 33.17/10.42 { 33.17/10.42 "from": 586, 33.17/10.42 "to": 1, 33.17/10.42 "label": "INSTANCE with matching:\nT1 -> T72\nT2 -> T30" 33.17/10.42 }, 33.17/10.42 { 33.17/10.42 "from": 587, 33.17/10.42 "to": 591, 33.17/10.42 "label": "PARALLEL" 33.17/10.42 }, 33.17/10.42 { 33.17/10.42 "from": 587, 33.17/10.42 "to": 592, 33.17/10.42 "label": "PARALLEL" 33.17/10.42 }, 33.17/10.42 { 33.17/10.42 "from": 591, 33.17/10.42 "to": 593, 33.17/10.42 "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" 33.17/10.42 }, 33.17/10.42 { 33.17/10.42 "from": 591, 33.17/10.42 "to": 594, 33.17/10.42 "label": "EVAL-BACKTRACK" 33.17/10.42 }, 33.17/10.42 { 33.17/10.42 "from": 592, 33.17/10.42 "to": 617, 33.17/10.42 "label": "EVAL with clause\nmembers([], X126).\nand substitutionT39 -> [],\nT38 -> T131,\nX126 -> T131" 33.17/10.42 }, 33.17/10.42 { 33.17/10.42 "from": 592, 33.17/10.42 "to": 619, 33.17/10.42 "label": "EVAL-BACKTRACK" 33.17/10.42 }, 33.17/10.42 { 33.17/10.42 "from": 593, 33.17/10.42 "to": 596, 33.17/10.42 "label": "SPLIT 1" 33.17/10.42 }, 33.17/10.42 { 33.17/10.42 "from": 593, 33.17/10.42 "to": 597, 33.17/10.42 "label": "SPLIT 2\nnew knowledge:\nT91 is ground\nT90 is ground\nreplacements:T92 -> T97" 33.17/10.42 }, 33.17/10.42 { 33.17/10.42 "from": 596, 33.17/10.42 "to": 600, 33.17/10.42 "label": "CASE" 33.17/10.42 }, 33.17/10.42 { 33.17/10.42 "from": 597, 33.17/10.42 "to": 585, 33.17/10.42 "label": "INSTANCE with matching:\nT39 -> T97\nT38 -> T90" 33.17/10.42 }, 33.17/10.42 { 33.17/10.42 "from": 600, 33.17/10.42 "to": 601, 33.17/10.42 "label": "PARALLEL" 33.17/10.42 }, 33.17/10.42 { 33.17/10.42 "from": 600, 33.17/10.42 "to": 603, 33.17/10.42 "label": "PARALLEL" 33.17/10.42 }, 33.17/10.42 { 33.17/10.42 "from": 601, 33.17/10.42 "to": 605, 33.17/10.42 "label": "EVAL with clause\nmember(X106, .(X106, X107)).\nand substitutionT91 -> T110,\nX106 -> T110,\nX107 -> T111,\nT90 -> .(T110, T111)" 33.17/10.42 }, 33.17/10.42 { 33.17/10.42 "from": 601, 33.17/10.42 "to": 606, 33.17/10.42 "label": "EVAL-BACKTRACK" 33.17/10.42 }, 33.17/10.42 { 33.17/10.42 "from": 603, 33.17/10.42 "to": 610, 33.17/10.42 "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" 33.17/10.42 }, 33.17/10.42 { 33.17/10.42 "from": 603, 33.17/10.42 "to": 612, 33.17/10.42 "label": "EVAL-BACKTRACK" 33.17/10.42 }, 33.17/10.42 { 33.17/10.42 "from": 605, 33.17/10.42 "to": 607, 33.17/10.42 "label": "SUCCESS" 33.17/10.42 }, 33.17/10.42 { 33.17/10.42 "from": 610, 33.17/10.42 "to": 596, 33.17/10.42 "label": "INSTANCE with matching:\nT91 -> T121\nT90 -> T120" 33.17/10.42 }, 33.17/10.42 { 33.17/10.42 "from": 617, 33.17/10.42 "to": 621, 33.17/10.42 "label": "SUCCESS" 33.17/10.42 }, 33.17/10.42 { 33.17/10.42 "from": 623, 33.17/10.42 "to": 626, 33.17/10.42 "label": "EVAL with clause\ncolor_map([], X132).\nand substitutionT1 -> [],\nT8 -> T137,\nX132 -> T137" 33.17/10.42 }, 33.17/10.42 { 33.17/10.42 "from": 623, 33.17/10.42 "to": 627, 33.17/10.42 "label": "EVAL-BACKTRACK" 33.17/10.42 }, 33.17/10.42 { 33.17/10.42 "from": 626, 33.17/10.42 "to": 628, 33.17/10.42 "label": "SUCCESS" 33.17/10.42 }, 33.17/10.42 { 33.17/10.42 "from": 629, 33.17/10.42 "to": 631, 33.17/10.42 "label": "SUCCESS" 33.17/10.42 } 33.17/10.42 ], 33.17/10.42 "type": "Graph" 33.17/10.42 } 33.17/10.42 } 33.17/10.42 33.17/10.42 ---------------------------------------- 33.17/10.42 33.17/10.42 (66) 33.17/10.42 Obligation: 33.17/10.42 Triples: 33.17/10.42 33.17/10.42 selectA(X1, .(X2, X3), .(X2, X4)) :- selectA(X1, X3, X4). 33.17/10.42 membersC(.(X1, X2), X3) :- memberD(X1, X3). 33.17/10.42 membersC(.(X1, X2), X3) :- ','(membercD(X1, X3), membersC(X2, X3)). 33.17/10.42 memberD(X1, .(X2, X3)) :- memberD(X1, X3). 33.17/10.42 color_mapB(.(region(X1, X2, X3), X4), X5) :- selectA(X2, X5, X6). 33.17/10.42 color_mapB(.(region(X1, X2, X3), X4), X5) :- ','(selectcA(X2, X5, X6), membersC(X3, X6)). 33.17/10.42 color_mapB(.(region(X1, X2, X3), X4), X5) :- ','(selectcA(X2, X5, X6), ','(memberscC(X3, X6), color_mapB(X4, X5))). 33.17/10.42 33.17/10.42 Clauses: 33.17/10.42 33.17/10.42 selectcA(X1, .(X1, X2), X2). 33.17/10.42 selectcA(X1, .(X2, X3), .(X2, X4)) :- selectcA(X1, X3, X4). 33.17/10.42 color_mapcB(.(region(X1, X2, X3), X4), X5) :- ','(selectcA(X2, X5, X6), ','(memberscC(X3, X6), color_mapcB(X4, X5))). 33.17/10.42 color_mapcB([], X1). 33.17/10.42 color_mapcB([], X1). 33.17/10.42 memberscC(.(X1, X2), X3) :- ','(membercD(X1, X3), memberscC(X2, X3)). 33.17/10.42 memberscC([], X1). 33.17/10.42 membercD(X1, .(X1, X2)). 33.17/10.42 membercD(X1, .(X2, X3)) :- membercD(X1, X3). 33.17/10.42 33.17/10.42 Afs: 33.17/10.42 33.17/10.42 color_mapB(x1, x2) = color_mapB(x2) 33.17/10.42 33.17/10.42 33.17/10.42 ---------------------------------------- 33.17/10.42 33.17/10.42 (67) TriplesToPiDPProof (SOUND) 33.17/10.42 We use the technique of [DT09]. With regard to the inferred argument filtering the predicates were used in the following modes: 33.17/10.42 33.17/10.42 color_mapB_in_2: (f,b) 33.17/10.42 33.17/10.42 selectA_in_3: (f,b,f) 33.17/10.42 33.17/10.42 selectcA_in_3: (f,b,f) 33.17/10.42 33.17/10.42 membersC_in_2: (f,b) 33.17/10.42 33.17/10.42 memberD_in_2: (f,b) 33.17/10.42 33.17/10.42 membercD_in_2: (f,b) 33.17/10.42 33.17/10.42 memberscC_in_2: (f,b) 33.17/10.42 33.17/10.42 Transforming TRIPLES into the following Term Rewriting System: 33.17/10.42 33.17/10.42 Pi DP problem: 33.17/10.42 The TRS P consists of the following rules: 33.17/10.42 33.17/10.42 COLOR_MAPB_IN_AG(.(region(X1, X2, X3), X4), X5) -> U6_AG(X1, X2, X3, X4, X5, selectA_in_aga(X2, X5, X6)) 33.17/10.42 COLOR_MAPB_IN_AG(.(region(X1, X2, X3), X4), X5) -> SELECTA_IN_AGA(X2, X5, X6) 33.17/10.42 SELECTA_IN_AGA(X1, .(X2, X3), .(X2, X4)) -> U1_AGA(X1, X2, X3, X4, selectA_in_aga(X1, X3, X4)) 33.17/10.42 SELECTA_IN_AGA(X1, .(X2, X3), .(X2, X4)) -> SELECTA_IN_AGA(X1, X3, X4) 33.17/10.42 COLOR_MAPB_IN_AG(.(region(X1, X2, X3), X4), X5) -> U7_AG(X1, X2, X3, X4, X5, selectcA_in_aga(X2, X5, X6)) 33.17/10.42 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)) 33.17/10.42 U7_AG(X1, X2, X3, X4, X5, selectcA_out_aga(X2, X5, X6)) -> MEMBERSC_IN_AG(X3, X6) 33.17/10.42 MEMBERSC_IN_AG(.(X1, X2), X3) -> U2_AG(X1, X2, X3, memberD_in_ag(X1, X3)) 33.17/10.42 MEMBERSC_IN_AG(.(X1, X2), X3) -> MEMBERD_IN_AG(X1, X3) 33.17/10.42 MEMBERD_IN_AG(X1, .(X2, X3)) -> U5_AG(X1, X2, X3, memberD_in_ag(X1, X3)) 33.17/10.42 MEMBERD_IN_AG(X1, .(X2, X3)) -> MEMBERD_IN_AG(X1, X3) 33.17/10.42 MEMBERSC_IN_AG(.(X1, X2), X3) -> U3_AG(X1, X2, X3, membercD_in_ag(X1, X3)) 33.17/10.42 U3_AG(X1, X2, X3, membercD_out_ag(X1, X3)) -> U4_AG(X1, X2, X3, membersC_in_ag(X2, X3)) 33.17/10.42 U3_AG(X1, X2, X3, membercD_out_ag(X1, X3)) -> MEMBERSC_IN_AG(X2, X3) 33.17/10.42 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)) 33.17/10.42 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)) 33.17/10.42 U9_AG(X1, X2, X3, X4, X5, memberscC_out_ag(X3, X6)) -> COLOR_MAPB_IN_AG(X4, X5) 33.17/10.42 33.17/10.42 The TRS R consists of the following rules: 33.17/10.42 33.17/10.42 selectcA_in_aga(X1, .(X1, X2), X2) -> selectcA_out_aga(X1, .(X1, X2), X2) 33.17/10.42 selectcA_in_aga(X1, .(X2, X3), .(X2, X4)) -> U12_aga(X1, X2, X3, X4, selectcA_in_aga(X1, X3, X4)) 33.17/10.42 U12_aga(X1, X2, X3, X4, selectcA_out_aga(X1, X3, X4)) -> selectcA_out_aga(X1, .(X2, X3), .(X2, X4)) 33.17/10.42 membercD_in_ag(X1, .(X1, X2)) -> membercD_out_ag(X1, .(X1, X2)) 33.17/10.42 membercD_in_ag(X1, .(X2, X3)) -> U18_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 33.17/10.42 U18_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> membercD_out_ag(X1, .(X2, X3)) 33.17/10.42 memberscC_in_ag(.(X1, X2), X3) -> U16_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 33.17/10.42 U16_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> U17_ag(X1, X2, X3, memberscC_in_ag(X2, X3)) 33.17/10.42 memberscC_in_ag([], X1) -> memberscC_out_ag([], X1) 33.17/10.42 U17_ag(X1, X2, X3, memberscC_out_ag(X2, X3)) -> memberscC_out_ag(.(X1, X2), X3) 33.17/10.42 33.17/10.42 The argument filtering Pi contains the following mapping: 33.17/10.42 color_mapB_in_ag(x1, x2) = color_mapB_in_ag(x2) 33.17/10.42 33.17/10.42 selectA_in_aga(x1, x2, x3) = selectA_in_aga(x2) 33.17/10.42 33.17/10.42 .(x1, x2) = .(x1, x2) 33.17/10.42 33.17/10.42 region(x1, x2, x3) = region(x2, x3) 33.17/10.42 33.17/10.42 selectcA_in_aga(x1, x2, x3) = selectcA_in_aga(x2) 33.17/10.42 33.17/10.42 selectcA_out_aga(x1, x2, x3) = selectcA_out_aga(x1, x2, x3) 33.17/10.42 33.17/10.42 U12_aga(x1, x2, x3, x4, x5) = U12_aga(x2, x3, x5) 33.17/10.42 33.17/10.42 membersC_in_ag(x1, x2) = membersC_in_ag(x2) 33.17/10.42 33.17/10.42 memberD_in_ag(x1, x2) = memberD_in_ag(x2) 33.17/10.42 33.17/10.42 membercD_in_ag(x1, x2) = membercD_in_ag(x2) 33.17/10.42 33.17/10.42 membercD_out_ag(x1, x2) = membercD_out_ag(x1, x2) 33.17/10.42 33.17/10.42 U18_ag(x1, x2, x3, x4) = U18_ag(x2, x3, x4) 33.17/10.42 33.17/10.42 memberscC_in_ag(x1, x2) = memberscC_in_ag(x2) 33.17/10.42 33.17/10.42 U16_ag(x1, x2, x3, x4) = U16_ag(x3, x4) 33.17/10.42 33.17/10.42 U17_ag(x1, x2, x3, x4) = U17_ag(x1, x3, x4) 33.17/10.42 33.17/10.42 memberscC_out_ag(x1, x2) = memberscC_out_ag(x1, x2) 33.17/10.42 33.17/10.42 COLOR_MAPB_IN_AG(x1, x2) = COLOR_MAPB_IN_AG(x2) 33.17/10.42 33.17/10.42 U6_AG(x1, x2, x3, x4, x5, x6) = U6_AG(x5, x6) 33.17/10.42 33.17/10.42 SELECTA_IN_AGA(x1, x2, x3) = SELECTA_IN_AGA(x2) 33.17/10.42 33.17/10.42 U1_AGA(x1, x2, x3, x4, x5) = U1_AGA(x2, x3, x5) 33.17/10.42 33.17/10.42 U7_AG(x1, x2, x3, x4, x5, x6) = U7_AG(x5, x6) 33.17/10.42 33.17/10.42 U8_AG(x1, x2, x3, x4, x5, x6) = U8_AG(x5, x6) 33.17/10.42 33.17/10.42 MEMBERSC_IN_AG(x1, x2) = MEMBERSC_IN_AG(x2) 33.17/10.42 33.17/10.42 U2_AG(x1, x2, x3, x4) = U2_AG(x3, x4) 33.17/10.42 33.17/10.42 MEMBERD_IN_AG(x1, x2) = MEMBERD_IN_AG(x2) 33.17/10.42 33.17/10.42 U5_AG(x1, x2, x3, x4) = U5_AG(x2, x3, x4) 33.17/10.42 33.17/10.42 U3_AG(x1, x2, x3, x4) = U3_AG(x3, x4) 33.17/10.42 33.17/10.42 U4_AG(x1, x2, x3, x4) = U4_AG(x3, x4) 33.17/10.42 33.17/10.42 U9_AG(x1, x2, x3, x4, x5, x6) = U9_AG(x5, x6) 33.17/10.42 33.17/10.42 U10_AG(x1, x2, x3, x4, x5, x6) = U10_AG(x5, x6) 33.17/10.42 33.17/10.42 33.17/10.42 We have to consider all (P,R,Pi)-chains 33.17/10.42 33.17/10.42 33.17/10.42 Infinitary Constructor Rewriting Termination of PiDP implies Termination of TRIPLES 33.17/10.42 33.17/10.42 33.17/10.42 33.17/10.42 ---------------------------------------- 33.17/10.42 33.17/10.42 (68) 33.17/10.42 Obligation: 33.17/10.42 Pi DP problem: 33.17/10.42 The TRS P consists of the following rules: 33.17/10.42 33.17/10.42 COLOR_MAPB_IN_AG(.(region(X1, X2, X3), X4), X5) -> U6_AG(X1, X2, X3, X4, X5, selectA_in_aga(X2, X5, X6)) 33.17/10.42 COLOR_MAPB_IN_AG(.(region(X1, X2, X3), X4), X5) -> SELECTA_IN_AGA(X2, X5, X6) 33.17/10.42 SELECTA_IN_AGA(X1, .(X2, X3), .(X2, X4)) -> U1_AGA(X1, X2, X3, X4, selectA_in_aga(X1, X3, X4)) 33.17/10.42 SELECTA_IN_AGA(X1, .(X2, X3), .(X2, X4)) -> SELECTA_IN_AGA(X1, X3, X4) 33.17/10.42 COLOR_MAPB_IN_AG(.(region(X1, X2, X3), X4), X5) -> U7_AG(X1, X2, X3, X4, X5, selectcA_in_aga(X2, X5, X6)) 33.17/10.42 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)) 33.17/10.42 U7_AG(X1, X2, X3, X4, X5, selectcA_out_aga(X2, X5, X6)) -> MEMBERSC_IN_AG(X3, X6) 33.17/10.42 MEMBERSC_IN_AG(.(X1, X2), X3) -> U2_AG(X1, X2, X3, memberD_in_ag(X1, X3)) 33.17/10.42 MEMBERSC_IN_AG(.(X1, X2), X3) -> MEMBERD_IN_AG(X1, X3) 33.17/10.42 MEMBERD_IN_AG(X1, .(X2, X3)) -> U5_AG(X1, X2, X3, memberD_in_ag(X1, X3)) 33.17/10.42 MEMBERD_IN_AG(X1, .(X2, X3)) -> MEMBERD_IN_AG(X1, X3) 33.17/10.42 MEMBERSC_IN_AG(.(X1, X2), X3) -> U3_AG(X1, X2, X3, membercD_in_ag(X1, X3)) 33.17/10.42 U3_AG(X1, X2, X3, membercD_out_ag(X1, X3)) -> U4_AG(X1, X2, X3, membersC_in_ag(X2, X3)) 33.17/10.42 U3_AG(X1, X2, X3, membercD_out_ag(X1, X3)) -> MEMBERSC_IN_AG(X2, X3) 33.17/10.42 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)) 33.17/10.42 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)) 33.17/10.42 U9_AG(X1, X2, X3, X4, X5, memberscC_out_ag(X3, X6)) -> COLOR_MAPB_IN_AG(X4, X5) 33.17/10.42 33.17/10.42 The TRS R consists of the following rules: 33.17/10.42 33.17/10.42 selectcA_in_aga(X1, .(X1, X2), X2) -> selectcA_out_aga(X1, .(X1, X2), X2) 33.17/10.42 selectcA_in_aga(X1, .(X2, X3), .(X2, X4)) -> U12_aga(X1, X2, X3, X4, selectcA_in_aga(X1, X3, X4)) 33.17/10.42 U12_aga(X1, X2, X3, X4, selectcA_out_aga(X1, X3, X4)) -> selectcA_out_aga(X1, .(X2, X3), .(X2, X4)) 33.17/10.42 membercD_in_ag(X1, .(X1, X2)) -> membercD_out_ag(X1, .(X1, X2)) 33.17/10.42 membercD_in_ag(X1, .(X2, X3)) -> U18_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 33.17/10.42 U18_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> membercD_out_ag(X1, .(X2, X3)) 33.17/10.42 memberscC_in_ag(.(X1, X2), X3) -> U16_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 33.17/10.42 U16_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> U17_ag(X1, X2, X3, memberscC_in_ag(X2, X3)) 33.17/10.42 memberscC_in_ag([], X1) -> memberscC_out_ag([], X1) 33.17/10.42 U17_ag(X1, X2, X3, memberscC_out_ag(X2, X3)) -> memberscC_out_ag(.(X1, X2), X3) 33.17/10.42 33.17/10.42 The argument filtering Pi contains the following mapping: 33.17/10.42 color_mapB_in_ag(x1, x2) = color_mapB_in_ag(x2) 33.17/10.42 33.17/10.42 selectA_in_aga(x1, x2, x3) = selectA_in_aga(x2) 33.17/10.42 33.17/10.42 .(x1, x2) = .(x1, x2) 33.17/10.42 33.17/10.42 region(x1, x2, x3) = region(x2, x3) 33.17/10.42 33.17/10.42 selectcA_in_aga(x1, x2, x3) = selectcA_in_aga(x2) 33.17/10.42 33.17/10.42 selectcA_out_aga(x1, x2, x3) = selectcA_out_aga(x1, x2, x3) 33.17/10.42 33.17/10.42 U12_aga(x1, x2, x3, x4, x5) = U12_aga(x2, x3, x5) 33.17/10.42 33.17/10.42 membersC_in_ag(x1, x2) = membersC_in_ag(x2) 33.17/10.42 33.17/10.42 memberD_in_ag(x1, x2) = memberD_in_ag(x2) 33.17/10.42 33.17/10.42 membercD_in_ag(x1, x2) = membercD_in_ag(x2) 33.17/10.42 33.17/10.42 membercD_out_ag(x1, x2) = membercD_out_ag(x1, x2) 33.17/10.42 33.17/10.42 U18_ag(x1, x2, x3, x4) = U18_ag(x2, x3, x4) 33.17/10.42 33.17/10.42 memberscC_in_ag(x1, x2) = memberscC_in_ag(x2) 33.17/10.42 33.17/10.42 U16_ag(x1, x2, x3, x4) = U16_ag(x3, x4) 33.17/10.42 33.17/10.42 U17_ag(x1, x2, x3, x4) = U17_ag(x1, x3, x4) 33.17/10.42 33.17/10.42 memberscC_out_ag(x1, x2) = memberscC_out_ag(x1, x2) 33.17/10.42 33.17/10.42 COLOR_MAPB_IN_AG(x1, x2) = COLOR_MAPB_IN_AG(x2) 33.17/10.42 33.17/10.42 U6_AG(x1, x2, x3, x4, x5, x6) = U6_AG(x5, x6) 33.17/10.42 33.17/10.42 SELECTA_IN_AGA(x1, x2, x3) = SELECTA_IN_AGA(x2) 33.17/10.42 33.17/10.42 U1_AGA(x1, x2, x3, x4, x5) = U1_AGA(x2, x3, x5) 33.17/10.42 33.17/10.42 U7_AG(x1, x2, x3, x4, x5, x6) = U7_AG(x5, x6) 33.17/10.42 33.17/10.42 U8_AG(x1, x2, x3, x4, x5, x6) = U8_AG(x5, x6) 33.17/10.42 33.17/10.42 MEMBERSC_IN_AG(x1, x2) = MEMBERSC_IN_AG(x2) 33.17/10.42 33.17/10.42 U2_AG(x1, x2, x3, x4) = U2_AG(x3, x4) 33.17/10.42 33.17/10.42 MEMBERD_IN_AG(x1, x2) = MEMBERD_IN_AG(x2) 33.17/10.42 33.17/10.42 U5_AG(x1, x2, x3, x4) = U5_AG(x2, x3, x4) 33.17/10.42 33.17/10.42 U3_AG(x1, x2, x3, x4) = U3_AG(x3, x4) 33.17/10.42 33.17/10.42 U4_AG(x1, x2, x3, x4) = U4_AG(x3, x4) 33.17/10.42 33.17/10.42 U9_AG(x1, x2, x3, x4, x5, x6) = U9_AG(x5, x6) 33.17/10.42 33.17/10.42 U10_AG(x1, x2, x3, x4, x5, x6) = U10_AG(x5, x6) 33.17/10.42 33.17/10.42 33.17/10.42 We have to consider all (P,R,Pi)-chains 33.17/10.42 ---------------------------------------- 33.17/10.42 33.17/10.42 (69) DependencyGraphProof (EQUIVALENT) 33.17/10.42 The approximation of the Dependency Graph [LOPSTR] contains 4 SCCs with 10 less nodes. 33.17/10.42 ---------------------------------------- 33.17/10.42 33.17/10.42 (70) 33.17/10.42 Complex Obligation (AND) 33.17/10.42 33.17/10.42 ---------------------------------------- 33.17/10.42 33.17/10.42 (71) 33.17/10.42 Obligation: 33.17/10.42 Pi DP problem: 33.17/10.42 The TRS P consists of the following rules: 33.17/10.42 33.17/10.42 MEMBERD_IN_AG(X1, .(X2, X3)) -> MEMBERD_IN_AG(X1, X3) 33.17/10.42 33.17/10.42 The TRS R consists of the following rules: 33.17/10.42 33.17/10.42 selectcA_in_aga(X1, .(X1, X2), X2) -> selectcA_out_aga(X1, .(X1, X2), X2) 33.17/10.42 selectcA_in_aga(X1, .(X2, X3), .(X2, X4)) -> U12_aga(X1, X2, X3, X4, selectcA_in_aga(X1, X3, X4)) 33.17/10.42 U12_aga(X1, X2, X3, X4, selectcA_out_aga(X1, X3, X4)) -> selectcA_out_aga(X1, .(X2, X3), .(X2, X4)) 33.17/10.42 membercD_in_ag(X1, .(X1, X2)) -> membercD_out_ag(X1, .(X1, X2)) 33.17/10.42 membercD_in_ag(X1, .(X2, X3)) -> U18_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 33.17/10.42 U18_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> membercD_out_ag(X1, .(X2, X3)) 33.17/10.42 memberscC_in_ag(.(X1, X2), X3) -> U16_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 33.17/10.42 U16_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> U17_ag(X1, X2, X3, memberscC_in_ag(X2, X3)) 33.17/10.42 memberscC_in_ag([], X1) -> memberscC_out_ag([], X1) 33.17/10.42 U17_ag(X1, X2, X3, memberscC_out_ag(X2, X3)) -> memberscC_out_ag(.(X1, X2), X3) 33.17/10.42 33.17/10.42 The argument filtering Pi contains the following mapping: 33.17/10.42 .(x1, x2) = .(x1, x2) 33.17/10.42 33.17/10.42 selectcA_in_aga(x1, x2, x3) = selectcA_in_aga(x2) 33.17/10.42 33.17/10.42 selectcA_out_aga(x1, x2, x3) = selectcA_out_aga(x1, x2, x3) 33.17/10.42 33.17/10.42 U12_aga(x1, x2, x3, x4, x5) = U12_aga(x2, x3, x5) 33.17/10.42 33.17/10.42 membercD_in_ag(x1, x2) = membercD_in_ag(x2) 33.17/10.42 33.17/10.42 membercD_out_ag(x1, x2) = membercD_out_ag(x1, x2) 33.17/10.42 33.17/10.42 U18_ag(x1, x2, x3, x4) = U18_ag(x2, x3, x4) 33.17/10.42 33.17/10.42 memberscC_in_ag(x1, x2) = memberscC_in_ag(x2) 33.17/10.42 33.17/10.42 U16_ag(x1, x2, x3, x4) = U16_ag(x3, x4) 33.17/10.42 33.17/10.42 U17_ag(x1, x2, x3, x4) = U17_ag(x1, x3, x4) 33.17/10.42 33.17/10.42 memberscC_out_ag(x1, x2) = memberscC_out_ag(x1, x2) 33.17/10.42 33.17/10.42 MEMBERD_IN_AG(x1, x2) = MEMBERD_IN_AG(x2) 33.17/10.42 33.17/10.42 33.17/10.42 We have to consider all (P,R,Pi)-chains 33.17/10.42 ---------------------------------------- 33.17/10.42 33.17/10.42 (72) UsableRulesProof (EQUIVALENT) 33.17/10.42 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 33.17/10.42 ---------------------------------------- 33.17/10.42 33.17/10.42 (73) 33.17/10.42 Obligation: 33.17/10.42 Pi DP problem: 33.17/10.42 The TRS P consists of the following rules: 33.17/10.42 33.17/10.42 MEMBERD_IN_AG(X1, .(X2, X3)) -> MEMBERD_IN_AG(X1, X3) 33.17/10.42 33.17/10.42 R is empty. 33.17/10.42 The argument filtering Pi contains the following mapping: 33.17/10.42 .(x1, x2) = .(x1, x2) 33.17/10.42 33.17/10.42 MEMBERD_IN_AG(x1, x2) = MEMBERD_IN_AG(x2) 33.17/10.42 33.17/10.42 33.17/10.42 We have to consider all (P,R,Pi)-chains 33.17/10.42 ---------------------------------------- 33.17/10.42 33.17/10.42 (74) PiDPToQDPProof (SOUND) 33.17/10.42 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 33.17/10.42 ---------------------------------------- 33.17/10.42 33.17/10.42 (75) 33.17/10.42 Obligation: 33.17/10.42 Q DP problem: 33.17/10.42 The TRS P consists of the following rules: 33.17/10.42 33.17/10.42 MEMBERD_IN_AG(.(X2, X3)) -> MEMBERD_IN_AG(X3) 33.17/10.42 33.17/10.42 R is empty. 33.17/10.42 Q is empty. 33.17/10.42 We have to consider all (P,Q,R)-chains. 33.17/10.42 ---------------------------------------- 33.17/10.42 33.17/10.42 (76) QDPSizeChangeProof (EQUIVALENT) 33.17/10.42 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. 33.17/10.42 33.17/10.42 From the DPs we obtained the following set of size-change graphs: 33.17/10.42 *MEMBERD_IN_AG(.(X2, X3)) -> MEMBERD_IN_AG(X3) 33.17/10.42 The graph contains the following edges 1 > 1 33.17/10.42 33.17/10.42 33.17/10.42 ---------------------------------------- 33.17/10.42 33.17/10.42 (77) 33.17/10.42 YES 33.17/10.42 33.17/10.42 ---------------------------------------- 33.17/10.42 33.17/10.42 (78) 33.17/10.42 Obligation: 33.17/10.42 Pi DP problem: 33.17/10.42 The TRS P consists of the following rules: 33.17/10.42 33.17/10.42 MEMBERSC_IN_AG(.(X1, X2), X3) -> U3_AG(X1, X2, X3, membercD_in_ag(X1, X3)) 33.17/10.42 U3_AG(X1, X2, X3, membercD_out_ag(X1, X3)) -> MEMBERSC_IN_AG(X2, X3) 33.17/10.42 33.17/10.42 The TRS R consists of the following rules: 33.17/10.42 33.17/10.42 selectcA_in_aga(X1, .(X1, X2), X2) -> selectcA_out_aga(X1, .(X1, X2), X2) 33.17/10.42 selectcA_in_aga(X1, .(X2, X3), .(X2, X4)) -> U12_aga(X1, X2, X3, X4, selectcA_in_aga(X1, X3, X4)) 33.17/10.42 U12_aga(X1, X2, X3, X4, selectcA_out_aga(X1, X3, X4)) -> selectcA_out_aga(X1, .(X2, X3), .(X2, X4)) 33.17/10.42 membercD_in_ag(X1, .(X1, X2)) -> membercD_out_ag(X1, .(X1, X2)) 33.17/10.42 membercD_in_ag(X1, .(X2, X3)) -> U18_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 33.17/10.42 U18_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> membercD_out_ag(X1, .(X2, X3)) 33.17/10.42 memberscC_in_ag(.(X1, X2), X3) -> U16_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 33.17/10.42 U16_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> U17_ag(X1, X2, X3, memberscC_in_ag(X2, X3)) 33.17/10.42 memberscC_in_ag([], X1) -> memberscC_out_ag([], X1) 33.17/10.42 U17_ag(X1, X2, X3, memberscC_out_ag(X2, X3)) -> memberscC_out_ag(.(X1, X2), X3) 33.17/10.42 33.17/10.42 The argument filtering Pi contains the following mapping: 33.17/10.42 .(x1, x2) = .(x1, x2) 33.17/10.42 33.17/10.42 selectcA_in_aga(x1, x2, x3) = selectcA_in_aga(x2) 33.17/10.42 33.17/10.42 selectcA_out_aga(x1, x2, x3) = selectcA_out_aga(x1, x2, x3) 33.17/10.42 33.17/10.42 U12_aga(x1, x2, x3, x4, x5) = U12_aga(x2, x3, x5) 33.17/10.42 33.17/10.42 membercD_in_ag(x1, x2) = membercD_in_ag(x2) 33.17/10.42 33.17/10.42 membercD_out_ag(x1, x2) = membercD_out_ag(x1, x2) 33.17/10.42 33.17/10.42 U18_ag(x1, x2, x3, x4) = U18_ag(x2, x3, x4) 33.17/10.42 33.17/10.42 memberscC_in_ag(x1, x2) = memberscC_in_ag(x2) 33.17/10.42 33.17/10.42 U16_ag(x1, x2, x3, x4) = U16_ag(x3, x4) 33.17/10.42 33.17/10.42 U17_ag(x1, x2, x3, x4) = U17_ag(x1, x3, x4) 33.17/10.42 33.17/10.42 memberscC_out_ag(x1, x2) = memberscC_out_ag(x1, x2) 33.17/10.42 33.17/10.42 MEMBERSC_IN_AG(x1, x2) = MEMBERSC_IN_AG(x2) 33.17/10.42 33.17/10.42 U3_AG(x1, x2, x3, x4) = U3_AG(x3, x4) 33.17/10.42 33.17/10.42 33.17/10.42 We have to consider all (P,R,Pi)-chains 33.17/10.42 ---------------------------------------- 33.17/10.42 33.17/10.42 (79) UsableRulesProof (EQUIVALENT) 33.17/10.42 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 33.17/10.42 ---------------------------------------- 33.17/10.42 33.17/10.42 (80) 33.17/10.42 Obligation: 33.17/10.42 Pi DP problem: 33.17/10.42 The TRS P consists of the following rules: 33.17/10.42 33.17/10.42 MEMBERSC_IN_AG(.(X1, X2), X3) -> U3_AG(X1, X2, X3, membercD_in_ag(X1, X3)) 33.17/10.42 U3_AG(X1, X2, X3, membercD_out_ag(X1, X3)) -> MEMBERSC_IN_AG(X2, X3) 33.17/10.42 33.17/10.42 The TRS R consists of the following rules: 33.17/10.42 33.17/10.42 membercD_in_ag(X1, .(X1, X2)) -> membercD_out_ag(X1, .(X1, X2)) 33.17/10.42 membercD_in_ag(X1, .(X2, X3)) -> U18_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 33.17/10.42 U18_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> membercD_out_ag(X1, .(X2, X3)) 33.17/10.42 33.17/10.42 The argument filtering Pi contains the following mapping: 33.17/10.42 .(x1, x2) = .(x1, x2) 33.17/10.42 33.17/10.42 membercD_in_ag(x1, x2) = membercD_in_ag(x2) 33.17/10.42 33.17/10.42 membercD_out_ag(x1, x2) = membercD_out_ag(x1, x2) 33.17/10.42 33.17/10.42 U18_ag(x1, x2, x3, x4) = U18_ag(x2, x3, x4) 33.17/10.42 33.17/10.42 MEMBERSC_IN_AG(x1, x2) = MEMBERSC_IN_AG(x2) 33.17/10.42 33.17/10.42 U3_AG(x1, x2, x3, x4) = U3_AG(x3, x4) 33.17/10.42 33.17/10.42 33.17/10.42 We have to consider all (P,R,Pi)-chains 33.17/10.42 ---------------------------------------- 33.17/10.42 33.17/10.42 (81) PiDPToQDPProof (SOUND) 33.17/10.42 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 33.17/10.42 ---------------------------------------- 33.17/10.42 33.17/10.42 (82) 33.17/10.42 Obligation: 33.17/10.42 Q DP problem: 33.17/10.42 The TRS P consists of the following rules: 33.17/10.42 33.17/10.42 MEMBERSC_IN_AG(X3) -> U3_AG(X3, membercD_in_ag(X3)) 33.17/10.42 U3_AG(X3, membercD_out_ag(X1, X3)) -> MEMBERSC_IN_AG(X3) 33.17/10.42 33.17/10.42 The TRS R consists of the following rules: 33.17/10.42 33.17/10.42 membercD_in_ag(.(X1, X2)) -> membercD_out_ag(X1, .(X1, X2)) 33.17/10.42 membercD_in_ag(.(X2, X3)) -> U18_ag(X2, X3, membercD_in_ag(X3)) 33.17/10.42 U18_ag(X2, X3, membercD_out_ag(X1, X3)) -> membercD_out_ag(X1, .(X2, X3)) 33.17/10.42 33.17/10.42 The set Q consists of the following terms: 33.17/10.42 33.17/10.42 membercD_in_ag(x0) 33.17/10.42 U18_ag(x0, x1, x2) 33.17/10.42 33.17/10.42 We have to consider all (P,Q,R)-chains. 33.17/10.42 ---------------------------------------- 33.17/10.42 33.17/10.42 (83) TransformationProof (SOUND) 33.17/10.42 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]: 33.17/10.42 33.17/10.42 (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)))) 33.17/10.42 (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)))) 33.17/10.42 33.17/10.42 33.17/10.42 ---------------------------------------- 33.17/10.42 33.17/10.42 (84) 33.17/10.42 Obligation: 33.17/10.42 Q DP problem: 33.17/10.42 The TRS P consists of the following rules: 33.17/10.42 33.17/10.42 U3_AG(X3, membercD_out_ag(X1, X3)) -> MEMBERSC_IN_AG(X3) 33.17/10.42 MEMBERSC_IN_AG(.(x0, x1)) -> U3_AG(.(x0, x1), membercD_out_ag(x0, .(x0, x1))) 33.17/10.42 MEMBERSC_IN_AG(.(x0, x1)) -> U3_AG(.(x0, x1), U18_ag(x0, x1, membercD_in_ag(x1))) 33.17/10.42 33.17/10.42 The TRS R consists of the following rules: 33.17/10.42 33.17/10.42 membercD_in_ag(.(X1, X2)) -> membercD_out_ag(X1, .(X1, X2)) 33.17/10.42 membercD_in_ag(.(X2, X3)) -> U18_ag(X2, X3, membercD_in_ag(X3)) 33.17/10.42 U18_ag(X2, X3, membercD_out_ag(X1, X3)) -> membercD_out_ag(X1, .(X2, X3)) 33.17/10.42 33.17/10.42 The set Q consists of the following terms: 33.17/10.42 33.17/10.42 membercD_in_ag(x0) 33.17/10.42 U18_ag(x0, x1, x2) 33.17/10.42 33.17/10.42 We have to consider all (P,Q,R)-chains. 33.17/10.42 ---------------------------------------- 33.17/10.42 33.17/10.42 (85) TransformationProof (EQUIVALENT) 33.17/10.42 By instantiating [LPAR04] the rule U3_AG(X3, membercD_out_ag(X1, X3)) -> MEMBERSC_IN_AG(X3) we obtained the following new rules [LPAR04]: 33.17/10.42 33.17/10.42 (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))) 33.17/10.42 (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))) 33.17/10.42 33.17/10.42 33.17/10.42 ---------------------------------------- 33.17/10.42 33.17/10.42 (86) 33.17/10.42 Obligation: 33.17/10.42 Q DP problem: 33.17/10.42 The TRS P consists of the following rules: 33.17/10.42 33.17/10.42 MEMBERSC_IN_AG(.(x0, x1)) -> U3_AG(.(x0, x1), membercD_out_ag(x0, .(x0, x1))) 33.17/10.42 MEMBERSC_IN_AG(.(x0, x1)) -> U3_AG(.(x0, x1), U18_ag(x0, x1, membercD_in_ag(x1))) 33.17/10.42 U3_AG(.(z0, z1), membercD_out_ag(z0, .(z0, z1))) -> MEMBERSC_IN_AG(.(z0, z1)) 33.17/10.42 U3_AG(.(z0, z1), membercD_out_ag(x1, .(z0, z1))) -> MEMBERSC_IN_AG(.(z0, z1)) 33.17/10.42 33.17/10.42 The TRS R consists of the following rules: 33.17/10.42 33.17/10.42 membercD_in_ag(.(X1, X2)) -> membercD_out_ag(X1, .(X1, X2)) 33.17/10.42 membercD_in_ag(.(X2, X3)) -> U18_ag(X2, X3, membercD_in_ag(X3)) 33.17/10.42 U18_ag(X2, X3, membercD_out_ag(X1, X3)) -> membercD_out_ag(X1, .(X2, X3)) 33.17/10.42 33.17/10.42 The set Q consists of the following terms: 33.17/10.42 33.17/10.42 membercD_in_ag(x0) 33.17/10.42 U18_ag(x0, x1, x2) 33.17/10.42 33.17/10.42 We have to consider all (P,Q,R)-chains. 33.17/10.42 ---------------------------------------- 33.17/10.42 33.17/10.42 (87) 33.17/10.42 Obligation: 33.17/10.42 Pi DP problem: 33.17/10.42 The TRS P consists of the following rules: 33.17/10.42 33.17/10.42 SELECTA_IN_AGA(X1, .(X2, X3), .(X2, X4)) -> SELECTA_IN_AGA(X1, X3, X4) 33.17/10.42 33.17/10.42 The TRS R consists of the following rules: 33.17/10.42 33.17/10.42 selectcA_in_aga(X1, .(X1, X2), X2) -> selectcA_out_aga(X1, .(X1, X2), X2) 33.17/10.42 selectcA_in_aga(X1, .(X2, X3), .(X2, X4)) -> U12_aga(X1, X2, X3, X4, selectcA_in_aga(X1, X3, X4)) 33.17/10.42 U12_aga(X1, X2, X3, X4, selectcA_out_aga(X1, X3, X4)) -> selectcA_out_aga(X1, .(X2, X3), .(X2, X4)) 33.17/10.42 membercD_in_ag(X1, .(X1, X2)) -> membercD_out_ag(X1, .(X1, X2)) 33.17/10.42 membercD_in_ag(X1, .(X2, X3)) -> U18_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 33.17/10.42 U18_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> membercD_out_ag(X1, .(X2, X3)) 33.17/10.42 memberscC_in_ag(.(X1, X2), X3) -> U16_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 33.17/10.42 U16_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> U17_ag(X1, X2, X3, memberscC_in_ag(X2, X3)) 33.17/10.42 memberscC_in_ag([], X1) -> memberscC_out_ag([], X1) 33.17/10.42 U17_ag(X1, X2, X3, memberscC_out_ag(X2, X3)) -> memberscC_out_ag(.(X1, X2), X3) 33.17/10.42 33.17/10.42 The argument filtering Pi contains the following mapping: 33.17/10.42 .(x1, x2) = .(x1, x2) 33.17/10.42 33.17/10.42 selectcA_in_aga(x1, x2, x3) = selectcA_in_aga(x2) 33.17/10.42 33.17/10.42 selectcA_out_aga(x1, x2, x3) = selectcA_out_aga(x1, x2, x3) 33.17/10.42 33.17/10.42 U12_aga(x1, x2, x3, x4, x5) = U12_aga(x2, x3, x5) 33.17/10.42 33.17/10.42 membercD_in_ag(x1, x2) = membercD_in_ag(x2) 33.17/10.42 33.17/10.42 membercD_out_ag(x1, x2) = membercD_out_ag(x1, x2) 33.17/10.42 33.17/10.42 U18_ag(x1, x2, x3, x4) = U18_ag(x2, x3, x4) 33.17/10.42 33.17/10.42 memberscC_in_ag(x1, x2) = memberscC_in_ag(x2) 33.17/10.42 33.17/10.42 U16_ag(x1, x2, x3, x4) = U16_ag(x3, x4) 33.17/10.42 33.17/10.42 U17_ag(x1, x2, x3, x4) = U17_ag(x1, x3, x4) 33.17/10.42 33.17/10.42 memberscC_out_ag(x1, x2) = memberscC_out_ag(x1, x2) 33.17/10.42 33.17/10.42 SELECTA_IN_AGA(x1, x2, x3) = SELECTA_IN_AGA(x2) 33.17/10.42 33.17/10.42 33.17/10.42 We have to consider all (P,R,Pi)-chains 33.17/10.42 ---------------------------------------- 33.17/10.42 33.17/10.42 (88) UsableRulesProof (EQUIVALENT) 33.17/10.42 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 33.17/10.42 ---------------------------------------- 33.17/10.42 33.17/10.42 (89) 33.17/10.42 Obligation: 33.17/10.42 Pi DP problem: 33.17/10.42 The TRS P consists of the following rules: 33.17/10.42 33.17/10.42 SELECTA_IN_AGA(X1, .(X2, X3), .(X2, X4)) -> SELECTA_IN_AGA(X1, X3, X4) 33.17/10.42 33.17/10.42 R is empty. 33.17/10.42 The argument filtering Pi contains the following mapping: 33.17/10.42 .(x1, x2) = .(x1, x2) 33.17/10.42 33.17/10.42 SELECTA_IN_AGA(x1, x2, x3) = SELECTA_IN_AGA(x2) 33.17/10.42 33.17/10.42 33.17/10.42 We have to consider all (P,R,Pi)-chains 33.17/10.42 ---------------------------------------- 33.17/10.42 33.17/10.42 (90) 33.17/10.42 Obligation: 33.17/10.42 Pi DP problem: 33.17/10.42 The TRS P consists of the following rules: 33.17/10.42 33.17/10.42 COLOR_MAPB_IN_AG(.(region(X1, X2, X3), X4), X5) -> U7_AG(X1, X2, X3, X4, X5, selectcA_in_aga(X2, X5, X6)) 33.17/10.42 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)) 33.17/10.42 U9_AG(X1, X2, X3, X4, X5, memberscC_out_ag(X3, X6)) -> COLOR_MAPB_IN_AG(X4, X5) 33.17/10.42 33.17/10.42 The TRS R consists of the following rules: 33.17/10.42 33.17/10.42 selectcA_in_aga(X1, .(X1, X2), X2) -> selectcA_out_aga(X1, .(X1, X2), X2) 33.17/10.42 selectcA_in_aga(X1, .(X2, X3), .(X2, X4)) -> U12_aga(X1, X2, X3, X4, selectcA_in_aga(X1, X3, X4)) 33.17/10.42 U12_aga(X1, X2, X3, X4, selectcA_out_aga(X1, X3, X4)) -> selectcA_out_aga(X1, .(X2, X3), .(X2, X4)) 33.17/10.42 membercD_in_ag(X1, .(X1, X2)) -> membercD_out_ag(X1, .(X1, X2)) 33.17/10.42 membercD_in_ag(X1, .(X2, X3)) -> U18_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 33.17/10.42 U18_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> membercD_out_ag(X1, .(X2, X3)) 33.17/10.42 memberscC_in_ag(.(X1, X2), X3) -> U16_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 33.17/10.42 U16_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> U17_ag(X1, X2, X3, memberscC_in_ag(X2, X3)) 33.17/10.42 memberscC_in_ag([], X1) -> memberscC_out_ag([], X1) 33.17/10.42 U17_ag(X1, X2, X3, memberscC_out_ag(X2, X3)) -> memberscC_out_ag(.(X1, X2), X3) 33.17/10.42 33.17/10.42 The argument filtering Pi contains the following mapping: 33.17/10.42 .(x1, x2) = .(x1, x2) 33.17/10.42 33.17/10.42 region(x1, x2, x3) = region(x2, x3) 33.17/10.42 33.17/10.42 selectcA_in_aga(x1, x2, x3) = selectcA_in_aga(x2) 33.17/10.42 33.17/10.42 selectcA_out_aga(x1, x2, x3) = selectcA_out_aga(x1, x2, x3) 33.17/10.42 33.17/10.42 U12_aga(x1, x2, x3, x4, x5) = U12_aga(x2, x3, x5) 33.17/10.42 33.17/10.42 membercD_in_ag(x1, x2) = membercD_in_ag(x2) 33.17/10.42 33.17/10.42 membercD_out_ag(x1, x2) = membercD_out_ag(x1, x2) 33.17/10.42 33.17/10.42 U18_ag(x1, x2, x3, x4) = U18_ag(x2, x3, x4) 33.17/10.42 33.17/10.42 memberscC_in_ag(x1, x2) = memberscC_in_ag(x2) 33.17/10.42 33.17/10.42 U16_ag(x1, x2, x3, x4) = U16_ag(x3, x4) 33.17/10.42 33.17/10.42 U17_ag(x1, x2, x3, x4) = U17_ag(x1, x3, x4) 33.17/10.42 33.17/10.42 memberscC_out_ag(x1, x2) = memberscC_out_ag(x1, x2) 33.17/10.42 33.17/10.42 COLOR_MAPB_IN_AG(x1, x2) = COLOR_MAPB_IN_AG(x2) 33.17/10.42 33.17/10.42 U7_AG(x1, x2, x3, x4, x5, x6) = U7_AG(x5, x6) 33.17/10.42 33.17/10.42 U9_AG(x1, x2, x3, x4, x5, x6) = U9_AG(x5, x6) 33.17/10.42 33.17/10.42 33.17/10.42 We have to consider all (P,R,Pi)-chains 33.17/10.42 ---------------------------------------- 33.17/10.42 33.17/10.42 (91) PrologToTRSTransformerProof (SOUND) 33.17/10.42 Transformed Prolog program to TRS. 33.17/10.42 33.17/10.42 { 33.17/10.42 "root": 4, 33.17/10.42 "program": { 33.17/10.42 "directives": [], 33.17/10.42 "clauses": [ 33.17/10.42 [ 33.17/10.42 "(color_map (. Region Regions) Colors)", 33.17/10.42 "(',' (color_region Region Colors) (color_map Regions Colors))" 33.17/10.42 ], 33.17/10.42 [ 33.17/10.42 "(color_map ([]) Colors)", 33.17/10.42 null 33.17/10.42 ], 33.17/10.42 [ 33.17/10.42 "(color_region (region Name Color Neighbors) Colors)", 33.17/10.42 "(',' (select Color Colors Colors1) (members Neighbors Colors1))" 33.17/10.42 ], 33.17/10.42 [ 33.17/10.42 "(select X (. X Xs) Xs)", 33.17/10.42 null 33.17/10.42 ], 33.17/10.42 [ 33.17/10.42 "(select X (. Y Ys) (. Y Zs))", 33.17/10.42 "(select X Ys Zs)" 33.17/10.42 ], 33.17/10.42 [ 33.17/10.42 "(members (. X Xs) Ys)", 33.17/10.42 "(',' (member X Ys) (members Xs Ys))" 33.17/10.42 ], 33.17/10.42 [ 33.17/10.42 "(members ([]) Ys)", 33.17/10.42 null 33.17/10.42 ], 33.17/10.42 [ 33.17/10.42 "(member X (. X X1))", 33.17/10.42 null 33.17/10.42 ], 33.17/10.42 [ 33.17/10.42 "(member X (. X2 T))", 33.17/10.42 "(member X T)" 33.17/10.42 ], 33.17/10.42 [ 33.17/10.42 "(test_color Name Map)", 33.17/10.42 "(',' (map Name Map) (',' (colors Name Colors) (color_map Map Colors)))" 33.17/10.42 ], 33.17/10.42 [ 33.17/10.42 "(map (test) (. (region (a) A (. B (. C (. D ([]))))) (. (region (b) B (. A (. C (. E ([]))))) (. (region (c) C (. A (. B (. D (. E (. F ([]))))))) (. (region (d) D (. A (. C (. F ([]))))) (. (region (e) E (. B (. C (. F ([]))))) (. (region (f) F (. C (. D (. E ([]))))) ([]))))))))", 33.17/10.42 null 33.17/10.42 ], 33.17/10.42 [ 33.17/10.42 "(map (west_europe) (. (region (portugal) P (. E ([]))) (. (region (spain) E (. F (. P ([])))) (. (region (france) F (. E (. I (. S (. B (. WG (. L ([])))))))) (. (region (belgium) B (. F (. H (. L (. WG ([])))))) (. (region (holland) H (. B (. WG ([])))) (. (region (west_germany) WG (. F (. A (. S (. H (. B (. L ([])))))))) (. (region (luxembourg) L (. F (. B (. WG ([]))))) (. (region (italy) I (. F (. A (. S ([]))))) (. (region (switzerland) S (. F (. I (. A (. WG ([])))))) (. (region (austria) A (. I (. S (. WG ([]))))) ([]))))))))))))", 33.17/10.42 null 33.17/10.42 ], 33.17/10.42 [ 33.17/10.42 "(colors X (. (red) (. (yellow) (. (blue) (. (white) ([]))))))", 33.17/10.42 null 33.17/10.42 ] 33.17/10.42 ] 33.17/10.42 }, 33.17/10.42 "graph": { 33.17/10.42 "nodes": { 33.17/10.42 "490": { 33.17/10.42 "goal": [{ 33.17/10.42 "clause": 4, 33.17/10.42 "scope": 3, 33.17/10.42 "term": "(select T41 T40 X41)" 33.17/10.42 }], 33.17/10.42 "kb": { 33.17/10.42 "nonunifying": [], 33.17/10.42 "intvars": {}, 33.17/10.42 "arithmetic": { 33.17/10.42 "type": "PlainIntegerRelationState", 33.17/10.42 "relations": [] 33.17/10.42 }, 33.17/10.42 "ground": ["T40"], 33.17/10.42 "free": ["X41"], 33.17/10.42 "exprvars": [] 33.17/10.42 } 33.17/10.42 }, 33.17/10.42 "type": "Nodes", 33.17/10.42 "470": { 33.17/10.42 "goal": [{ 33.17/10.42 "clause": -1, 33.17/10.42 "scope": -1, 33.17/10.42 "term": "(',' (select T41 T40 X41) (members T42 X41))" 33.17/10.42 }], 33.17/10.42 "kb": { 33.17/10.42 "nonunifying": [], 33.17/10.42 "intvars": {}, 33.17/10.42 "arithmetic": { 33.17/10.42 "type": "PlainIntegerRelationState", 33.17/10.42 "relations": [] 33.17/10.42 }, 33.17/10.42 "ground": ["T40"], 33.17/10.42 "free": ["X41"], 33.17/10.42 "exprvars": [] 33.17/10.42 } 33.17/10.42 }, 33.17/10.42 "471": { 33.17/10.42 "goal": [], 33.17/10.42 "kb": { 33.17/10.42 "nonunifying": [], 33.17/10.42 "intvars": {}, 33.17/10.42 "arithmetic": { 33.17/10.42 "type": "PlainIntegerRelationState", 33.17/10.42 "relations": [] 33.17/10.42 }, 33.17/10.42 "ground": [], 33.17/10.42 "free": [], 33.17/10.42 "exprvars": [] 33.17/10.42 } 33.17/10.42 }, 33.17/10.42 "595": { 33.17/10.42 "goal": [{ 33.17/10.42 "clause": -1, 33.17/10.42 "scope": -1, 33.17/10.42 "term": "(select T72 T71 X74)" 33.17/10.42 }], 33.17/10.42 "kb": { 33.17/10.42 "nonunifying": [], 33.17/10.42 "intvars": {}, 33.17/10.42 "arithmetic": { 33.17/10.42 "type": "PlainIntegerRelationState", 33.17/10.42 "relations": [] 33.17/10.42 }, 33.17/10.42 "ground": ["T71"], 33.17/10.42 "free": ["X74"], 33.17/10.42 "exprvars": [] 33.17/10.42 } 33.17/10.42 }, 33.17/10.42 "476": { 33.17/10.42 "goal": [{ 33.17/10.42 "clause": -1, 33.17/10.42 "scope": -1, 33.17/10.42 "term": "(select T41 T40 X41)" 33.17/10.42 }], 33.17/10.42 "kb": { 33.17/10.42 "nonunifying": [], 33.17/10.42 "intvars": {}, 33.17/10.42 "arithmetic": { 33.17/10.42 "type": "PlainIntegerRelationState", 33.17/10.42 "relations": [] 33.17/10.42 }, 33.17/10.42 "ground": ["T40"], 33.17/10.42 "free": ["X41"], 33.17/10.42 "exprvars": [] 33.17/10.42 } 33.17/10.42 }, 33.17/10.42 "598": { 33.17/10.42 "goal": [], 33.17/10.42 "kb": { 33.17/10.42 "nonunifying": [], 33.17/10.42 "intvars": {}, 33.17/10.42 "arithmetic": { 33.17/10.42 "type": "PlainIntegerRelationState", 33.17/10.42 "relations": [] 33.17/10.42 }, 33.17/10.42 "ground": [], 33.17/10.42 "free": [], 33.17/10.42 "exprvars": [] 33.17/10.42 } 33.17/10.42 }, 33.17/10.42 "478": { 33.17/10.42 "goal": [{ 33.17/10.42 "clause": -1, 33.17/10.42 "scope": -1, 33.17/10.42 "term": "(members T48 T47)" 33.17/10.42 }], 33.17/10.42 "kb": { 33.17/10.42 "nonunifying": [], 33.17/10.42 "intvars": {}, 33.17/10.42 "arithmetic": { 33.17/10.42 "type": "PlainIntegerRelationState", 33.17/10.42 "relations": [] 33.17/10.42 }, 33.17/10.42 "ground": ["T47"], 33.17/10.42 "free": [], 33.17/10.42 "exprvars": [] 33.17/10.42 } 33.17/10.42 }, 33.17/10.42 "511": { 33.17/10.42 "goal": [{ 33.17/10.42 "clause": -1, 33.17/10.42 "scope": -1, 33.17/10.42 "term": "(true)" 33.17/10.42 }], 33.17/10.42 "kb": { 33.17/10.42 "nonunifying": [], 33.17/10.42 "intvars": {}, 33.17/10.42 "arithmetic": { 33.17/10.42 "type": "PlainIntegerRelationState", 33.17/10.42 "relations": [] 33.17/10.42 }, 33.17/10.42 "ground": [], 33.17/10.42 "free": [], 33.17/10.42 "exprvars": [] 33.17/10.42 } 33.17/10.42 }, 33.17/10.42 "599": { 33.17/10.42 "goal": [ 33.17/10.42 { 33.17/10.42 "clause": 5, 33.17/10.42 "scope": 4, 33.17/10.42 "term": "(members T48 T47)" 33.17/10.42 }, 33.17/10.42 { 33.17/10.42 "clause": 6, 33.17/10.42 "scope": 4, 33.17/10.42 "term": "(members T48 T47)" 33.17/10.42 } 33.17/10.42 ], 33.17/10.42 "kb": { 33.17/10.42 "nonunifying": [], 33.17/10.42 "intvars": {}, 33.17/10.42 "arithmetic": { 33.17/10.42 "type": "PlainIntegerRelationState", 33.17/10.42 "relations": [] 33.17/10.42 }, 33.17/10.42 "ground": ["T47"], 33.17/10.42 "free": [], 33.17/10.42 "exprvars": [] 33.17/10.42 } 33.17/10.42 }, 33.17/10.42 "632": { 33.17/10.42 "goal": [{ 33.17/10.42 "clause": -1, 33.17/10.42 "scope": -1, 33.17/10.42 "term": "(true)" 33.17/10.42 }], 33.17/10.42 "kb": { 33.17/10.42 "nonunifying": [], 33.17/10.42 "intvars": {}, 33.17/10.42 "arithmetic": { 33.17/10.42 "type": "PlainIntegerRelationState", 33.17/10.42 "relations": [] 33.17/10.42 }, 33.17/10.42 "ground": [], 33.17/10.42 "free": [], 33.17/10.42 "exprvars": [] 33.17/10.42 } 33.17/10.42 }, 33.17/10.42 "611": { 33.17/10.42 "goal": [{ 33.17/10.42 "clause": -1, 33.17/10.42 "scope": -1, 33.17/10.42 "term": "(member T95 T94)" 33.17/10.42 }], 33.17/10.42 "kb": { 33.17/10.42 "nonunifying": [], 33.17/10.42 "intvars": {}, 33.17/10.42 "arithmetic": { 33.17/10.42 "type": "PlainIntegerRelationState", 33.17/10.42 "relations": [] 33.17/10.42 }, 33.17/10.42 "ground": ["T94"], 33.17/10.42 "free": [], 33.17/10.42 "exprvars": [] 33.17/10.42 } 33.17/10.42 }, 33.17/10.42 "633": { 33.17/10.42 "goal": [], 33.17/10.42 "kb": { 33.17/10.42 "nonunifying": [], 33.17/10.42 "intvars": {}, 33.17/10.42 "arithmetic": { 33.17/10.42 "type": "PlainIntegerRelationState", 33.17/10.42 "relations": [] 33.17/10.42 }, 33.17/10.42 "ground": [], 33.17/10.42 "free": [], 33.17/10.42 "exprvars": [] 33.17/10.42 } 33.17/10.42 }, 33.17/10.42 "117": { 33.17/10.42 "goal": [{ 33.17/10.42 "clause": 0, 33.17/10.42 "scope": 1, 33.17/10.42 "term": "(color_map T1 T2)" 33.17/10.42 }], 33.17/10.42 "kb": { 33.17/10.42 "nonunifying": [], 33.17/10.42 "intvars": {}, 33.17/10.42 "arithmetic": { 33.17/10.42 "type": "PlainIntegerRelationState", 33.17/10.42 "relations": [] 33.17/10.42 }, 33.17/10.42 "ground": ["T2"], 33.17/10.42 "free": [], 33.17/10.42 "exprvars": [] 33.17/10.42 } 33.17/10.42 }, 33.17/10.42 "634": { 33.17/10.42 "goal": [], 33.17/10.42 "kb": { 33.17/10.42 "nonunifying": [], 33.17/10.42 "intvars": {}, 33.17/10.42 "arithmetic": { 33.17/10.42 "type": "PlainIntegerRelationState", 33.17/10.42 "relations": [] 33.17/10.42 }, 33.17/10.42 "ground": [], 33.17/10.42 "free": [], 33.17/10.42 "exprvars": [] 33.17/10.42 } 33.17/10.42 }, 33.17/10.42 "613": { 33.17/10.42 "goal": [{ 33.17/10.42 "clause": -1, 33.17/10.42 "scope": -1, 33.17/10.42 "term": "(members T101 T94)" 33.17/10.42 }], 33.17/10.42 "kb": { 33.17/10.42 "nonunifying": [], 33.17/10.42 "intvars": {}, 33.17/10.42 "arithmetic": { 33.17/10.42 "type": "PlainIntegerRelationState", 33.17/10.42 "relations": [] 33.17/10.42 }, 33.17/10.42 "ground": ["T94"], 33.17/10.42 "free": [], 33.17/10.42 "exprvars": [] 33.17/10.42 } 33.17/10.42 }, 33.17/10.42 "635": { 33.17/10.42 "goal": [{ 33.17/10.42 "clause": -1, 33.17/10.42 "scope": -1, 33.17/10.42 "term": "(true)" 33.17/10.42 }], 33.17/10.42 "kb": { 33.17/10.42 "nonunifying": [], 33.17/10.42 "intvars": {}, 33.17/10.42 "arithmetic": { 33.17/10.43 "type": "PlainIntegerRelationState", 33.17/10.43 "relations": [] 33.17/10.43 }, 33.17/10.43 "ground": [], 33.17/10.43 "free": [], 33.17/10.43 "exprvars": [] 33.17/10.43 } 33.17/10.43 }, 33.17/10.43 "614": { 33.17/10.43 "goal": [ 33.17/10.43 { 33.17/10.43 "clause": 7, 33.17/10.43 "scope": 5, 33.17/10.43 "term": "(member T95 T94)" 33.17/10.43 }, 33.17/10.43 { 33.17/10.43 "clause": 8, 33.17/10.43 "scope": 5, 33.17/10.43 "term": "(member T95 T94)" 33.17/10.43 } 33.17/10.43 ], 33.17/10.43 "kb": { 33.17/10.43 "nonunifying": [], 33.17/10.43 "intvars": {}, 33.17/10.43 "arithmetic": { 33.17/10.43 "type": "PlainIntegerRelationState", 33.17/10.43 "relations": [] 33.17/10.43 }, 33.17/10.43 "ground": ["T94"], 33.17/10.43 "free": [], 33.17/10.43 "exprvars": [] 33.17/10.43 } 33.17/10.43 }, 33.17/10.43 "636": { 33.17/10.43 "goal": [], 33.17/10.43 "kb": { 33.17/10.43 "nonunifying": [], 33.17/10.43 "intvars": {}, 33.17/10.43 "arithmetic": { 33.17/10.43 "type": "PlainIntegerRelationState", 33.17/10.43 "relations": [] 33.17/10.43 }, 33.17/10.43 "ground": [], 33.17/10.43 "free": [], 33.17/10.43 "exprvars": [] 33.17/10.43 } 33.17/10.43 }, 33.17/10.43 "516": { 33.17/10.43 "goal": [], 33.17/10.43 "kb": { 33.17/10.43 "nonunifying": [], 33.17/10.43 "intvars": {}, 33.17/10.43 "arithmetic": { 33.17/10.43 "type": "PlainIntegerRelationState", 33.17/10.43 "relations": [] 33.17/10.43 }, 33.17/10.43 "ground": [], 33.17/10.43 "free": [], 33.17/10.43 "exprvars": [] 33.17/10.43 } 33.17/10.43 }, 33.17/10.43 "615": { 33.17/10.43 "goal": [{ 33.17/10.43 "clause": 7, 33.17/10.43 "scope": 5, 33.17/10.43 "term": "(member T95 T94)" 33.17/10.43 }], 33.17/10.43 "kb": { 33.17/10.43 "nonunifying": [], 33.17/10.43 "intvars": {}, 33.17/10.43 "arithmetic": { 33.17/10.43 "type": "PlainIntegerRelationState", 33.17/10.43 "relations": [] 33.17/10.43 }, 33.17/10.43 "ground": ["T94"], 33.17/10.43 "free": [], 33.17/10.43 "exprvars": [] 33.17/10.43 } 33.17/10.43 }, 33.17/10.43 "637": { 33.17/10.43 "goal": [], 33.17/10.43 "kb": { 33.17/10.43 "nonunifying": [], 33.17/10.43 "intvars": {}, 33.17/10.43 "arithmetic": { 33.17/10.43 "type": "PlainIntegerRelationState", 33.17/10.43 "relations": [] 33.17/10.43 }, 33.17/10.43 "ground": [], 33.17/10.43 "free": [], 33.17/10.43 "exprvars": [] 33.17/10.43 } 33.17/10.43 }, 33.17/10.43 "616": { 33.17/10.43 "goal": [{ 33.17/10.43 "clause": 8, 33.17/10.43 "scope": 5, 33.17/10.43 "term": "(member T95 T94)" 33.17/10.43 }], 33.17/10.43 "kb": { 33.17/10.43 "nonunifying": [], 33.17/10.43 "intvars": {}, 33.17/10.43 "arithmetic": { 33.17/10.43 "type": "PlainIntegerRelationState", 33.17/10.43 "relations": [] 33.17/10.43 }, 33.17/10.43 "ground": ["T94"], 33.17/10.43 "free": [], 33.17/10.43 "exprvars": [] 33.17/10.43 } 33.17/10.43 }, 33.17/10.43 "519": { 33.17/10.43 "goal": [], 33.17/10.43 "kb": { 33.17/10.43 "nonunifying": [], 33.17/10.43 "intvars": {}, 33.17/10.43 "arithmetic": { 33.17/10.43 "type": "PlainIntegerRelationState", 33.17/10.43 "relations": [] 33.17/10.43 }, 33.17/10.43 "ground": [], 33.17/10.43 "free": [], 33.17/10.43 "exprvars": [] 33.17/10.43 } 33.17/10.43 }, 33.17/10.43 "618": { 33.17/10.43 "goal": [{ 33.17/10.43 "clause": -1, 33.17/10.43 "scope": -1, 33.42/10.43 "term": "(true)" 33.42/10.43 }], 33.42/10.43 "kb": { 33.42/10.43 "nonunifying": [], 33.42/10.43 "intvars": {}, 33.42/10.43 "arithmetic": { 33.42/10.43 "type": "PlainIntegerRelationState", 33.42/10.43 "relations": [] 33.42/10.43 }, 33.42/10.43 "ground": [], 33.42/10.43 "free": [], 33.42/10.43 "exprvars": [] 33.42/10.43 } 33.42/10.43 }, 33.42/10.43 "121": { 33.42/10.43 "goal": [{ 33.42/10.43 "clause": 1, 33.42/10.43 "scope": 1, 33.42/10.43 "term": "(color_map T1 T2)" 33.42/10.43 }], 33.42/10.43 "kb": { 33.42/10.43 "nonunifying": [], 33.42/10.43 "intvars": {}, 33.42/10.43 "arithmetic": { 33.42/10.43 "type": "PlainIntegerRelationState", 33.42/10.43 "relations": [] 33.42/10.43 }, 33.42/10.43 "ground": ["T2"], 33.42/10.43 "free": [], 33.42/10.43 "exprvars": [] 33.42/10.43 } 33.42/10.43 }, 33.42/10.43 "4": { 33.42/10.43 "goal": [{ 33.42/10.43 "clause": -1, 33.42/10.43 "scope": -1, 33.42/10.43 "term": "(color_map T1 T2)" 33.42/10.43 }], 33.42/10.43 "kb": { 33.42/10.43 "nonunifying": [], 33.42/10.43 "intvars": {}, 33.42/10.43 "arithmetic": { 33.42/10.43 "type": "PlainIntegerRelationState", 33.42/10.43 "relations": [] 33.42/10.43 }, 33.42/10.43 "ground": ["T2"], 33.42/10.43 "free": [], 33.42/10.43 "exprvars": [] 33.42/10.43 } 33.42/10.43 }, 33.42/10.43 "224": { 33.42/10.43 "goal": [{ 33.42/10.43 "clause": -1, 33.42/10.43 "scope": -1, 33.42/10.43 "term": "(',' (color_region T18 T17) (color_map T19 T17))" 33.42/10.43 }], 33.42/10.43 "kb": { 33.42/10.43 "nonunifying": [], 33.42/10.43 "intvars": {}, 33.42/10.43 "arithmetic": { 33.42/10.43 "type": "PlainIntegerRelationState", 33.42/10.43 "relations": [] 33.42/10.43 }, 33.42/10.43 "ground": ["T17"], 33.42/10.43 "free": [], 33.42/10.43 "exprvars": [] 33.42/10.43 } 33.42/10.43 }, 33.42/10.43 "488": { 33.42/10.43 "goal": [ 33.42/10.43 { 33.42/10.43 "clause": 3, 33.42/10.43 "scope": 3, 33.42/10.43 "term": "(select T41 T40 X41)" 33.42/10.43 }, 33.42/10.43 { 33.42/10.43 "clause": 4, 33.42/10.43 "scope": 3, 33.42/10.43 "term": "(select T41 T40 X41)" 33.42/10.43 } 33.42/10.43 ], 33.42/10.43 "kb": { 33.42/10.43 "nonunifying": [], 33.42/10.43 "intvars": {}, 33.42/10.43 "arithmetic": { 33.42/10.43 "type": "PlainIntegerRelationState", 33.42/10.43 "relations": [] 33.42/10.43 }, 33.42/10.43 "ground": ["T40"], 33.42/10.43 "free": ["X41"], 33.42/10.43 "exprvars": [] 33.42/10.43 } 33.42/10.43 }, 33.42/10.43 "620": { 33.42/10.43 "goal": [], 33.42/10.43 "kb": { 33.42/10.43 "nonunifying": [], 33.42/10.43 "intvars": {}, 33.42/10.43 "arithmetic": { 33.42/10.43 "type": "PlainIntegerRelationState", 33.42/10.43 "relations": [] 33.42/10.43 }, 33.42/10.43 "ground": [], 33.42/10.43 "free": [], 33.42/10.43 "exprvars": [] 33.42/10.43 } 33.42/10.43 }, 33.42/10.43 "5": { 33.42/10.43 "goal": [ 33.42/10.43 { 33.42/10.43 "clause": 0, 33.42/10.43 "scope": 1, 33.42/10.43 "term": "(color_map T1 T2)" 33.42/10.43 }, 33.42/10.43 { 33.42/10.43 "clause": 1, 33.42/10.43 "scope": 1, 33.42/10.43 "term": "(color_map T1 T2)" 33.42/10.43 } 33.42/10.43 ], 33.42/10.43 "kb": { 33.42/10.43 "nonunifying": [], 33.42/10.43 "intvars": {}, 33.42/10.43 "arithmetic": { 33.42/10.43 "type": "PlainIntegerRelationState", 33.42/10.43 "relations": [] 33.42/10.43 }, 33.42/10.43 "ground": ["T2"], 33.42/10.43 "free": [], 33.42/10.43 "exprvars": [] 33.42/10.43 } 33.42/10.43 }, 33.42/10.43 "225": { 33.42/10.43 "goal": [], 33.42/10.43 "kb": { 33.42/10.43 "nonunifying": [], 33.42/10.43 "intvars": {}, 33.42/10.43 "arithmetic": { 33.42/10.43 "type": "PlainIntegerRelationState", 33.42/10.43 "relations": [] 33.42/10.43 }, 33.42/10.43 "ground": [], 33.42/10.43 "free": [], 33.42/10.43 "exprvars": [] 33.42/10.43 } 33.42/10.43 }, 33.42/10.43 "489": { 33.42/10.43 "goal": [{ 33.42/10.43 "clause": 3, 33.42/10.43 "scope": 3, 33.42/10.43 "term": "(select T41 T40 X41)" 33.42/10.43 }], 33.42/10.43 "kb": { 33.42/10.43 "nonunifying": [], 33.42/10.43 "intvars": {}, 33.42/10.43 "arithmetic": { 33.42/10.43 "type": "PlainIntegerRelationState", 33.42/10.43 "relations": [] 33.42/10.43 }, 33.42/10.43 "ground": ["T40"], 33.42/10.43 "free": ["X41"], 33.42/10.43 "exprvars": [] 33.42/10.43 } 33.42/10.43 }, 33.42/10.43 "226": { 33.42/10.43 "goal": [{ 33.42/10.43 "clause": -1, 33.42/10.43 "scope": -1, 33.42/10.43 "term": "(color_region T18 T17)" 33.42/10.43 }], 33.42/10.43 "kb": { 33.42/10.43 "nonunifying": [], 33.42/10.43 "intvars": {}, 33.42/10.43 "arithmetic": { 33.42/10.43 "type": "PlainIntegerRelationState", 33.42/10.43 "relations": [] 33.42/10.43 }, 33.42/10.43 "ground": ["T17"], 33.42/10.43 "free": [], 33.42/10.43 "exprvars": [] 33.42/10.43 } 33.42/10.43 }, 33.42/10.43 "468": { 33.42/10.43 "goal": [{ 33.42/10.43 "clause": -1, 33.42/10.43 "scope": -1, 33.42/10.43 "term": "(color_map T24 T17)" 33.42/10.43 }], 33.42/10.43 "kb": { 33.42/10.43 "nonunifying": [], 33.42/10.43 "intvars": {}, 33.42/10.43 "arithmetic": { 33.42/10.43 "type": "PlainIntegerRelationState", 33.42/10.43 "relations": [] 33.42/10.43 }, 33.42/10.43 "ground": ["T17"], 33.42/10.43 "free": [], 33.42/10.43 "exprvars": [] 33.42/10.43 } 33.42/10.43 }, 33.42/10.43 "622": { 33.42/10.43 "goal": [], 33.42/10.43 "kb": { 33.42/10.43 "nonunifying": [], 33.42/10.43 "intvars": {}, 33.42/10.43 "arithmetic": { 33.42/10.43 "type": "PlainIntegerRelationState", 33.42/10.43 "relations": [] 33.42/10.43 }, 33.42/10.43 "ground": [], 33.42/10.43 "free": [], 33.42/10.43 "exprvars": [] 33.42/10.43 } 33.42/10.43 }, 33.42/10.43 "469": { 33.42/10.43 "goal": [{ 33.42/10.43 "clause": 2, 33.42/10.43 "scope": 2, 33.42/10.43 "term": "(color_region T18 T17)" 33.42/10.43 }], 33.42/10.43 "kb": { 33.42/10.43 "nonunifying": [], 33.42/10.43 "intvars": {}, 33.42/10.43 "arithmetic": { 33.42/10.43 "type": "PlainIntegerRelationState", 33.42/10.43 "relations": [] 33.42/10.43 }, 33.42/10.43 "ground": ["T17"], 33.42/10.43 "free": [], 33.42/10.43 "exprvars": [] 33.42/10.43 } 33.42/10.43 }, 33.42/10.43 "602": { 33.42/10.43 "goal": [{ 33.42/10.43 "clause": 5, 33.42/10.43 "scope": 4, 33.42/10.43 "term": "(members T48 T47)" 33.42/10.43 }], 33.42/10.43 "kb": { 33.42/10.43 "nonunifying": [], 33.42/10.43 "intvars": {}, 33.42/10.43 "arithmetic": { 33.42/10.43 "type": "PlainIntegerRelationState", 33.42/10.43 "relations": [] 33.42/10.43 }, 33.42/10.43 "ground": ["T47"], 33.42/10.43 "free": [], 33.42/10.43 "exprvars": [] 33.42/10.43 } 33.42/10.43 }, 33.42/10.43 "624": { 33.42/10.43 "goal": [{ 33.42/10.43 "clause": -1, 33.42/10.43 "scope": -1, 33.42/10.43 "term": "(member T125 T124)" 33.42/10.43 }], 33.42/10.43 "kb": { 33.42/10.43 "nonunifying": [], 33.42/10.43 "intvars": {}, 33.42/10.43 "arithmetic": { 33.42/10.43 "type": "PlainIntegerRelationState", 33.42/10.43 "relations": [] 33.42/10.43 }, 33.42/10.43 "ground": ["T124"], 33.42/10.43 "free": [], 33.42/10.43 "exprvars": [] 33.42/10.43 } 33.42/10.43 }, 33.42/10.43 "625": { 33.42/10.43 "goal": [], 33.42/10.43 "kb": { 33.42/10.43 "nonunifying": [], 33.42/10.43 "intvars": {}, 33.42/10.43 "arithmetic": { 33.42/10.43 "type": "PlainIntegerRelationState", 33.42/10.43 "relations": [] 33.42/10.43 }, 33.42/10.43 "ground": [], 33.42/10.43 "free": [], 33.42/10.43 "exprvars": [] 33.42/10.43 } 33.42/10.43 }, 33.42/10.43 "604": { 33.42/10.43 "goal": [{ 33.42/10.43 "clause": 6, 33.42/10.43 "scope": 4, 33.42/10.43 "term": "(members T48 T47)" 33.42/10.43 }], 33.42/10.43 "kb": { 33.42/10.43 "nonunifying": [], 33.42/10.43 "intvars": {}, 33.42/10.43 "arithmetic": { 33.42/10.43 "type": "PlainIntegerRelationState", 33.42/10.43 "relations": [] 33.42/10.43 }, 33.42/10.43 "ground": ["T47"], 33.42/10.43 "free": [], 33.42/10.43 "exprvars": [] 33.42/10.43 } 33.42/10.43 }, 33.42/10.43 "608": { 33.42/10.43 "goal": [{ 33.42/10.43 "clause": -1, 33.42/10.43 "scope": -1, 33.42/10.43 "term": "(',' (member T95 T94) (members T96 T94))" 33.42/10.43 }], 33.42/10.43 "kb": { 33.42/10.43 "nonunifying": [], 33.42/10.43 "intvars": {}, 33.42/10.43 "arithmetic": { 33.42/10.43 "type": "PlainIntegerRelationState", 33.42/10.43 "relations": [] 33.42/10.43 }, 33.42/10.43 "ground": ["T94"], 33.42/10.43 "free": [], 33.42/10.43 "exprvars": [] 33.42/10.43 } 33.42/10.43 }, 33.42/10.43 "609": { 33.42/10.43 "goal": [], 33.42/10.43 "kb": { 33.42/10.43 "nonunifying": [], 33.42/10.43 "intvars": {}, 33.42/10.43 "arithmetic": { 33.42/10.43 "type": "PlainIntegerRelationState", 33.42/10.43 "relations": [] 33.42/10.43 }, 33.42/10.43 "ground": [], 33.42/10.43 "free": [], 33.42/10.43 "exprvars": [] 33.42/10.43 } 33.42/10.43 } 33.42/10.43 }, 33.42/10.43 "edges": [ 33.42/10.43 { 33.42/10.43 "from": 4, 33.42/10.43 "to": 5, 33.42/10.43 "label": "CASE" 33.42/10.43 }, 33.42/10.43 { 33.42/10.43 "from": 5, 33.42/10.43 "to": 117, 33.42/10.43 "label": "PARALLEL" 33.42/10.43 }, 33.42/10.43 { 33.42/10.43 "from": 5, 33.42/10.43 "to": 121, 33.42/10.43 "label": "PARALLEL" 33.42/10.43 }, 33.42/10.43 { 33.42/10.43 "from": 117, 33.42/10.43 "to": 224, 33.42/10.43 "label": "EVAL with clause\ncolor_map(.(X15, X16), X17) :- ','(color_region(X15, X17), color_map(X16, X17)).\nand substitutionX15 -> T18,\nX16 -> T19,\nT1 -> .(T18, T19),\nT2 -> T17,\nX17 -> T17,\nT15 -> T18,\nT16 -> T19" 33.42/10.43 }, 33.42/10.43 { 33.42/10.43 "from": 117, 33.42/10.43 "to": 225, 33.42/10.43 "label": "EVAL-BACKTRACK" 33.42/10.43 }, 33.42/10.43 { 33.42/10.43 "from": 121, 33.42/10.43 "to": 635, 33.42/10.43 "label": "EVAL with clause\ncolor_map([], X139).\nand substitutionT1 -> [],\nT2 -> T141,\nX139 -> T141" 33.42/10.43 }, 33.42/10.43 { 33.42/10.43 "from": 121, 33.42/10.43 "to": 636, 33.42/10.43 "label": "EVAL-BACKTRACK" 33.42/10.43 }, 33.42/10.43 { 33.42/10.43 "from": 224, 33.42/10.43 "to": 226, 33.42/10.43 "label": "SPLIT 1" 33.42/10.43 }, 33.42/10.43 { 33.42/10.43 "from": 224, 33.42/10.43 "to": 468, 33.42/10.43 "label": "SPLIT 2\nnew knowledge:\nT17 is ground\nreplacements:T19 -> T24" 33.42/10.43 }, 33.42/10.43 { 33.42/10.43 "from": 226, 33.42/10.43 "to": 469, 33.42/10.43 "label": "CASE" 33.42/10.43 }, 33.42/10.43 { 33.42/10.43 "from": 468, 33.42/10.43 "to": 4, 33.42/10.43 "label": "INSTANCE with matching:\nT1 -> T24\nT2 -> T17" 33.42/10.43 }, 33.42/10.43 { 33.42/10.43 "from": 469, 33.42/10.43 "to": 470, 33.42/10.43 "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" 33.42/10.43 }, 33.42/10.43 { 33.42/10.43 "from": 469, 33.42/10.43 "to": 471, 33.42/10.43 "label": "EVAL-BACKTRACK" 33.42/10.43 }, 33.42/10.43 { 33.42/10.43 "from": 470, 33.42/10.43 "to": 476, 33.42/10.43 "label": "SPLIT 1" 33.42/10.43 }, 33.42/10.43 { 33.42/10.43 "from": 470, 33.42/10.43 "to": 478, 33.42/10.43 "label": "SPLIT 2\nnew knowledge:\nT41 is ground\nT40 is ground\nT47 is ground\nreplacements:X41 -> T47,\nT42 -> T48" 33.42/10.43 }, 33.42/10.43 { 33.42/10.43 "from": 476, 33.42/10.43 "to": 488, 33.42/10.43 "label": "CASE" 33.42/10.43 }, 33.42/10.43 { 33.42/10.43 "from": 478, 33.42/10.43 "to": 599, 33.42/10.43 "label": "CASE" 33.42/10.43 }, 33.42/10.43 { 33.42/10.43 "from": 488, 33.42/10.43 "to": 489, 33.42/10.43 "label": "PARALLEL" 33.42/10.43 }, 33.42/10.43 { 33.42/10.43 "from": 488, 33.42/10.43 "to": 490, 33.42/10.43 "label": "PARALLEL" 33.42/10.43 }, 33.42/10.43 { 33.42/10.43 "from": 489, 33.42/10.43 "to": 511, 33.42/10.43 "label": "EVAL with clause\nselect(X58, .(X58, X59), X59).\nand substitutionT41 -> T61,\nX58 -> T61,\nX59 -> T62,\nT40 -> .(T61, T62),\nX41 -> T62" 33.42/10.43 }, 33.42/10.43 { 33.42/10.43 "from": 489, 33.42/10.43 "to": 516, 33.42/10.43 "label": "EVAL-BACKTRACK" 33.42/10.43 }, 33.42/10.43 { 33.42/10.43 "from": 490, 33.42/10.43 "to": 595, 33.42/10.43 "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" 33.42/10.43 }, 33.42/10.43 { 33.42/10.43 "from": 490, 33.42/10.43 "to": 598, 33.42/10.43 "label": "EVAL-BACKTRACK" 33.42/10.43 }, 33.42/10.43 { 33.42/10.43 "from": 511, 33.42/10.43 "to": 519, 33.42/10.43 "label": "SUCCESS" 33.42/10.43 }, 33.42/10.43 { 33.42/10.43 "from": 595, 33.42/10.43 "to": 476, 33.42/10.43 "label": "INSTANCE with matching:\nT41 -> T72\nT40 -> T71\nX41 -> X74" 33.42/10.43 }, 33.42/10.43 { 33.42/10.43 "from": 599, 33.42/10.43 "to": 602, 33.42/10.43 "label": "PARALLEL" 33.42/10.43 }, 33.42/10.43 { 33.42/10.43 "from": 599, 33.42/10.43 "to": 604, 33.42/10.43 "label": "PARALLEL" 33.42/10.43 }, 33.42/10.43 { 33.42/10.43 "from": 602, 33.42/10.43 "to": 608, 33.42/10.43 "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" 33.42/10.43 }, 33.42/10.43 { 33.42/10.43 "from": 602, 33.42/10.43 "to": 609, 33.42/10.43 "label": "EVAL-BACKTRACK" 33.42/10.43 }, 33.42/10.43 { 33.42/10.43 "from": 604, 33.42/10.43 "to": 632, 33.42/10.43 "label": "EVAL with clause\nmembers([], X133).\nand substitutionT48 -> [],\nT47 -> T135,\nX133 -> T135" 33.42/10.43 }, 33.42/10.43 { 33.42/10.43 "from": 604, 33.42/10.43 "to": 633, 33.42/10.43 "label": "EVAL-BACKTRACK" 33.42/10.43 }, 33.42/10.43 { 33.42/10.43 "from": 608, 33.42/10.43 "to": 611, 33.42/10.43 "label": "SPLIT 1" 33.42/10.43 }, 33.42/10.43 { 33.42/10.43 "from": 608, 33.42/10.43 "to": 613, 33.42/10.43 "label": "SPLIT 2\nnew knowledge:\nT95 is ground\nT94 is ground\nreplacements:T96 -> T101" 33.42/10.43 }, 33.42/10.43 { 33.42/10.43 "from": 611, 33.42/10.43 "to": 614, 33.42/10.43 "label": "CASE" 33.42/10.43 }, 33.42/10.43 { 33.42/10.43 "from": 613, 33.42/10.43 "to": 478, 33.42/10.43 "label": "INSTANCE with matching:\nT48 -> T101\nT47 -> T94" 33.42/10.43 }, 33.42/10.43 { 33.42/10.43 "from": 614, 33.42/10.43 "to": 615, 33.42/10.43 "label": "PARALLEL" 33.42/10.43 }, 33.42/10.43 { 33.42/10.43 "from": 614, 33.42/10.43 "to": 616, 33.42/10.43 "label": "PARALLEL" 33.42/10.43 }, 33.42/10.43 { 33.42/10.43 "from": 615, 33.42/10.43 "to": 618, 33.42/10.43 "label": "EVAL with clause\nmember(X113, .(X113, X114)).\nand substitutionT95 -> T114,\nX113 -> T114,\nX114 -> T115,\nT94 -> .(T114, T115)" 33.42/10.43 }, 33.42/10.43 { 33.42/10.43 "from": 615, 33.42/10.43 "to": 620, 33.42/10.43 "label": "EVAL-BACKTRACK" 33.42/10.43 }, 33.42/10.43 { 33.42/10.43 "from": 616, 33.42/10.43 "to": 624, 33.42/10.43 "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" 33.42/10.43 }, 33.42/10.43 { 33.42/10.43 "from": 616, 33.42/10.43 "to": 625, 33.42/10.43 "label": "EVAL-BACKTRACK" 33.42/10.43 }, 33.42/10.43 { 33.42/10.43 "from": 618, 33.42/10.43 "to": 622, 33.42/10.43 "label": "SUCCESS" 33.42/10.43 }, 33.42/10.43 { 33.42/10.43 "from": 624, 33.42/10.43 "to": 611, 33.42/10.43 "label": "INSTANCE with matching:\nT95 -> T125\nT94 -> T124" 33.42/10.43 }, 33.42/10.43 { 33.42/10.43 "from": 632, 33.42/10.43 "to": 634, 33.42/10.43 "label": "SUCCESS" 33.42/10.43 }, 33.42/10.43 { 33.42/10.43 "from": 635, 33.42/10.43 "to": 637, 33.42/10.43 "label": "SUCCESS" 33.42/10.43 } 33.42/10.43 ], 33.42/10.43 "type": "Graph" 33.42/10.43 } 33.42/10.43 } 33.42/10.43 33.42/10.43 ---------------------------------------- 33.42/10.43 33.42/10.43 (92) 33.42/10.43 Obligation: 33.42/10.43 Q restricted rewrite system: 33.42/10.43 The TRS R consists of the following rules: 33.42/10.43 33.42/10.43 f4_in(T17) -> U1(f224_in(T17), T17) 33.42/10.43 U1(f224_out1, T17) -> f4_out1 33.42/10.43 f4_in(T141) -> f4_out1 33.42/10.43 f476_in(.(T61, T62)) -> f476_out1(T61, T62) 33.42/10.43 f476_in(.(T70, T71)) -> U2(f476_in(T71), .(T70, T71)) 33.42/10.43 U2(f476_out1(T72, X74), .(T70, T71)) -> f476_out1(T72, .(T70, X74)) 33.42/10.43 f478_in(T94) -> U3(f608_in(T94), T94) 33.42/10.43 U3(f608_out1(T95, T96), T94) -> f478_out1(.(T95, T96)) 33.42/10.43 f478_in(T135) -> f478_out1([]) 33.42/10.43 f611_in(.(T114, T115)) -> f611_out1(T114) 33.42/10.43 f611_in(.(T123, T124)) -> U4(f611_in(T124), .(T123, T124)) 33.42/10.43 U4(f611_out1(T125), .(T123, T124)) -> f611_out1(T125) 33.42/10.43 f226_in(T40) -> U5(f470_in(T40), T40) 33.42/10.43 U5(f470_out1(T41, X41, T42), T40) -> f226_out1 33.42/10.43 f224_in(T17) -> U6(f226_in(T17), T17) 33.42/10.43 U6(f226_out1, T17) -> U7(f4_in(T17), T17) 33.42/10.43 U7(f4_out1, T17) -> f224_out1 33.42/10.43 f470_in(T40) -> U8(f476_in(T40), T40) 33.42/10.43 U8(f476_out1(T41, T47), T40) -> U9(f478_in(T47), T40, T41, T47) 33.42/10.43 U9(f478_out1(T48), T40, T41, T47) -> f470_out1(T41, T47, T48) 33.42/10.43 f608_in(T94) -> U10(f611_in(T94), T94) 33.42/10.43 U10(f611_out1(T95), T94) -> U11(f478_in(T94), T94, T95) 33.42/10.43 U11(f478_out1(T101), T94, T95) -> f608_out1(T95, T101) 33.42/10.43 33.42/10.43 Q is empty. 33.42/10.43 33.42/10.43 ---------------------------------------- 33.42/10.43 33.42/10.43 (93) DependencyPairsProof (EQUIVALENT) 33.42/10.43 Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem. 33.42/10.43 ---------------------------------------- 33.42/10.43 33.42/10.43 (94) 33.42/10.43 Obligation: 33.42/10.43 Q DP problem: 33.42/10.43 The TRS P consists of the following rules: 33.42/10.43 33.42/10.43 F4_IN(T17) -> U1^1(f224_in(T17), T17) 33.42/10.43 F4_IN(T17) -> F224_IN(T17) 33.42/10.43 F476_IN(.(T70, T71)) -> U2^1(f476_in(T71), .(T70, T71)) 33.42/10.43 F476_IN(.(T70, T71)) -> F476_IN(T71) 33.42/10.43 F478_IN(T94) -> U3^1(f608_in(T94), T94) 33.42/10.43 F478_IN(T94) -> F608_IN(T94) 33.42/10.43 F611_IN(.(T123, T124)) -> U4^1(f611_in(T124), .(T123, T124)) 33.42/10.43 F611_IN(.(T123, T124)) -> F611_IN(T124) 33.42/10.43 F226_IN(T40) -> U5^1(f470_in(T40), T40) 33.42/10.43 F226_IN(T40) -> F470_IN(T40) 33.42/10.43 F224_IN(T17) -> U6^1(f226_in(T17), T17) 33.42/10.43 F224_IN(T17) -> F226_IN(T17) 33.42/10.43 U6^1(f226_out1, T17) -> U7^1(f4_in(T17), T17) 33.42/10.43 U6^1(f226_out1, T17) -> F4_IN(T17) 33.42/10.43 F470_IN(T40) -> U8^1(f476_in(T40), T40) 33.42/10.43 F470_IN(T40) -> F476_IN(T40) 33.42/10.43 U8^1(f476_out1(T41, T47), T40) -> U9^1(f478_in(T47), T40, T41, T47) 33.42/10.43 U8^1(f476_out1(T41, T47), T40) -> F478_IN(T47) 33.42/10.43 F608_IN(T94) -> U10^1(f611_in(T94), T94) 33.42/10.43 F608_IN(T94) -> F611_IN(T94) 33.42/10.43 U10^1(f611_out1(T95), T94) -> U11^1(f478_in(T94), T94, T95) 33.42/10.43 U10^1(f611_out1(T95), T94) -> F478_IN(T94) 33.42/10.43 33.42/10.43 The TRS R consists of the following rules: 33.42/10.43 33.42/10.43 f4_in(T17) -> U1(f224_in(T17), T17) 33.42/10.43 U1(f224_out1, T17) -> f4_out1 33.42/10.43 f4_in(T141) -> f4_out1 33.42/10.43 f476_in(.(T61, T62)) -> f476_out1(T61, T62) 33.42/10.43 f476_in(.(T70, T71)) -> U2(f476_in(T71), .(T70, T71)) 33.42/10.43 U2(f476_out1(T72, X74), .(T70, T71)) -> f476_out1(T72, .(T70, X74)) 33.42/10.43 f478_in(T94) -> U3(f608_in(T94), T94) 33.42/10.43 U3(f608_out1(T95, T96), T94) -> f478_out1(.(T95, T96)) 33.42/10.43 f478_in(T135) -> f478_out1([]) 33.42/10.43 f611_in(.(T114, T115)) -> f611_out1(T114) 33.42/10.43 f611_in(.(T123, T124)) -> U4(f611_in(T124), .(T123, T124)) 33.42/10.43 U4(f611_out1(T125), .(T123, T124)) -> f611_out1(T125) 33.42/10.43 f226_in(T40) -> U5(f470_in(T40), T40) 33.42/10.43 U5(f470_out1(T41, X41, T42), T40) -> f226_out1 33.42/10.43 f224_in(T17) -> U6(f226_in(T17), T17) 33.42/10.43 U6(f226_out1, T17) -> U7(f4_in(T17), T17) 33.42/10.43 U7(f4_out1, T17) -> f224_out1 33.42/10.43 f470_in(T40) -> U8(f476_in(T40), T40) 33.42/10.43 U8(f476_out1(T41, T47), T40) -> U9(f478_in(T47), T40, T41, T47) 33.42/10.43 U9(f478_out1(T48), T40, T41, T47) -> f470_out1(T41, T47, T48) 33.42/10.43 f608_in(T94) -> U10(f611_in(T94), T94) 33.42/10.43 U10(f611_out1(T95), T94) -> U11(f478_in(T94), T94, T95) 33.42/10.43 U11(f478_out1(T101), T94, T95) -> f608_out1(T95, T101) 33.42/10.43 33.42/10.43 Q is empty. 33.42/10.43 We have to consider all minimal (P,Q,R)-chains. 33.42/10.43 ---------------------------------------- 33.42/10.43 33.42/10.43 (95) DependencyGraphProof (EQUIVALENT) 33.42/10.43 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 4 SCCs with 14 less nodes. 33.42/10.43 ---------------------------------------- 33.42/10.43 33.42/10.43 (96) 33.42/10.43 Complex Obligation (AND) 33.42/10.43 33.42/10.43 ---------------------------------------- 33.42/10.43 33.42/10.43 (97) 33.42/10.43 Obligation: 33.42/10.43 Q DP problem: 33.42/10.43 The TRS P consists of the following rules: 33.42/10.43 33.42/10.43 F611_IN(.(T123, T124)) -> F611_IN(T124) 33.42/10.43 33.42/10.43 The TRS R consists of the following rules: 33.42/10.43 33.42/10.43 f4_in(T17) -> U1(f224_in(T17), T17) 33.42/10.43 U1(f224_out1, T17) -> f4_out1 33.42/10.43 f4_in(T141) -> f4_out1 33.42/10.43 f476_in(.(T61, T62)) -> f476_out1(T61, T62) 33.42/10.43 f476_in(.(T70, T71)) -> U2(f476_in(T71), .(T70, T71)) 33.42/10.43 U2(f476_out1(T72, X74), .(T70, T71)) -> f476_out1(T72, .(T70, X74)) 33.42/10.43 f478_in(T94) -> U3(f608_in(T94), T94) 33.42/10.43 U3(f608_out1(T95, T96), T94) -> f478_out1(.(T95, T96)) 33.42/10.43 f478_in(T135) -> f478_out1([]) 33.42/10.43 f611_in(.(T114, T115)) -> f611_out1(T114) 33.42/10.43 f611_in(.(T123, T124)) -> U4(f611_in(T124), .(T123, T124)) 33.42/10.43 U4(f611_out1(T125), .(T123, T124)) -> f611_out1(T125) 33.42/10.43 f226_in(T40) -> U5(f470_in(T40), T40) 33.42/10.43 U5(f470_out1(T41, X41, T42), T40) -> f226_out1 33.42/10.43 f224_in(T17) -> U6(f226_in(T17), T17) 33.42/10.43 U6(f226_out1, T17) -> U7(f4_in(T17), T17) 33.42/10.43 U7(f4_out1, T17) -> f224_out1 33.42/10.43 f470_in(T40) -> U8(f476_in(T40), T40) 33.42/10.43 U8(f476_out1(T41, T47), T40) -> U9(f478_in(T47), T40, T41, T47) 33.42/10.43 U9(f478_out1(T48), T40, T41, T47) -> f470_out1(T41, T47, T48) 33.42/10.43 f608_in(T94) -> U10(f611_in(T94), T94) 33.42/10.43 U10(f611_out1(T95), T94) -> U11(f478_in(T94), T94, T95) 33.42/10.43 U11(f478_out1(T101), T94, T95) -> f608_out1(T95, T101) 33.42/10.43 33.42/10.43 Q is empty. 33.42/10.43 We have to consider all minimal (P,Q,R)-chains. 33.42/10.43 ---------------------------------------- 33.42/10.43 33.42/10.43 (98) UsableRulesProof (EQUIVALENT) 33.42/10.43 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. 33.42/10.43 ---------------------------------------- 33.42/10.43 33.42/10.43 (99) 33.42/10.43 Obligation: 33.42/10.43 Q DP problem: 33.42/10.43 The TRS P consists of the following rules: 33.42/10.43 33.42/10.43 F611_IN(.(T123, T124)) -> F611_IN(T124) 33.42/10.43 33.42/10.43 R is empty. 33.42/10.43 Q is empty. 33.42/10.43 We have to consider all minimal (P,Q,R)-chains. 33.42/10.43 ---------------------------------------- 33.42/10.43 33.42/10.43 (100) QDPSizeChangeProof (EQUIVALENT) 33.42/10.43 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. 33.42/10.43 33.42/10.43 From the DPs we obtained the following set of size-change graphs: 33.42/10.43 *F611_IN(.(T123, T124)) -> F611_IN(T124) 33.42/10.43 The graph contains the following edges 1 > 1 33.42/10.43 33.42/10.43 33.42/10.43 ---------------------------------------- 33.42/10.43 33.42/10.43 (101) 33.42/10.43 YES 33.42/10.43 33.42/10.43 ---------------------------------------- 33.42/10.43 33.42/10.43 (102) 33.42/10.43 Obligation: 33.42/10.43 Q DP problem: 33.42/10.43 The TRS P consists of the following rules: 33.42/10.43 33.42/10.43 F478_IN(T94) -> F608_IN(T94) 33.42/10.43 F608_IN(T94) -> U10^1(f611_in(T94), T94) 33.42/10.43 U10^1(f611_out1(T95), T94) -> F478_IN(T94) 33.42/10.43 33.42/10.43 The TRS R consists of the following rules: 33.42/10.43 33.42/10.43 f4_in(T17) -> U1(f224_in(T17), T17) 33.42/10.43 U1(f224_out1, T17) -> f4_out1 33.42/10.43 f4_in(T141) -> f4_out1 33.42/10.43 f476_in(.(T61, T62)) -> f476_out1(T61, T62) 33.42/10.43 f476_in(.(T70, T71)) -> U2(f476_in(T71), .(T70, T71)) 33.42/10.43 U2(f476_out1(T72, X74), .(T70, T71)) -> f476_out1(T72, .(T70, X74)) 33.42/10.43 f478_in(T94) -> U3(f608_in(T94), T94) 33.42/10.43 U3(f608_out1(T95, T96), T94) -> f478_out1(.(T95, T96)) 33.42/10.43 f478_in(T135) -> f478_out1([]) 33.42/10.43 f611_in(.(T114, T115)) -> f611_out1(T114) 33.42/10.43 f611_in(.(T123, T124)) -> U4(f611_in(T124), .(T123, T124)) 33.42/10.43 U4(f611_out1(T125), .(T123, T124)) -> f611_out1(T125) 33.42/10.43 f226_in(T40) -> U5(f470_in(T40), T40) 33.42/10.43 U5(f470_out1(T41, X41, T42), T40) -> f226_out1 33.42/10.43 f224_in(T17) -> U6(f226_in(T17), T17) 33.42/10.43 U6(f226_out1, T17) -> U7(f4_in(T17), T17) 33.42/10.43 U7(f4_out1, T17) -> f224_out1 33.42/10.43 f470_in(T40) -> U8(f476_in(T40), T40) 33.42/10.43 U8(f476_out1(T41, T47), T40) -> U9(f478_in(T47), T40, T41, T47) 33.42/10.43 U9(f478_out1(T48), T40, T41, T47) -> f470_out1(T41, T47, T48) 33.42/10.43 f608_in(T94) -> U10(f611_in(T94), T94) 33.42/10.43 U10(f611_out1(T95), T94) -> U11(f478_in(T94), T94, T95) 33.42/10.43 U11(f478_out1(T101), T94, T95) -> f608_out1(T95, T101) 33.42/10.43 33.42/10.43 Q is empty. 33.42/10.43 We have to consider all minimal (P,Q,R)-chains. 33.42/10.43 ---------------------------------------- 33.42/10.43 33.42/10.43 (103) NonTerminationLoopProof (COMPLETE) 33.42/10.43 We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. 33.42/10.43 Found a loop by narrowing to the left: 33.42/10.43 33.42/10.43 s = F608_IN(.(T114, T115)) evaluates to t =F608_IN(.(T114, T115)) 33.42/10.43 33.42/10.43 Thus s starts an infinite chain as s semiunifies with t with the following substitutions: 33.42/10.43 * Matcher: [ ] 33.42/10.43 * Semiunifier: [ ] 33.42/10.43 33.42/10.43 -------------------------------------------------------------------------------- 33.42/10.43 Rewriting sequence 33.42/10.43 33.42/10.43 F608_IN(.(T114, T115)) -> U10^1(f611_in(.(T114, T115)), .(T114, T115)) 33.42/10.43 with rule F608_IN(T94) -> U10^1(f611_in(T94), T94) at position [] and matcher [T94 / .(T114, T115)] 33.42/10.43 33.42/10.43 U10^1(f611_in(.(T114, T115)), .(T114, T115)) -> U10^1(f611_out1(T114), .(T114, T115)) 33.42/10.43 with rule f611_in(.(T114', T115')) -> f611_out1(T114') at position [0] and matcher [T114' / T114, T115' / T115] 33.42/10.43 33.42/10.43 U10^1(f611_out1(T114), .(T114, T115)) -> F478_IN(.(T114, T115)) 33.42/10.43 with rule U10^1(f611_out1(T95), T94') -> F478_IN(T94') at position [] and matcher [T95 / T114, T94' / .(T114, T115)] 33.42/10.43 33.42/10.43 F478_IN(.(T114, T115)) -> F608_IN(.(T114, T115)) 33.42/10.43 with rule F478_IN(T94) -> F608_IN(T94) 33.42/10.43 33.42/10.43 Now applying the matcher to the start term leads to a term which is equal to the last term in the rewriting sequence 33.42/10.43 33.42/10.43 33.42/10.43 All these steps are and every following step will be a correct step w.r.t to Q. 33.42/10.43 33.42/10.43 33.42/10.43 33.42/10.43 33.42/10.43 ---------------------------------------- 33.42/10.43 33.42/10.43 (104) 33.42/10.43 NO 33.42/10.43 33.42/10.43 ---------------------------------------- 33.42/10.43 33.42/10.43 (105) 33.42/10.43 Obligation: 33.42/10.43 Q DP problem: 33.42/10.43 The TRS P consists of the following rules: 33.42/10.43 33.42/10.43 F476_IN(.(T70, T71)) -> F476_IN(T71) 33.42/10.43 33.42/10.43 The TRS R consists of the following rules: 33.42/10.43 33.42/10.43 f4_in(T17) -> U1(f224_in(T17), T17) 33.42/10.43 U1(f224_out1, T17) -> f4_out1 33.42/10.43 f4_in(T141) -> f4_out1 33.42/10.43 f476_in(.(T61, T62)) -> f476_out1(T61, T62) 33.42/10.43 f476_in(.(T70, T71)) -> U2(f476_in(T71), .(T70, T71)) 33.42/10.43 U2(f476_out1(T72, X74), .(T70, T71)) -> f476_out1(T72, .(T70, X74)) 33.42/10.43 f478_in(T94) -> U3(f608_in(T94), T94) 33.42/10.43 U3(f608_out1(T95, T96), T94) -> f478_out1(.(T95, T96)) 33.42/10.43 f478_in(T135) -> f478_out1([]) 33.42/10.43 f611_in(.(T114, T115)) -> f611_out1(T114) 33.42/10.43 f611_in(.(T123, T124)) -> U4(f611_in(T124), .(T123, T124)) 33.42/10.43 U4(f611_out1(T125), .(T123, T124)) -> f611_out1(T125) 33.42/10.43 f226_in(T40) -> U5(f470_in(T40), T40) 33.42/10.43 U5(f470_out1(T41, X41, T42), T40) -> f226_out1 33.42/10.43 f224_in(T17) -> U6(f226_in(T17), T17) 33.42/10.43 U6(f226_out1, T17) -> U7(f4_in(T17), T17) 33.42/10.43 U7(f4_out1, T17) -> f224_out1 33.42/10.43 f470_in(T40) -> U8(f476_in(T40), T40) 33.42/10.43 U8(f476_out1(T41, T47), T40) -> U9(f478_in(T47), T40, T41, T47) 33.42/10.43 U9(f478_out1(T48), T40, T41, T47) -> f470_out1(T41, T47, T48) 33.42/10.43 f608_in(T94) -> U10(f611_in(T94), T94) 33.42/10.43 U10(f611_out1(T95), T94) -> U11(f478_in(T94), T94, T95) 33.42/10.43 U11(f478_out1(T101), T94, T95) -> f608_out1(T95, T101) 33.42/10.43 33.42/10.43 Q is empty. 33.42/10.43 We have to consider all minimal (P,Q,R)-chains. 33.42/10.43 ---------------------------------------- 33.42/10.43 33.42/10.43 (106) UsableRulesProof (EQUIVALENT) 33.42/10.43 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. 33.42/10.43 ---------------------------------------- 33.42/10.43 33.42/10.43 (107) 33.42/10.43 Obligation: 33.42/10.43 Q DP problem: 33.42/10.43 The TRS P consists of the following rules: 33.42/10.43 33.42/10.43 F476_IN(.(T70, T71)) -> F476_IN(T71) 33.42/10.43 33.42/10.43 R is empty. 33.42/10.43 Q is empty. 33.42/10.43 We have to consider all minimal (P,Q,R)-chains. 33.42/10.43 ---------------------------------------- 33.42/10.43 33.42/10.43 (108) QDPSizeChangeProof (EQUIVALENT) 33.42/10.43 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. 33.42/10.43 33.42/10.43 From the DPs we obtained the following set of size-change graphs: 33.42/10.43 *F476_IN(.(T70, T71)) -> F476_IN(T71) 33.42/10.43 The graph contains the following edges 1 > 1 33.42/10.43 33.42/10.43 33.42/10.43 ---------------------------------------- 33.42/10.43 33.42/10.43 (109) 33.42/10.43 YES 33.42/10.43 33.42/10.43 ---------------------------------------- 33.42/10.43 33.42/10.43 (110) 33.42/10.43 Obligation: 33.42/10.43 Q DP problem: 33.42/10.43 The TRS P consists of the following rules: 33.42/10.43 33.42/10.43 F4_IN(T17) -> F224_IN(T17) 33.42/10.43 F224_IN(T17) -> U6^1(f226_in(T17), T17) 33.42/10.43 U6^1(f226_out1, T17) -> F4_IN(T17) 33.42/10.43 33.42/10.43 The TRS R consists of the following rules: 33.42/10.43 33.42/10.43 f4_in(T17) -> U1(f224_in(T17), T17) 33.42/10.43 U1(f224_out1, T17) -> f4_out1 33.42/10.43 f4_in(T141) -> f4_out1 33.42/10.43 f476_in(.(T61, T62)) -> f476_out1(T61, T62) 33.42/10.43 f476_in(.(T70, T71)) -> U2(f476_in(T71), .(T70, T71)) 33.42/10.43 U2(f476_out1(T72, X74), .(T70, T71)) -> f476_out1(T72, .(T70, X74)) 33.42/10.43 f478_in(T94) -> U3(f608_in(T94), T94) 33.42/10.43 U3(f608_out1(T95, T96), T94) -> f478_out1(.(T95, T96)) 33.42/10.43 f478_in(T135) -> f478_out1([]) 33.42/10.43 f611_in(.(T114, T115)) -> f611_out1(T114) 33.42/10.43 f611_in(.(T123, T124)) -> U4(f611_in(T124), .(T123, T124)) 33.42/10.43 U4(f611_out1(T125), .(T123, T124)) -> f611_out1(T125) 33.42/10.43 f226_in(T40) -> U5(f470_in(T40), T40) 33.42/10.43 U5(f470_out1(T41, X41, T42), T40) -> f226_out1 33.42/10.43 f224_in(T17) -> U6(f226_in(T17), T17) 33.42/10.43 U6(f226_out1, T17) -> U7(f4_in(T17), T17) 33.42/10.43 U7(f4_out1, T17) -> f224_out1 33.42/10.43 f470_in(T40) -> U8(f476_in(T40), T40) 33.42/10.43 U8(f476_out1(T41, T47), T40) -> U9(f478_in(T47), T40, T41, T47) 33.42/10.43 U9(f478_out1(T48), T40, T41, T47) -> f470_out1(T41, T47, T48) 33.42/10.43 f608_in(T94) -> U10(f611_in(T94), T94) 33.42/10.43 U10(f611_out1(T95), T94) -> U11(f478_in(T94), T94, T95) 33.42/10.43 U11(f478_out1(T101), T94, T95) -> f608_out1(T95, T101) 33.42/10.43 33.42/10.43 Q is empty. 33.42/10.43 We have to consider all minimal (P,Q,R)-chains. 33.42/10.43 ---------------------------------------- 33.42/10.43 33.42/10.43 (111) NonTerminationLoopProof (COMPLETE) 33.42/10.43 We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. 33.42/10.43 Found a loop by narrowing to the left: 33.42/10.43 33.42/10.43 s = F224_IN(.(T61, T62)) evaluates to t =F224_IN(.(T61, T62)) 33.42/10.43 33.42/10.43 Thus s starts an infinite chain as s semiunifies with t with the following substitutions: 33.42/10.43 * Matcher: [ ] 33.42/10.43 * Semiunifier: [ ] 33.42/10.43 33.42/10.43 -------------------------------------------------------------------------------- 33.42/10.43 Rewriting sequence 33.42/10.43 33.42/10.43 F224_IN(.(T61, T62)) -> U6^1(f226_in(.(T61, T62)), .(T61, T62)) 33.42/10.43 with rule F224_IN(T17) -> U6^1(f226_in(T17), T17) at position [] and matcher [T17 / .(T61, T62)] 33.42/10.43 33.42/10.43 U6^1(f226_in(.(T61, T62)), .(T61, T62)) -> U6^1(U5(f470_in(.(T61, T62)), .(T61, T62)), .(T61, T62)) 33.42/10.43 with rule f226_in(T40') -> U5(f470_in(T40'), T40') at position [0] and matcher [T40' / .(T61, T62)] 33.42/10.43 33.42/10.43 U6^1(U5(f470_in(.(T61, T62)), .(T61, T62)), .(T61, T62)) -> U6^1(U5(U8(f476_in(.(T61, T62)), .(T61, T62)), .(T61, T62)), .(T61, T62)) 33.42/10.43 with rule f470_in(T40') -> U8(f476_in(T40'), T40') at position [0,0] and matcher [T40' / .(T61, T62)] 33.42/10.43 33.42/10.43 U6^1(U5(U8(f476_in(.(T61, T62)), .(T61, T62)), .(T61, T62)), .(T61, T62)) -> U6^1(U5(U8(f476_out1(T61, T62), .(T61, T62)), .(T61, T62)), .(T61, T62)) 33.42/10.43 with rule f476_in(.(T61', T62')) -> f476_out1(T61', T62') at position [0,0,0] and matcher [T61' / T61, T62' / T62] 33.42/10.43 33.42/10.43 U6^1(U5(U8(f476_out1(T61, T62), .(T61, T62)), .(T61, T62)), .(T61, T62)) -> U6^1(U5(U9(f478_in(T62), .(T61, T62), T61, T62), .(T61, T62)), .(T61, T62)) 33.42/10.43 with rule U8(f476_out1(T41, T47'), T40'') -> U9(f478_in(T47'), T40'', T41, T47') at position [0,0] and matcher [T41 / T61, T47' / T62, T40'' / .(T61, T62)] 33.42/10.43 33.42/10.43 U6^1(U5(U9(f478_in(T62), .(T61, T62), T61, T62), .(T61, T62)), .(T61, T62)) -> U6^1(U5(U9(f478_out1([]), .(T61, T62), T61, T62), .(T61, T62)), .(T61, T62)) 33.42/10.43 with rule f478_in(T135) -> f478_out1([]) at position [0,0,0] and matcher [T135 / T62] 33.42/10.43 33.42/10.43 U6^1(U5(U9(f478_out1([]), .(T61, T62), T61, T62), .(T61, T62)), .(T61, T62)) -> U6^1(U5(f470_out1(T61, T62, []), .(T61, T62)), .(T61, T62)) 33.42/10.43 with rule U9(f478_out1(T48), T40', T41', T47) -> f470_out1(T41', T47, T48) at position [0,0] and matcher [T48 / [], T40' / .(T61, T62), T41' / T61, T47 / T62] 33.42/10.43 33.42/10.43 U6^1(U5(f470_out1(T61, T62, []), .(T61, T62)), .(T61, T62)) -> U6^1(f226_out1, .(T61, T62)) 33.42/10.43 with rule U5(f470_out1(T41, X41, T42), T40) -> f226_out1 at position [0] and matcher [T41 / T61, X41 / T62, T42 / [], T40 / .(T61, T62)] 33.42/10.43 33.42/10.43 U6^1(f226_out1, .(T61, T62)) -> F4_IN(.(T61, T62)) 33.42/10.43 with rule U6^1(f226_out1, T17') -> F4_IN(T17') at position [] and matcher [T17' / .(T61, T62)] 33.42/10.43 33.42/10.43 F4_IN(.(T61, T62)) -> F224_IN(.(T61, T62)) 33.42/10.43 with rule F4_IN(T17) -> F224_IN(T17) 33.42/10.43 33.42/10.43 Now applying the matcher to the start term leads to a term which is equal to the last term in the rewriting sequence 33.42/10.43 33.42/10.43 33.42/10.43 All these steps are and every following step will be a correct step w.r.t to Q. 33.42/10.43 33.42/10.43 33.42/10.43 33.42/10.43 33.42/10.43 ---------------------------------------- 33.42/10.43 33.42/10.43 (112) 33.42/10.43 NO 33.42/10.43 33.42/10.43 ---------------------------------------- 33.42/10.43 33.42/10.43 (113) PrologToIRSwTTransformerProof (SOUND) 33.42/10.43 Transformed Prolog program to IRSwT according to method in Master Thesis of A. Weinert 33.42/10.43 33.42/10.43 { 33.42/10.43 "root": 6, 33.42/10.43 "program": { 33.42/10.43 "directives": [], 33.42/10.43 "clauses": [ 33.42/10.43 [ 33.42/10.43 "(color_map (. Region Regions) Colors)", 33.42/10.43 "(',' (color_region Region Colors) (color_map Regions Colors))" 33.42/10.43 ], 33.42/10.43 [ 33.42/10.43 "(color_map ([]) Colors)", 33.42/10.43 null 33.42/10.43 ], 33.42/10.43 [ 33.42/10.43 "(color_region (region Name Color Neighbors) Colors)", 33.42/10.43 "(',' (select Color Colors Colors1) (members Neighbors Colors1))" 33.42/10.43 ], 33.42/10.43 [ 33.42/10.43 "(select X (. X Xs) Xs)", 33.42/10.43 null 33.42/10.43 ], 33.42/10.43 [ 33.42/10.43 "(select X (. Y Ys) (. Y Zs))", 33.42/10.43 "(select X Ys Zs)" 33.42/10.43 ], 33.42/10.43 [ 33.42/10.43 "(members (. X Xs) Ys)", 33.42/10.43 "(',' (member X Ys) (members Xs Ys))" 33.42/10.43 ], 33.42/10.43 [ 33.42/10.43 "(members ([]) Ys)", 33.42/10.43 null 33.42/10.43 ], 33.42/10.43 [ 33.42/10.43 "(member X (. X X1))", 33.42/10.43 null 33.42/10.43 ], 33.42/10.43 [ 33.42/10.43 "(member X (. X2 T))", 33.42/10.43 "(member X T)" 33.42/10.43 ], 33.42/10.43 [ 33.42/10.43 "(test_color Name Map)", 33.42/10.43 "(',' (map Name Map) (',' (colors Name Colors) (color_map Map Colors)))" 33.42/10.43 ], 33.42/10.43 [ 33.42/10.43 "(map (test) (. (region (a) A (. B (. C (. D ([]))))) (. (region (b) B (. A (. C (. E ([]))))) (. (region (c) C (. A (. B (. D (. E (. F ([]))))))) (. (region (d) D (. A (. C (. F ([]))))) (. (region (e) E (. B (. C (. F ([]))))) (. (region (f) F (. C (. D (. E ([]))))) ([]))))))))", 33.42/10.43 null 33.42/10.43 ], 33.42/10.43 [ 33.42/10.43 "(map (west_europe) (. (region (portugal) P (. E ([]))) (. (region (spain) E (. F (. P ([])))) (. (region (france) F (. E (. I (. S (. B (. WG (. L ([])))))))) (. (region (belgium) B (. F (. H (. L (. WG ([])))))) (. (region (holland) H (. B (. WG ([])))) (. (region (west_germany) WG (. F (. A (. S (. H (. B (. L ([])))))))) (. (region (luxembourg) L (. F (. B (. WG ([]))))) (. (region (italy) I (. F (. A (. S ([]))))) (. (region (switzerland) S (. F (. I (. A (. WG ([])))))) (. (region (austria) A (. I (. S (. WG ([]))))) ([]))))))))))))", 33.42/10.43 null 33.42/10.43 ], 33.42/10.43 [ 33.42/10.43 "(colors X (. (red) (. (yellow) (. (blue) (. (white) ([]))))))", 33.42/10.43 null 33.42/10.43 ] 33.42/10.43 ] 33.42/10.43 }, 33.42/10.43 "graph": { 33.42/10.43 "nodes": { 33.42/10.43 "391": { 33.42/10.43 "goal": [{ 33.42/10.43 "clause": -1, 33.42/10.43 "scope": -1, 33.42/10.43 "term": "(members T48 T47)" 33.42/10.43 }], 33.42/10.43 "kb": { 33.42/10.43 "nonunifying": [], 33.42/10.43 "intvars": {}, 33.42/10.43 "arithmetic": { 33.42/10.43 "type": "PlainIntegerRelationState", 33.42/10.43 "relations": [] 33.42/10.43 }, 33.42/10.43 "ground": ["T47"], 33.42/10.43 "free": [], 33.42/10.43 "exprvars": [] 33.42/10.43 } 33.42/10.43 }, 33.42/10.43 "type": "Nodes", 33.42/10.43 "590": { 33.42/10.43 "goal": [], 33.42/10.43 "kb": { 33.42/10.43 "nonunifying": [], 33.42/10.43 "intvars": {}, 33.42/10.43 "arithmetic": { 33.42/10.43 "type": "PlainIntegerRelationState", 33.42/10.43 "relations": [] 33.42/10.43 }, 33.42/10.43 "ground": [], 33.42/10.43 "free": [], 33.42/10.43 "exprvars": [] 33.42/10.43 } 33.42/10.43 }, 33.42/10.43 "570": { 33.42/10.43 "goal": [{ 33.42/10.43 "clause": -1, 33.42/10.43 "scope": -1, 33.42/10.43 "term": "(',' (member T95 T94) (members T96 T94))" 33.42/10.43 }], 33.42/10.43 "kb": { 33.42/10.43 "nonunifying": [], 33.42/10.43 "intvars": {}, 33.42/10.43 "arithmetic": { 33.42/10.43 "type": "PlainIntegerRelationState", 33.42/10.43 "relations": [] 33.42/10.43 }, 33.42/10.43 "ground": ["T94"], 33.42/10.43 "free": [], 33.42/10.43 "exprvars": [] 33.42/10.43 } 33.42/10.43 }, 33.42/10.43 "450": { 33.42/10.43 "goal": [{ 33.42/10.43 "clause": 4, 33.42/10.43 "scope": 3, 33.42/10.43 "term": "(select T41 T40 X41)" 33.42/10.43 }], 33.42/10.43 "kb": { 33.42/10.43 "nonunifying": [], 33.42/10.43 "intvars": {}, 33.42/10.43 "arithmetic": { 33.42/10.43 "type": "PlainIntegerRelationState", 33.42/10.43 "relations": [] 33.42/10.43 }, 33.42/10.43 "ground": ["T40"], 33.42/10.43 "free": ["X41"], 33.42/10.43 "exprvars": [] 33.42/10.43 } 33.42/10.43 }, 33.42/10.43 "571": { 33.42/10.43 "goal": [], 33.42/10.43 "kb": { 33.42/10.43 "nonunifying": [], 33.42/10.43 "intvars": {}, 33.42/10.43 "arithmetic": { 33.42/10.43 "type": "PlainIntegerRelationState", 33.42/10.43 "relations": [] 33.42/10.43 }, 33.42/10.43 "ground": [], 33.42/10.43 "free": [], 33.42/10.43 "exprvars": [] 33.42/10.43 } 33.42/10.43 }, 33.42/10.43 "572": { 33.42/10.43 "goal": [{ 33.42/10.43 "clause": -1, 33.42/10.43 "scope": -1, 33.42/10.43 "term": "(member T95 T94)" 33.42/10.43 }], 33.42/10.43 "kb": { 33.42/10.43 "nonunifying": [], 33.42/10.43 "intvars": {}, 33.42/10.43 "arithmetic": { 33.42/10.43 "type": "PlainIntegerRelationState", 33.42/10.43 "relations": [] 33.42/10.43 }, 33.42/10.43 "ground": ["T94"], 33.42/10.43 "free": [], 33.42/10.43 "exprvars": [] 33.42/10.43 } 33.42/10.43 }, 33.42/10.43 "573": { 33.42/10.43 "goal": [{ 33.42/10.43 "clause": -1, 33.42/10.43 "scope": -1, 33.42/10.43 "term": "(members T101 T94)" 33.42/10.43 }], 33.42/10.43 "kb": { 33.42/10.43 "nonunifying": [], 33.42/10.43 "intvars": {}, 33.42/10.43 "arithmetic": { 33.42/10.43 "type": "PlainIntegerRelationState", 33.42/10.43 "relations": [] 33.42/10.43 }, 33.42/10.43 "ground": ["T94"], 33.42/10.43 "free": [], 33.42/10.43 "exprvars": [] 33.42/10.43 } 33.42/10.43 }, 33.42/10.43 "574": { 33.42/10.43 "goal": [ 33.42/10.43 { 33.42/10.43 "clause": 7, 33.42/10.43 "scope": 5, 33.42/10.43 "term": "(member T95 T94)" 33.42/10.43 }, 33.42/10.43 { 33.42/10.43 "clause": 8, 33.42/10.43 "scope": 5, 33.42/10.43 "term": "(member T95 T94)" 33.42/10.43 } 33.42/10.43 ], 33.42/10.43 "kb": { 33.42/10.43 "nonunifying": [], 33.42/10.43 "intvars": {}, 33.42/10.43 "arithmetic": { 33.42/10.43 "type": "PlainIntegerRelationState", 33.42/10.43 "relations": [] 33.42/10.43 }, 33.42/10.43 "ground": ["T94"], 33.42/10.43 "free": [], 33.42/10.43 "exprvars": [] 33.42/10.43 } 33.42/10.43 }, 33.42/10.43 "575": { 33.42/10.43 "goal": [{ 33.42/10.43 "clause": 7, 33.42/10.43 "scope": 5, 33.42/10.43 "term": "(member T95 T94)" 33.42/10.43 }], 33.42/10.43 "kb": { 33.42/10.43 "nonunifying": [], 33.42/10.43 "intvars": {}, 33.42/10.43 "arithmetic": { 33.42/10.43 "type": "PlainIntegerRelationState", 33.42/10.43 "relations": [] 33.42/10.43 }, 33.42/10.43 "ground": ["T94"], 33.42/10.43 "free": [], 33.42/10.43 "exprvars": [] 33.42/10.43 } 33.42/10.43 }, 33.42/10.43 "576": { 33.42/10.43 "goal": [{ 33.42/10.43 "clause": 8, 33.42/10.43 "scope": 5, 33.42/10.43 "term": "(member T95 T94)" 33.42/10.43 }], 33.42/10.43 "kb": { 33.42/10.43 "nonunifying": [], 33.42/10.43 "intvars": {}, 33.42/10.43 "arithmetic": { 33.42/10.43 "type": "PlainIntegerRelationState", 33.42/10.43 "relations": [] 33.42/10.43 }, 33.42/10.43 "ground": ["T94"], 33.42/10.43 "free": [], 33.42/10.43 "exprvars": [] 33.42/10.43 } 33.42/10.43 }, 33.42/10.43 "577": { 33.42/10.43 "goal": [{ 33.42/10.43 "clause": -1, 33.42/10.43 "scope": -1, 33.42/10.43 "term": "(true)" 33.42/10.43 }], 33.42/10.43 "kb": { 33.42/10.43 "nonunifying": [], 33.42/10.43 "intvars": {}, 33.42/10.43 "arithmetic": { 33.42/10.43 "type": "PlainIntegerRelationState", 33.42/10.43 "relations": [] 33.42/10.43 }, 33.42/10.43 "ground": [], 33.42/10.43 "free": [], 33.42/10.43 "exprvars": [] 33.42/10.43 } 33.42/10.43 }, 33.42/10.43 "259": { 33.42/10.43 "goal": [{ 33.42/10.43 "clause": 2, 33.42/10.43 "scope": 2, 33.42/10.43 "term": "(color_region T18 T17)" 33.42/10.43 }], 33.42/10.43 "kb": { 33.42/10.43 "nonunifying": [], 33.42/10.43 "intvars": {}, 33.42/10.43 "arithmetic": { 33.42/10.43 "type": "PlainIntegerRelationState", 33.42/10.43 "relations": [] 33.42/10.43 }, 33.42/10.43 "ground": ["T17"], 33.42/10.43 "free": [], 33.42/10.43 "exprvars": [] 33.42/10.43 } 33.42/10.43 }, 33.42/10.43 "435": { 33.42/10.43 "goal": [ 33.42/10.43 { 33.42/10.43 "clause": 3, 33.42/10.43 "scope": 3, 33.42/10.43 "term": "(select T41 T40 X41)" 33.42/10.43 }, 33.42/10.43 { 33.42/10.43 "clause": 4, 33.42/10.43 "scope": 3, 33.42/10.43 "term": "(select T41 T40 X41)" 33.42/10.43 } 33.42/10.43 ], 33.42/10.43 "kb": { 33.42/10.43 "nonunifying": [], 33.42/10.43 "intvars": {}, 33.42/10.43 "arithmetic": { 33.42/10.43 "type": "PlainIntegerRelationState", 33.42/10.43 "relations": [] 33.42/10.43 }, 33.42/10.43 "ground": ["T40"], 33.42/10.43 "free": ["X41"], 33.42/10.43 "exprvars": [] 33.42/10.43 } 33.42/10.43 }, 33.42/10.43 "578": { 33.42/10.43 "goal": [], 33.42/10.43 "kb": { 33.42/10.43 "nonunifying": [], 33.42/10.43 "intvars": {}, 33.42/10.43 "arithmetic": { 33.42/10.43 "type": "PlainIntegerRelationState", 33.42/10.43 "relations": [] 33.42/10.43 }, 33.42/10.43 "ground": [], 33.42/10.43 "free": [], 33.42/10.43 "exprvars": [] 33.42/10.43 } 33.42/10.43 }, 33.42/10.43 "579": { 33.42/10.43 "goal": [], 33.42/10.43 "kb": { 33.42/10.43 "nonunifying": [], 33.42/10.43 "intvars": {}, 33.42/10.43 "arithmetic": { 33.42/10.43 "type": "PlainIntegerRelationState", 33.42/10.43 "relations": [] 33.42/10.43 }, 33.42/10.43 "ground": [], 33.42/10.43 "free": [], 33.42/10.43 "exprvars": [] 33.42/10.43 } 33.42/10.43 }, 33.42/10.43 "459": { 33.42/10.43 "goal": [{ 33.42/10.43 "clause": -1, 33.42/10.43 "scope": -1, 33.42/10.43 "term": "(true)" 33.42/10.43 }], 33.42/10.43 "kb": { 33.42/10.43 "nonunifying": [], 33.42/10.43 "intvars": {}, 33.42/10.43 "arithmetic": { 33.42/10.43 "type": "PlainIntegerRelationState", 33.42/10.43 "relations": [] 33.42/10.43 }, 33.42/10.43 "ground": [], 33.42/10.43 "free": [], 33.42/10.43 "exprvars": [] 33.42/10.43 } 33.42/10.43 }, 33.42/10.43 "219": { 33.42/10.43 "goal": [{ 33.42/10.43 "clause": -1, 33.42/10.43 "scope": -1, 33.42/10.43 "term": "(color_region T18 T17)" 33.42/10.43 }], 33.42/10.43 "kb": { 33.42/10.43 "nonunifying": [], 33.42/10.43 "intvars": {}, 33.42/10.43 "arithmetic": { 33.42/10.43 "type": "PlainIntegerRelationState", 33.42/10.43 "relations": [] 33.42/10.43 }, 33.42/10.43 "ground": ["T17"], 33.42/10.43 "free": [], 33.42/10.43 "exprvars": [] 33.42/10.43 } 33.42/10.43 }, 33.42/10.43 "34": { 33.42/10.43 "goal": [{ 33.42/10.43 "clause": -1, 33.42/10.43 "scope": -1, 33.42/10.43 "term": "(',' (color_region T18 T17) (color_map T19 T17))" 33.42/10.43 }], 33.42/10.43 "kb": { 33.42/10.43 "nonunifying": [], 33.42/10.43 "intvars": {}, 33.42/10.43 "arithmetic": { 33.42/10.43 "type": "PlainIntegerRelationState", 33.42/10.43 "relations": [] 33.42/10.43 }, 33.42/10.43 "ground": ["T17"], 33.42/10.43 "free": [], 33.42/10.43 "exprvars": [] 33.42/10.43 } 33.42/10.43 }, 33.42/10.43 "35": { 33.42/10.43 "goal": [], 33.42/10.43 "kb": { 33.42/10.43 "nonunifying": [], 33.42/10.43 "intvars": {}, 33.42/10.43 "arithmetic": { 33.42/10.43 "type": "PlainIntegerRelationState", 33.42/10.43 "relations": [] 33.42/10.43 }, 33.42/10.43 "ground": [], 33.42/10.43 "free": [], 33.42/10.43 "exprvars": [] 33.42/10.43 } 33.42/10.43 }, 33.42/10.43 "580": { 33.42/10.43 "goal": [{ 33.42/10.43 "clause": -1, 33.42/10.43 "scope": -1, 33.42/10.43 "term": "(member T125 T124)" 33.42/10.43 }], 33.42/10.43 "kb": { 33.42/10.43 "nonunifying": [], 33.42/10.43 "intvars": {}, 33.42/10.43 "arithmetic": { 33.42/10.43 "type": "PlainIntegerRelationState", 33.42/10.43 "relations": [] 33.42/10.43 }, 33.42/10.43 "ground": ["T124"], 33.42/10.43 "free": [], 33.42/10.43 "exprvars": [] 33.42/10.43 } 33.42/10.43 }, 33.42/10.43 "581": { 33.42/10.43 "goal": [], 33.42/10.43 "kb": { 33.42/10.43 "nonunifying": [], 33.42/10.43 "intvars": {}, 33.42/10.43 "arithmetic": { 33.42/10.43 "type": "PlainIntegerRelationState", 33.42/10.43 "relations": [] 33.42/10.43 }, 33.42/10.43 "ground": [], 33.42/10.43 "free": [], 33.42/10.43 "exprvars": [] 33.42/10.43 } 33.42/10.43 }, 33.42/10.43 "582": { 33.42/10.43 "goal": [{ 33.42/10.43 "clause": -1, 33.42/10.43 "scope": -1, 33.42/10.43 "term": "(true)" 33.42/10.43 }], 33.42/10.43 "kb": { 33.42/10.43 "nonunifying": [], 33.42/10.43 "intvars": {}, 33.42/10.43 "arithmetic": { 33.42/10.43 "type": "PlainIntegerRelationState", 33.42/10.43 "relations": [] 33.42/10.43 }, 33.42/10.43 "ground": [], 33.42/10.43 "free": [], 33.42/10.43 "exprvars": [] 33.42/10.43 } 33.42/10.43 }, 33.42/10.43 "583": { 33.42/10.43 "goal": [], 33.42/10.43 "kb": { 33.42/10.43 "nonunifying": [], 33.42/10.43 "intvars": {}, 33.42/10.43 "arithmetic": { 33.42/10.43 "type": "PlainIntegerRelationState", 33.42/10.43 "relations": [] 33.42/10.43 }, 33.42/10.43 "ground": [], 33.42/10.43 "free": [], 33.42/10.43 "exprvars": [] 33.42/10.43 } 33.42/10.43 }, 33.42/10.43 "221": { 33.42/10.43 "goal": [{ 33.42/10.43 "clause": -1, 33.42/10.43 "scope": -1, 33.42/10.43 "term": "(color_map T24 T17)" 33.42/10.43 }], 33.42/10.43 "kb": { 33.42/10.43 "nonunifying": [], 33.42/10.43 "intvars": {}, 33.42/10.43 "arithmetic": { 33.42/10.43 "type": "PlainIntegerRelationState", 33.42/10.43 "relations": [] 33.42/10.43 }, 33.42/10.43 "ground": ["T17"], 33.42/10.43 "free": [], 33.42/10.43 "exprvars": [] 33.42/10.43 } 33.42/10.43 }, 33.42/10.43 "540": { 33.42/10.43 "goal": [{ 33.42/10.43 "clause": -1, 33.42/10.43 "scope": -1, 33.42/10.43 "term": "(select T72 T71 X74)" 33.42/10.43 }], 33.42/10.43 "kb": { 33.42/10.43 "nonunifying": [], 33.42/10.43 "intvars": {}, 33.42/10.43 "arithmetic": { 33.42/10.43 "type": "PlainIntegerRelationState", 33.42/10.43 "relations": [] 33.42/10.43 }, 33.42/10.43 "ground": ["T71"], 33.42/10.43 "free": ["X74"], 33.42/10.43 "exprvars": [] 33.42/10.43 } 33.42/10.43 }, 33.42/10.43 "584": { 33.42/10.43 "goal": [], 33.42/10.43 "kb": { 33.42/10.43 "nonunifying": [], 33.42/10.43 "intvars": {}, 33.42/10.43 "arithmetic": { 33.42/10.43 "type": "PlainIntegerRelationState", 33.42/10.43 "relations": [] 33.42/10.43 }, 33.42/10.43 "ground": [], 33.42/10.43 "free": [], 33.42/10.43 "exprvars": [] 33.42/10.43 } 33.42/10.43 }, 33.42/10.43 "541": { 33.42/10.43 "goal": [], 33.42/10.43 "kb": { 33.42/10.43 "nonunifying": [], 33.42/10.43 "intvars": {}, 33.42/10.43 "arithmetic": { 33.42/10.43 "type": "PlainIntegerRelationState", 33.42/10.43 "relations": [] 33.42/10.43 }, 33.42/10.43 "ground": [], 33.42/10.43 "free": [], 33.42/10.43 "exprvars": [] 33.42/10.43 } 33.42/10.43 }, 33.42/10.43 "322": { 33.42/10.43 "goal": [], 33.42/10.43 "kb": { 33.42/10.43 "nonunifying": [], 33.42/10.43 "intvars": {}, 33.42/10.43 "arithmetic": { 33.42/10.43 "type": "PlainIntegerRelationState", 33.42/10.43 "relations": [] 33.42/10.43 }, 33.42/10.43 "ground": [], 33.42/10.43 "free": [], 33.42/10.43 "exprvars": [] 33.42/10.43 } 33.42/10.43 }, 33.42/10.43 "388": { 33.42/10.43 "goal": [{ 33.42/10.43 "clause": -1, 33.42/10.43 "scope": -1, 33.42/10.43 "term": "(select T41 T40 X41)" 33.42/10.43 }], 33.42/10.43 "kb": { 33.42/10.43 "nonunifying": [], 33.42/10.43 "intvars": {}, 33.42/10.43 "arithmetic": { 33.42/10.43 "type": "PlainIntegerRelationState", 33.42/10.43 "relations": [] 33.42/10.43 }, 33.42/10.43 "ground": ["T40"], 33.42/10.43 "free": ["X41"], 33.42/10.43 "exprvars": [] 33.42/10.43 } 33.42/10.43 }, 33.42/10.43 "465": { 33.42/10.43 "goal": [], 33.42/10.43 "kb": { 33.42/10.43 "nonunifying": [], 33.42/10.43 "intvars": {}, 33.42/10.43 "arithmetic": { 33.42/10.43 "type": "PlainIntegerRelationState", 33.42/10.43 "relations": [] 33.42/10.43 }, 33.42/10.43 "ground": [], 33.42/10.43 "free": [], 33.42/10.43 "exprvars": [] 33.42/10.43 } 33.42/10.43 }, 33.42/10.43 "466": { 33.42/10.43 "goal": [], 33.42/10.43 "kb": { 33.42/10.43 "nonunifying": [], 33.42/10.43 "intvars": {}, 33.42/10.43 "arithmetic": { 33.42/10.43 "type": "PlainIntegerRelationState", 33.42/10.43 "relations": [] 33.42/10.43 }, 33.42/10.43 "ground": [], 33.42/10.43 "free": [], 33.42/10.43 "exprvars": [] 33.42/10.43 } 33.42/10.43 }, 33.42/10.43 "588": { 33.42/10.43 "goal": [{ 33.42/10.43 "clause": -1, 33.42/10.43 "scope": -1, 33.42/10.43 "term": "(true)" 33.42/10.43 }], 33.42/10.43 "kb": { 33.42/10.43 "nonunifying": [], 33.42/10.43 "intvars": {}, 33.42/10.43 "arithmetic": { 33.42/10.43 "type": "PlainIntegerRelationState", 33.42/10.43 "relations": [] 33.42/10.43 }, 33.42/10.43 "ground": [], 33.42/10.43 "free": [], 33.42/10.43 "exprvars": [] 33.42/10.43 } 33.42/10.43 }, 33.42/10.43 "6": { 33.42/10.43 "goal": [{ 33.42/10.43 "clause": -1, 33.42/10.43 "scope": -1, 33.42/10.43 "term": "(color_map T1 T2)" 33.42/10.43 }], 33.42/10.43 "kb": { 33.42/10.43 "nonunifying": [], 33.42/10.43 "intvars": {}, 33.42/10.43 "arithmetic": { 33.42/10.43 "type": "PlainIntegerRelationState", 33.42/10.43 "relations": [] 33.42/10.43 }, 33.42/10.43 "ground": ["T2"], 33.42/10.43 "free": [], 33.42/10.43 "exprvars": [] 33.42/10.43 } 33.42/10.43 }, 33.42/10.43 "446": { 33.42/10.43 "goal": [{ 33.42/10.43 "clause": 3, 33.42/10.43 "scope": 3, 33.42/10.43 "term": "(select T41 T40 X41)" 33.42/10.43 }], 33.42/10.43 "kb": { 33.42/10.43 "nonunifying": [], 33.42/10.43 "intvars": {}, 33.42/10.43 "arithmetic": { 33.42/10.43 "type": "PlainIntegerRelationState", 33.42/10.43 "relations": [] 33.42/10.43 }, 33.42/10.43 "ground": ["T40"], 33.42/10.43 "free": ["X41"], 33.42/10.43 "exprvars": [] 33.42/10.43 } 33.42/10.43 }, 33.42/10.43 "567": { 33.42/10.43 "goal": [ 33.42/10.43 { 33.42/10.43 "clause": 5, 33.42/10.43 "scope": 4, 33.42/10.43 "term": "(members T48 T47)" 33.42/10.43 }, 33.42/10.43 { 33.42/10.43 "clause": 6, 33.42/10.43 "scope": 4, 33.42/10.43 "term": "(members T48 T47)" 33.42/10.43 } 33.42/10.43 ], 33.42/10.43 "kb": { 33.42/10.43 "nonunifying": [], 33.42/10.43 "intvars": {}, 33.42/10.43 "arithmetic": { 33.42/10.43 "type": "PlainIntegerRelationState", 33.42/10.43 "relations": [] 33.42/10.43 }, 33.42/10.43 "ground": ["T47"], 33.42/10.43 "free": [], 33.42/10.43 "exprvars": [] 33.42/10.43 } 33.42/10.43 }, 33.42/10.43 "589": { 33.42/10.43 "goal": [], 33.42/10.43 "kb": { 33.42/10.43 "nonunifying": [], 33.42/10.43 "intvars": {}, 33.42/10.43 "arithmetic": { 33.42/10.43 "type": "PlainIntegerRelationState", 33.42/10.43 "relations": [] 33.42/10.44 }, 33.42/10.44 "ground": [], 33.42/10.44 "free": [], 33.42/10.44 "exprvars": [] 33.42/10.44 } 33.42/10.44 }, 33.42/10.44 "7": { 33.42/10.44 "goal": [ 33.42/10.44 { 33.42/10.44 "clause": 0, 33.42/10.44 "scope": 1, 33.42/10.44 "term": "(color_map T1 T2)" 33.42/10.44 }, 33.42/10.44 { 33.42/10.44 "clause": 1, 33.42/10.44 "scope": 1, 33.42/10.44 "term": "(color_map T1 T2)" 33.42/10.44 } 33.42/10.44 ], 33.42/10.44 "kb": { 33.42/10.44 "nonunifying": [], 33.42/10.44 "intvars": {}, 33.42/10.44 "arithmetic": { 33.42/10.44 "type": "PlainIntegerRelationState", 33.42/10.44 "relations": [] 33.42/10.44 }, 33.42/10.44 "ground": ["T2"], 33.42/10.44 "free": [], 33.42/10.44 "exprvars": [] 33.42/10.44 } 33.42/10.44 }, 33.42/10.44 "568": { 33.42/10.44 "goal": [{ 33.42/10.44 "clause": 5, 33.42/10.44 "scope": 4, 33.42/10.44 "term": "(members T48 T47)" 33.42/10.44 }], 33.42/10.44 "kb": { 33.42/10.44 "nonunifying": [], 33.42/10.44 "intvars": {}, 33.42/10.44 "arithmetic": { 33.42/10.44 "type": "PlainIntegerRelationState", 33.42/10.44 "relations": [] 33.42/10.44 }, 33.42/10.44 "ground": ["T47"], 33.42/10.44 "free": [], 33.42/10.44 "exprvars": [] 33.42/10.44 } 33.42/10.44 }, 33.42/10.44 "8": { 33.42/10.44 "goal": [{ 33.42/10.44 "clause": 0, 33.42/10.44 "scope": 1, 33.42/10.44 "term": "(color_map T1 T2)" 33.42/10.44 }], 33.42/10.44 "kb": { 33.42/10.44 "nonunifying": [], 33.42/10.44 "intvars": {}, 33.42/10.44 "arithmetic": { 33.42/10.44 "type": "PlainIntegerRelationState", 33.42/10.44 "relations": [] 33.42/10.44 }, 33.42/10.44 "ground": ["T2"], 33.42/10.44 "free": [], 33.42/10.44 "exprvars": [] 33.42/10.44 } 33.42/10.44 }, 33.42/10.44 "569": { 33.42/10.44 "goal": [{ 33.42/10.44 "clause": 6, 33.42/10.44 "scope": 4, 33.42/10.44 "term": "(members T48 T47)" 33.42/10.44 }], 33.42/10.44 "kb": { 33.42/10.44 "nonunifying": [], 33.42/10.44 "intvars": {}, 33.42/10.44 "arithmetic": { 33.42/10.44 "type": "PlainIntegerRelationState", 33.42/10.44 "relations": [] 33.42/10.44 }, 33.42/10.44 "ground": ["T47"], 33.42/10.44 "free": [], 33.42/10.44 "exprvars": [] 33.42/10.44 } 33.42/10.44 }, 33.42/10.44 "9": { 33.42/10.44 "goal": [{ 33.42/10.44 "clause": 1, 33.42/10.44 "scope": 1, 33.42/10.44 "term": "(color_map T1 T2)" 33.42/10.44 }], 33.42/10.44 "kb": { 33.42/10.44 "nonunifying": [], 33.42/10.44 "intvars": {}, 33.42/10.44 "arithmetic": { 33.42/10.44 "type": "PlainIntegerRelationState", 33.42/10.44 "relations": [] 33.42/10.44 }, 33.42/10.44 "ground": ["T2"], 33.42/10.44 "free": [], 33.42/10.44 "exprvars": [] 33.42/10.44 } 33.42/10.44 }, 33.42/10.44 "309": { 33.42/10.44 "goal": [{ 33.42/10.44 "clause": -1, 33.42/10.44 "scope": -1, 33.42/10.44 "term": "(',' (select T41 T40 X41) (members T42 X41))" 33.42/10.44 }], 33.42/10.44 "kb": { 33.42/10.44 "nonunifying": [], 33.42/10.44 "intvars": {}, 33.42/10.44 "arithmetic": { 33.42/10.44 "type": "PlainIntegerRelationState", 33.42/10.44 "relations": [] 33.42/10.44 }, 33.42/10.44 "ground": ["T40"], 33.42/10.44 "free": ["X41"], 33.42/10.44 "exprvars": [] 33.42/10.44 } 33.42/10.44 } 33.42/10.44 }, 33.42/10.44 "edges": [ 33.42/10.44 { 33.42/10.44 "from": 6, 33.42/10.44 "to": 7, 33.42/10.44 "label": "CASE" 33.42/10.44 }, 33.42/10.44 { 33.42/10.44 "from": 7, 33.42/10.44 "to": 8, 33.42/10.44 "label": "PARALLEL" 33.42/10.44 }, 33.42/10.44 { 33.42/10.44 "from": 7, 33.42/10.44 "to": 9, 33.42/10.44 "label": "PARALLEL" 33.42/10.44 }, 33.42/10.44 { 33.42/10.44 "from": 8, 33.42/10.44 "to": 34, 33.42/10.44 "label": "EVAL with clause\ncolor_map(.(X15, X16), X17) :- ','(color_region(X15, X17), color_map(X16, X17)).\nand substitutionX15 -> T18,\nX16 -> T19,\nT1 -> .(T18, T19),\nT2 -> T17,\nX17 -> T17,\nT15 -> T18,\nT16 -> T19" 33.42/10.44 }, 33.42/10.44 { 33.42/10.44 "from": 8, 33.42/10.44 "to": 35, 33.42/10.44 "label": "EVAL-BACKTRACK" 33.42/10.44 }, 33.42/10.44 { 33.42/10.44 "from": 9, 33.42/10.44 "to": 588, 33.42/10.44 "label": "EVAL with clause\ncolor_map([], X139).\nand substitutionT1 -> [],\nT2 -> T141,\nX139 -> T141" 33.42/10.44 }, 33.42/10.44 { 33.42/10.44 "from": 9, 33.42/10.44 "to": 589, 33.42/10.44 "label": "EVAL-BACKTRACK" 33.42/10.44 }, 33.42/10.44 { 33.42/10.44 "from": 34, 33.42/10.44 "to": 219, 33.42/10.44 "label": "SPLIT 1" 33.42/10.44 }, 33.42/10.44 { 33.42/10.44 "from": 34, 33.42/10.44 "to": 221, 33.42/10.44 "label": "SPLIT 2\nnew knowledge:\nT17 is ground\nreplacements:T19 -> T24" 33.42/10.44 }, 33.42/10.44 { 33.42/10.44 "from": 219, 33.42/10.44 "to": 259, 33.42/10.44 "label": "CASE" 33.42/10.44 }, 33.42/10.44 { 33.42/10.44 "from": 221, 33.42/10.44 "to": 6, 33.42/10.44 "label": "INSTANCE with matching:\nT1 -> T24\nT2 -> T17" 33.42/10.44 }, 33.42/10.44 { 33.42/10.44 "from": 259, 33.42/10.44 "to": 309, 33.42/10.44 "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" 33.42/10.44 }, 33.42/10.44 { 33.42/10.44 "from": 259, 33.42/10.44 "to": 322, 33.42/10.44 "label": "EVAL-BACKTRACK" 33.42/10.44 }, 33.42/10.44 { 33.42/10.44 "from": 309, 33.42/10.44 "to": 388, 33.42/10.44 "label": "SPLIT 1" 33.42/10.44 }, 33.42/10.44 { 33.42/10.44 "from": 309, 33.42/10.44 "to": 391, 33.42/10.44 "label": "SPLIT 2\nnew knowledge:\nT41 is ground\nT40 is ground\nT47 is ground\nreplacements:X41 -> T47,\nT42 -> T48" 33.42/10.44 }, 33.42/10.44 { 33.42/10.44 "from": 388, 33.42/10.44 "to": 435, 33.42/10.44 "label": "CASE" 33.42/10.44 }, 33.42/10.44 { 33.42/10.44 "from": 391, 33.42/10.44 "to": 567, 33.42/10.44 "label": "CASE" 33.42/10.44 }, 33.42/10.44 { 33.42/10.44 "from": 435, 33.42/10.44 "to": 446, 33.42/10.44 "label": "PARALLEL" 33.42/10.44 }, 33.42/10.44 { 33.42/10.44 "from": 435, 33.42/10.44 "to": 450, 33.42/10.44 "label": "PARALLEL" 33.42/10.44 }, 33.42/10.44 { 33.42/10.44 "from": 446, 33.42/10.44 "to": 459, 33.42/10.44 "label": "EVAL with clause\nselect(X58, .(X58, X59), X59).\nand substitutionT41 -> T61,\nX58 -> T61,\nX59 -> T62,\nT40 -> .(T61, T62),\nX41 -> T62" 33.42/10.44 }, 33.42/10.44 { 33.42/10.44 "from": 446, 33.42/10.44 "to": 465, 33.42/10.44 "label": "EVAL-BACKTRACK" 33.42/10.44 }, 33.42/10.44 { 33.42/10.44 "from": 450, 33.42/10.44 "to": 540, 33.42/10.44 "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" 33.42/10.44 }, 33.42/10.44 { 33.42/10.44 "from": 450, 33.42/10.44 "to": 541, 33.42/10.44 "label": "EVAL-BACKTRACK" 33.42/10.44 }, 33.42/10.44 { 33.42/10.44 "from": 459, 33.42/10.44 "to": 466, 33.42/10.44 "label": "SUCCESS" 33.42/10.44 }, 33.42/10.44 { 33.42/10.44 "from": 540, 33.42/10.44 "to": 388, 33.42/10.44 "label": "INSTANCE with matching:\nT41 -> T72\nT40 -> T71\nX41 -> X74" 33.42/10.44 }, 33.42/10.44 { 33.42/10.44 "from": 567, 33.42/10.44 "to": 568, 33.42/10.44 "label": "PARALLEL" 33.42/10.44 }, 33.42/10.44 { 33.42/10.44 "from": 567, 33.42/10.44 "to": 569, 33.42/10.44 "label": "PARALLEL" 33.42/10.44 }, 33.42/10.44 { 33.42/10.44 "from": 568, 33.42/10.44 "to": 570, 33.42/10.44 "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" 33.42/10.44 }, 33.42/10.44 { 33.42/10.44 "from": 568, 33.42/10.44 "to": 571, 33.42/10.44 "label": "EVAL-BACKTRACK" 33.42/10.44 }, 33.42/10.44 { 33.42/10.44 "from": 569, 33.42/10.44 "to": 582, 33.42/10.44 "label": "EVAL with clause\nmembers([], X133).\nand substitutionT48 -> [],\nT47 -> T135,\nX133 -> T135" 33.42/10.44 }, 33.42/10.44 { 33.42/10.44 "from": 569, 33.42/10.44 "to": 583, 33.42/10.44 "label": "EVAL-BACKTRACK" 33.42/10.44 }, 33.42/10.44 { 33.42/10.44 "from": 570, 33.42/10.44 "to": 572, 33.42/10.44 "label": "SPLIT 1" 33.42/10.44 }, 33.42/10.44 { 33.42/10.44 "from": 570, 33.42/10.44 "to": 573, 33.42/10.44 "label": "SPLIT 2\nnew knowledge:\nT95 is ground\nT94 is ground\nreplacements:T96 -> T101" 33.42/10.44 }, 33.42/10.44 { 33.42/10.44 "from": 572, 33.42/10.44 "to": 574, 33.42/10.44 "label": "CASE" 33.42/10.44 }, 33.42/10.44 { 33.42/10.44 "from": 573, 33.42/10.44 "to": 391, 33.42/10.44 "label": "INSTANCE with matching:\nT48 -> T101\nT47 -> T94" 33.42/10.44 }, 33.42/10.44 { 33.42/10.44 "from": 574, 33.42/10.44 "to": 575, 33.42/10.44 "label": "PARALLEL" 33.42/10.44 }, 33.42/10.44 { 33.42/10.44 "from": 574, 33.42/10.44 "to": 576, 33.42/10.44 "label": "PARALLEL" 33.42/10.44 }, 33.42/10.44 { 33.42/10.44 "from": 575, 33.42/10.44 "to": 577, 33.42/10.44 "label": "EVAL with clause\nmember(X113, .(X113, X114)).\nand substitutionT95 -> T114,\nX113 -> T114,\nX114 -> T115,\nT94 -> .(T114, T115)" 33.42/10.44 }, 33.42/10.44 { 33.42/10.44 "from": 575, 33.42/10.44 "to": 578, 33.42/10.44 "label": "EVAL-BACKTRACK" 33.42/10.44 }, 33.42/10.44 { 33.42/10.44 "from": 576, 33.42/10.44 "to": 580, 33.42/10.44 "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" 33.42/10.44 }, 33.42/10.44 { 33.42/10.44 "from": 576, 33.42/10.44 "to": 581, 33.42/10.44 "label": "EVAL-BACKTRACK" 33.42/10.44 }, 33.42/10.44 { 33.42/10.44 "from": 577, 33.42/10.44 "to": 579, 33.42/10.44 "label": "SUCCESS" 33.42/10.44 }, 33.42/10.44 { 33.42/10.44 "from": 580, 33.42/10.44 "to": 572, 33.42/10.44 "label": "INSTANCE with matching:\nT95 -> T125\nT94 -> T124" 33.42/10.44 }, 33.42/10.44 { 33.42/10.44 "from": 582, 33.42/10.44 "to": 584, 33.42/10.44 "label": "SUCCESS" 33.42/10.44 }, 33.42/10.44 { 33.42/10.44 "from": 588, 33.42/10.44 "to": 590, 33.42/10.44 "label": "SUCCESS" 33.42/10.44 } 33.42/10.44 ], 33.42/10.44 "type": "Graph" 33.42/10.44 } 33.42/10.44 } 33.42/10.44 33.42/10.44 ---------------------------------------- 33.42/10.44 33.42/10.44 (114) 33.42/10.44 Complex Obligation (AND) 33.42/10.44 33.42/10.44 ---------------------------------------- 33.42/10.44 33.42/10.44 (115) 33.42/10.44 Obligation: 33.42/10.44 Rules: 33.42/10.44 f581_out -> f576_out(T94) :|: TRUE 33.42/10.44 f580_out(T124) -> f576_out(.(T123, T124)) :|: TRUE 33.42/10.44 f576_in(x) -> f581_in :|: TRUE 33.42/10.44 f576_in(.(x1, x2)) -> f580_in(x2) :|: TRUE 33.42/10.44 f572_out(x3) -> f580_out(x3) :|: TRUE 33.42/10.44 f580_in(x4) -> f572_in(x4) :|: TRUE 33.42/10.44 f575_out(x5) -> f574_out(x5) :|: TRUE 33.42/10.44 f574_in(x6) -> f576_in(x6) :|: TRUE 33.42/10.44 f574_in(x7) -> f575_in(x7) :|: TRUE 33.42/10.44 f576_out(x8) -> f574_out(x8) :|: TRUE 33.42/10.44 f574_out(x9) -> f572_out(x9) :|: TRUE 33.42/10.44 f572_in(x10) -> f574_in(x10) :|: TRUE 33.42/10.44 f6_in(T2) -> f7_in(T2) :|: TRUE 33.42/10.44 f7_out(x11) -> f6_out(x11) :|: TRUE 33.42/10.44 f7_in(x12) -> f9_in(x12) :|: TRUE 33.42/10.44 f9_out(x13) -> f7_out(x13) :|: TRUE 33.42/10.44 f7_in(x14) -> f8_in(x14) :|: TRUE 33.42/10.44 f8_out(x15) -> f7_out(x15) :|: TRUE 33.42/10.44 f8_in(T17) -> f34_in(T17) :|: TRUE 33.42/10.44 f35_out -> f8_out(x16) :|: TRUE 33.42/10.44 f34_out(x17) -> f8_out(x17) :|: TRUE 33.42/10.44 f8_in(x18) -> f35_in :|: TRUE 33.42/10.44 f221_out(x19) -> f34_out(x19) :|: TRUE 33.42/10.44 f219_out(x20) -> f221_in(x20) :|: TRUE 33.42/10.44 f34_in(x21) -> f219_in(x21) :|: TRUE 33.42/10.44 f259_out(x22) -> f219_out(x22) :|: TRUE 33.42/10.44 f219_in(x23) -> f259_in(x23) :|: TRUE 33.42/10.44 f309_out(T40) -> f259_out(T40) :|: TRUE 33.42/10.44 f259_in(x24) -> f322_in :|: TRUE 33.42/10.44 f259_in(x25) -> f309_in(x25) :|: TRUE 33.42/10.44 f322_out -> f259_out(x26) :|: TRUE 33.42/10.44 f309_in(x27) -> f388_in(x27) :|: TRUE 33.42/10.44 f391_out(x28) -> f309_out(x29) :|: TRUE 33.42/10.44 f388_out(x30) -> f391_in(x31) :|: TRUE 33.42/10.44 f567_out(T47) -> f391_out(T47) :|: TRUE 33.42/10.44 f391_in(x32) -> f567_in(x32) :|: TRUE 33.42/10.44 f567_in(x33) -> f569_in(x33) :|: TRUE 33.42/10.44 f569_out(x34) -> f567_out(x34) :|: TRUE 33.42/10.44 f568_out(x35) -> f567_out(x35) :|: TRUE 33.42/10.44 f567_in(x36) -> f568_in(x36) :|: TRUE 33.42/10.44 f568_in(x37) -> f570_in(x37) :|: TRUE 33.42/10.44 f568_in(x38) -> f571_in :|: TRUE 33.42/10.44 f570_out(x39) -> f568_out(x39) :|: TRUE 33.42/10.44 f571_out -> f568_out(x40) :|: TRUE 33.42/10.44 f570_in(x41) -> f572_in(x41) :|: TRUE 33.42/10.44 f573_out(x42) -> f570_out(x42) :|: TRUE 33.42/10.44 f572_out(x43) -> f573_in(x43) :|: TRUE 33.42/10.44 Start term: f6_in(T2) 33.42/10.44 33.42/10.44 ---------------------------------------- 33.42/10.44 33.42/10.44 (116) IRSwTSimpleDependencyGraphProof (EQUIVALENT) 33.42/10.44 Constructed simple dependency graph. 33.42/10.44 33.42/10.44 Simplified to the following IRSwTs: 33.42/10.44 33.42/10.44 33.42/10.44 ---------------------------------------- 33.42/10.44 33.42/10.44 (117) 33.42/10.44 TRUE 33.42/10.44 33.42/10.44 ---------------------------------------- 33.42/10.44 33.42/10.44 (118) 33.42/10.44 Obligation: 33.42/10.44 Rules: 33.42/10.44 f568_in(T94) -> f570_in(T94) :|: TRUE 33.42/10.44 f568_in(T47) -> f571_in :|: TRUE 33.42/10.44 f570_out(x) -> f568_out(x) :|: TRUE 33.42/10.44 f571_out -> f568_out(x1) :|: TRUE 33.42/10.44 f572_out(T124) -> f580_out(T124) :|: TRUE 33.42/10.44 f580_in(x2) -> f572_in(x2) :|: TRUE 33.42/10.44 f573_in(x3) -> f391_in(x3) :|: TRUE 33.42/10.44 f391_out(x4) -> f573_out(x4) :|: TRUE 33.42/10.44 f567_out(x5) -> f391_out(x5) :|: TRUE 33.42/10.44 f391_in(x6) -> f567_in(x6) :|: TRUE 33.42/10.44 f577_out -> f575_out(.(T114, T115)) :|: TRUE 33.42/10.44 f578_out -> f575_out(x7) :|: TRUE 33.42/10.44 f575_in(.(x8, x9)) -> f577_in :|: TRUE 33.42/10.44 f575_in(x10) -> f578_in :|: TRUE 33.42/10.44 f581_out -> f576_out(x11) :|: TRUE 33.42/10.44 f580_out(x12) -> f576_out(.(x13, x12)) :|: TRUE 33.42/10.44 f576_in(x14) -> f581_in :|: TRUE 33.42/10.44 f576_in(.(x15, x16)) -> f580_in(x16) :|: TRUE 33.42/10.44 f570_in(x17) -> f572_in(x17) :|: TRUE 33.42/10.44 f573_out(x18) -> f570_out(x18) :|: TRUE 33.42/10.44 f572_out(x19) -> f573_in(x19) :|: TRUE 33.42/10.44 f575_out(x20) -> f574_out(x20) :|: TRUE 33.42/10.44 f574_in(x21) -> f576_in(x21) :|: TRUE 33.42/10.44 f574_in(x22) -> f575_in(x22) :|: TRUE 33.42/10.44 f576_out(x23) -> f574_out(x23) :|: TRUE 33.42/10.44 f577_in -> f577_out :|: TRUE 33.42/10.44 f574_out(x24) -> f572_out(x24) :|: TRUE 33.42/10.44 f572_in(x25) -> f574_in(x25) :|: TRUE 33.42/10.44 f567_in(x26) -> f569_in(x26) :|: TRUE 33.42/10.44 f569_out(x27) -> f567_out(x27) :|: TRUE 33.42/10.44 f568_out(x28) -> f567_out(x28) :|: TRUE 33.42/10.44 f567_in(x29) -> f568_in(x29) :|: TRUE 33.42/10.44 f6_in(T2) -> f7_in(T2) :|: TRUE 33.42/10.44 f7_out(x30) -> f6_out(x30) :|: TRUE 33.42/10.44 f7_in(x31) -> f9_in(x31) :|: TRUE 33.42/10.44 f9_out(x32) -> f7_out(x32) :|: TRUE 33.42/10.44 f7_in(x33) -> f8_in(x33) :|: TRUE 33.42/10.44 f8_out(x34) -> f7_out(x34) :|: TRUE 33.42/10.44 f8_in(T17) -> f34_in(T17) :|: TRUE 33.42/10.44 f35_out -> f8_out(x35) :|: TRUE 33.42/10.44 f34_out(x36) -> f8_out(x36) :|: TRUE 33.42/10.44 f8_in(x37) -> f35_in :|: TRUE 33.42/10.44 f221_out(x38) -> f34_out(x38) :|: TRUE 33.42/10.44 f219_out(x39) -> f221_in(x39) :|: TRUE 33.42/10.44 f34_in(x40) -> f219_in(x40) :|: TRUE 33.42/10.44 f259_out(x41) -> f219_out(x41) :|: TRUE 33.42/10.44 f219_in(x42) -> f259_in(x42) :|: TRUE 33.42/10.44 f309_out(T40) -> f259_out(T40) :|: TRUE 33.42/10.44 f259_in(x43) -> f322_in :|: TRUE 33.42/10.44 f259_in(x44) -> f309_in(x44) :|: TRUE 33.42/10.44 f322_out -> f259_out(x45) :|: TRUE 33.42/10.44 f309_in(x46) -> f388_in(x46) :|: TRUE 33.42/10.44 f391_out(x47) -> f309_out(x48) :|: TRUE 33.42/10.44 f388_out(x49) -> f391_in(x50) :|: TRUE 33.42/10.44 Start term: f6_in(T2) 33.42/10.44 33.42/10.44 ---------------------------------------- 33.42/10.44 33.42/10.44 (119) IRSwTSimpleDependencyGraphProof (EQUIVALENT) 33.42/10.44 Constructed simple dependency graph. 33.42/10.44 33.42/10.44 Simplified to the following IRSwTs: 33.42/10.44 33.42/10.44 33.42/10.44 ---------------------------------------- 33.42/10.44 33.42/10.44 (120) 33.42/10.44 TRUE 33.42/10.44 33.42/10.44 ---------------------------------------- 33.42/10.44 33.42/10.44 (121) 33.42/10.44 Obligation: 33.42/10.44 Rules: 33.42/10.44 f388_in(T40) -> f435_in(T40) :|: TRUE 33.42/10.44 f435_out(x) -> f388_out(x) :|: TRUE 33.42/10.44 f435_in(x1) -> f446_in(x1) :|: TRUE 33.42/10.44 f435_in(x2) -> f450_in(x2) :|: TRUE 33.42/10.44 f450_out(x3) -> f435_out(x3) :|: TRUE 33.42/10.44 f446_out(x4) -> f435_out(x4) :|: TRUE 33.42/10.44 f540_in(T71) -> f388_in(T71) :|: TRUE 33.42/10.44 f388_out(x5) -> f540_out(x5) :|: TRUE 33.42/10.44 f450_in(x6) -> f541_in :|: TRUE 33.42/10.44 f450_in(.(x7, x8)) -> f540_in(x8) :|: TRUE 33.42/10.44 f541_out -> f450_out(x9) :|: TRUE 33.42/10.44 f540_out(x10) -> f450_out(.(x11, x10)) :|: TRUE 33.42/10.44 f6_in(T2) -> f7_in(T2) :|: TRUE 33.42/10.44 f7_out(x12) -> f6_out(x12) :|: TRUE 33.42/10.44 f7_in(x13) -> f9_in(x13) :|: TRUE 33.42/10.44 f9_out(x14) -> f7_out(x14) :|: TRUE 33.42/10.44 f7_in(x15) -> f8_in(x15) :|: TRUE 33.42/10.44 f8_out(x16) -> f7_out(x16) :|: TRUE 33.42/10.44 f8_in(T17) -> f34_in(T17) :|: TRUE 33.42/10.44 f35_out -> f8_out(x17) :|: TRUE 33.42/10.44 f34_out(x18) -> f8_out(x18) :|: TRUE 33.42/10.44 f8_in(x19) -> f35_in :|: TRUE 33.42/10.44 f221_out(x20) -> f34_out(x20) :|: TRUE 33.42/10.44 f219_out(x21) -> f221_in(x21) :|: TRUE 33.42/10.44 f34_in(x22) -> f219_in(x22) :|: TRUE 33.42/10.44 f259_out(x23) -> f219_out(x23) :|: TRUE 33.42/10.44 f219_in(x24) -> f259_in(x24) :|: TRUE 33.42/10.44 f309_out(x25) -> f259_out(x25) :|: TRUE 33.42/10.44 f259_in(x26) -> f322_in :|: TRUE 33.42/10.44 f259_in(x27) -> f309_in(x27) :|: TRUE 33.42/10.44 f322_out -> f259_out(x28) :|: TRUE 33.42/10.44 f309_in(x29) -> f388_in(x29) :|: TRUE 33.42/10.44 f391_out(x30) -> f309_out(x31) :|: TRUE 33.42/10.44 f388_out(x32) -> f391_in(x33) :|: TRUE 33.42/10.44 Start term: f6_in(T2) 33.42/10.44 33.42/10.44 ---------------------------------------- 33.42/10.44 33.42/10.44 (122) IRSwTSimpleDependencyGraphProof (EQUIVALENT) 33.42/10.44 Constructed simple dependency graph. 33.42/10.44 33.42/10.44 Simplified to the following IRSwTs: 33.42/10.44 33.42/10.44 intTRSProblem: 33.42/10.44 f388_in(T40) -> f435_in(T40) :|: TRUE 33.42/10.44 f435_in(x2) -> f450_in(x2) :|: TRUE 33.42/10.44 f540_in(T71) -> f388_in(T71) :|: TRUE 33.42/10.44 f450_in(.(x7, x8)) -> f540_in(x8) :|: TRUE 33.42/10.44 33.42/10.44 33.42/10.44 ---------------------------------------- 33.42/10.44 33.42/10.44 (123) 33.42/10.44 Obligation: 33.42/10.44 Rules: 33.42/10.44 f388_in(T40) -> f435_in(T40) :|: TRUE 33.42/10.44 f435_in(x2) -> f450_in(x2) :|: TRUE 33.42/10.44 f540_in(T71) -> f388_in(T71) :|: TRUE 33.42/10.44 f450_in(.(x7, x8)) -> f540_in(x8) :|: TRUE 33.42/10.44 33.42/10.44 ---------------------------------------- 33.42/10.44 33.42/10.44 (124) IntTRSCompressionProof (EQUIVALENT) 33.42/10.44 Compressed rules. 33.42/10.44 ---------------------------------------- 33.42/10.44 33.42/10.44 (125) 33.42/10.44 Obligation: 33.42/10.44 Rules: 33.42/10.44 f540_in(.(x7:0, x8:0)) -> f540_in(x8:0) :|: TRUE 33.42/10.44 33.42/10.44 ---------------------------------------- 33.42/10.44 33.42/10.44 (126) IRSFormatTransformerProof (EQUIVALENT) 33.42/10.44 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 33.42/10.44 ---------------------------------------- 33.42/10.44 33.42/10.44 (127) 33.42/10.44 Obligation: 33.42/10.44 Rules: 33.42/10.44 f540_in(.(x7:0, x8:0)) -> f540_in(x8:0) :|: TRUE 33.42/10.44 33.42/10.44 ---------------------------------------- 33.42/10.44 33.42/10.44 (128) IRSwTTerminationDigraphProof (EQUIVALENT) 33.42/10.44 Constructed termination digraph! 33.42/10.44 Nodes: 33.42/10.44 (1) f540_in(.(x7:0, x8:0)) -> f540_in(x8:0) :|: TRUE 33.42/10.44 33.42/10.44 Arcs: 33.42/10.44 (1) -> (1) 33.42/10.44 33.42/10.44 This digraph is fully evaluated! 33.42/10.44 ---------------------------------------- 33.42/10.44 33.42/10.44 (129) 33.42/10.44 Obligation: 33.42/10.44 33.42/10.44 Termination digraph: 33.42/10.44 Nodes: 33.42/10.44 (1) f540_in(.(x7:0, x8:0)) -> f540_in(x8:0) :|: TRUE 33.42/10.44 33.42/10.44 Arcs: 33.42/10.44 (1) -> (1) 33.42/10.44 33.42/10.44 This digraph is fully evaluated! 33.42/10.44 33.42/10.44 ---------------------------------------- 33.42/10.44 33.42/10.44 (130) IntTRSUnneededArgumentFilterProof (EQUIVALENT) 33.42/10.44 Some arguments are removed because they cannot influence termination. We removed arguments according to the following replacements: 33.42/10.44 33.42/10.44 .(x1, x2) -> .(x2) 33.42/10.44 33.42/10.44 ---------------------------------------- 33.42/10.44 33.42/10.44 (131) 33.42/10.44 Obligation: 33.42/10.44 Rules: 33.42/10.44 f540_in(.(x8:0)) -> f540_in(x8:0) :|: TRUE 33.42/10.44 33.42/10.44 ---------------------------------------- 33.42/10.44 33.42/10.44 (132) TempFilterProof (SOUND) 33.42/10.44 Used the following sort dictionary for filtering: 33.42/10.44 f540_in(VARIABLE) 33.42/10.44 .(VARIABLE) 33.42/10.44 Removed predefined arithmetic. 33.42/10.44 ---------------------------------------- 33.42/10.44 33.42/10.44 (133) 33.42/10.44 Obligation: 33.42/10.44 Rules: 33.42/10.44 f540_in(.(x8:0)) -> f540_in(x8:0) 33.42/10.44 33.42/10.44 ---------------------------------------- 33.42/10.44 33.42/10.44 (134) IRSwTToQDPProof (SOUND) 33.42/10.44 Removed the integers and created a QDP-Problem. 33.42/10.44 ---------------------------------------- 33.42/10.44 33.42/10.44 (135) 33.42/10.44 Obligation: 33.42/10.44 Q DP problem: 33.42/10.44 The TRS P consists of the following rules: 33.42/10.44 33.42/10.44 f540_in(.(x8:0)) -> f540_in(x8:0) 33.42/10.44 33.42/10.44 R is empty. 33.42/10.44 Q is empty. 33.42/10.44 We have to consider all (P,Q,R)-chains. 33.42/10.44 ---------------------------------------- 33.42/10.44 33.42/10.44 (136) QDPSizeChangeProof (EQUIVALENT) 33.42/10.44 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. 33.42/10.44 33.42/10.44 From the DPs we obtained the following set of size-change graphs: 33.42/10.44 *f540_in(.(x8:0)) -> f540_in(x8:0) 33.42/10.44 The graph contains the following edges 1 > 1 33.42/10.44 33.42/10.44 33.42/10.44 ---------------------------------------- 33.42/10.44 33.42/10.44 (137) 33.42/10.44 YES 33.42/10.44 33.42/10.44 ---------------------------------------- 33.42/10.44 33.42/10.44 (138) 33.42/10.44 Obligation: 33.42/10.44 Rules: 33.42/10.44 f8_in(T17) -> f34_in(T17) :|: TRUE 33.42/10.44 f35_out -> f8_out(T2) :|: TRUE 33.42/10.44 f34_out(x) -> f8_out(x) :|: TRUE 33.42/10.44 f8_in(x1) -> f35_in :|: TRUE 33.42/10.44 f388_in(T40) -> f435_in(T40) :|: TRUE 33.42/10.44 f435_out(x2) -> f388_out(x2) :|: TRUE 33.42/10.44 f459_out -> f446_out(.(T61, T62)) :|: TRUE 33.42/10.44 f465_out -> f446_out(x3) :|: TRUE 33.42/10.44 f446_in(x4) -> f465_in :|: TRUE 33.42/10.44 f446_in(.(x5, x6)) -> f459_in :|: TRUE 33.42/10.44 f572_out(T124) -> f580_out(T124) :|: TRUE 33.42/10.44 f580_in(x7) -> f572_in(x7) :|: TRUE 33.42/10.44 f221_in(x8) -> f6_in(x8) :|: TRUE 33.42/10.44 f6_out(x9) -> f221_out(x9) :|: TRUE 33.42/10.44 f582_in -> f582_out :|: TRUE 33.42/10.44 f573_in(T94) -> f391_in(T94) :|: TRUE 33.42/10.44 f391_out(x10) -> f573_out(x10) :|: TRUE 33.42/10.44 f540_in(T71) -> f388_in(T71) :|: TRUE 33.42/10.44 f388_out(x11) -> f540_out(x11) :|: TRUE 33.42/10.44 f221_out(x12) -> f34_out(x12) :|: TRUE 33.42/10.44 f219_out(x13) -> f221_in(x13) :|: TRUE 33.42/10.44 f34_in(x14) -> f219_in(x14) :|: TRUE 33.42/10.44 f567_out(T47) -> f391_out(T47) :|: TRUE 33.42/10.44 f391_in(x15) -> f567_in(x15) :|: TRUE 33.42/10.44 f577_out -> f575_out(.(T114, T115)) :|: TRUE 33.42/10.44 f578_out -> f575_out(x16) :|: TRUE 33.42/10.44 f575_in(.(x17, x18)) -> f577_in :|: TRUE 33.42/10.44 f575_in(x19) -> f578_in :|: TRUE 33.42/10.44 f581_out -> f576_out(x20) :|: TRUE 33.42/10.44 f580_out(x21) -> f576_out(.(x22, x21)) :|: TRUE 33.42/10.44 f576_in(x23) -> f581_in :|: TRUE 33.42/10.44 f576_in(.(x24, x25)) -> f580_in(x25) :|: TRUE 33.42/10.44 f577_in -> f577_out :|: TRUE 33.42/10.44 f459_in -> f459_out :|: TRUE 33.42/10.44 f6_in(x26) -> f7_in(x26) :|: TRUE 33.42/10.44 f7_out(x27) -> f6_out(x27) :|: TRUE 33.42/10.44 f574_out(x28) -> f572_out(x28) :|: TRUE 33.42/10.44 f572_in(x29) -> f574_in(x29) :|: TRUE 33.42/10.44 f567_in(x30) -> f569_in(x30) :|: TRUE 33.42/10.44 f569_out(x31) -> f567_out(x31) :|: TRUE 33.42/10.44 f568_out(x32) -> f567_out(x32) :|: TRUE 33.42/10.44 f567_in(x33) -> f568_in(x33) :|: TRUE 33.42/10.44 f309_out(x34) -> f259_out(x34) :|: TRUE 33.42/10.44 f259_in(x35) -> f322_in :|: TRUE 33.42/10.44 f259_in(x36) -> f309_in(x36) :|: TRUE 33.42/10.44 f322_out -> f259_out(x37) :|: TRUE 33.42/10.44 f568_in(x38) -> f570_in(x38) :|: TRUE 33.42/10.44 f568_in(x39) -> f571_in :|: TRUE 33.42/10.44 f570_out(x40) -> f568_out(x40) :|: TRUE 33.42/10.44 f571_out -> f568_out(x41) :|: TRUE 33.42/10.44 f569_in(x42) -> f583_in :|: TRUE 33.42/10.44 f582_out -> f569_out(T135) :|: TRUE 33.42/10.44 f569_in(x43) -> f582_in :|: TRUE 33.42/10.44 f583_out -> f569_out(x44) :|: TRUE 33.42/10.44 f450_in(x45) -> f541_in :|: TRUE 33.42/10.44 f450_in(.(x46, x47)) -> f540_in(x47) :|: TRUE 33.42/10.44 f541_out -> f450_out(x48) :|: TRUE 33.42/10.44 f540_out(x49) -> f450_out(.(x50, x49)) :|: TRUE 33.42/10.44 f309_in(x51) -> f388_in(x51) :|: TRUE 33.42/10.44 f391_out(x52) -> f309_out(x53) :|: TRUE 33.42/10.44 f388_out(x54) -> f391_in(x55) :|: TRUE 33.42/10.44 f435_in(x56) -> f446_in(x56) :|: TRUE 33.42/10.44 f435_in(x57) -> f450_in(x57) :|: TRUE 33.42/10.44 f450_out(x58) -> f435_out(x58) :|: TRUE 33.42/10.44 f446_out(x59) -> f435_out(x59) :|: TRUE 33.42/10.44 f7_in(x60) -> f9_in(x60) :|: TRUE 33.42/10.44 f9_out(x61) -> f7_out(x61) :|: TRUE 33.42/10.44 f7_in(x62) -> f8_in(x62) :|: TRUE 33.42/10.44 f8_out(x63) -> f7_out(x63) :|: TRUE 33.42/10.44 f259_out(x64) -> f219_out(x64) :|: TRUE 33.42/10.44 f219_in(x65) -> f259_in(x65) :|: TRUE 33.42/10.44 f570_in(x66) -> f572_in(x66) :|: TRUE 33.42/10.44 f573_out(x67) -> f570_out(x67) :|: TRUE 33.42/10.44 f572_out(x68) -> f573_in(x68) :|: TRUE 33.42/10.44 f575_out(x69) -> f574_out(x69) :|: TRUE 33.42/10.44 f574_in(x70) -> f576_in(x70) :|: TRUE 33.42/10.44 f574_in(x71) -> f575_in(x71) :|: TRUE 33.42/10.44 f576_out(x72) -> f574_out(x72) :|: TRUE 33.42/10.44 Start term: f6_in(T2) 33.42/10.44 33.42/10.44 ---------------------------------------- 33.42/10.44 33.42/10.44 (139) IRSwTSimpleDependencyGraphProof (EQUIVALENT) 33.42/10.44 Constructed simple dependency graph. 33.42/10.44 33.42/10.44 Simplified to the following IRSwTs: 33.42/10.44 33.42/10.44 intTRSProblem: 33.42/10.44 f8_in(T17) -> f34_in(T17) :|: TRUE 33.42/10.44 f388_in(T40) -> f435_in(T40) :|: TRUE 33.42/10.44 f435_out(x2) -> f388_out(x2) :|: TRUE 33.42/10.44 f459_out -> f446_out(.(T61, T62)) :|: TRUE 33.42/10.44 f446_in(.(x5, x6)) -> f459_in :|: TRUE 33.42/10.44 f572_out(T124) -> f580_out(T124) :|: TRUE 33.42/10.44 f580_in(x7) -> f572_in(x7) :|: TRUE 33.42/10.44 f221_in(x8) -> f6_in(x8) :|: TRUE 33.42/10.44 f582_in -> f582_out :|: TRUE 33.42/10.44 f573_in(T94) -> f391_in(T94) :|: TRUE 33.42/10.44 f391_out(x10) -> f573_out(x10) :|: TRUE 33.42/10.44 f540_in(T71) -> f388_in(T71) :|: TRUE 33.42/10.44 f388_out(x11) -> f540_out(x11) :|: TRUE 33.42/10.44 f219_out(x13) -> f221_in(x13) :|: TRUE 33.42/10.44 f34_in(x14) -> f219_in(x14) :|: TRUE 33.42/10.44 f567_out(T47) -> f391_out(T47) :|: TRUE 33.42/10.44 f391_in(x15) -> f567_in(x15) :|: TRUE 33.42/10.44 f577_out -> f575_out(.(T114, T115)) :|: TRUE 33.42/10.44 f575_in(.(x17, x18)) -> f577_in :|: TRUE 33.42/10.44 f580_out(x21) -> f576_out(.(x22, x21)) :|: TRUE 33.42/10.44 f576_in(.(x24, x25)) -> f580_in(x25) :|: TRUE 33.42/10.44 f577_in -> f577_out :|: TRUE 33.42/10.44 f459_in -> f459_out :|: TRUE 33.42/10.44 f6_in(x26) -> f7_in(x26) :|: TRUE 33.42/10.44 f574_out(x28) -> f572_out(x28) :|: TRUE 33.42/10.44 f572_in(x29) -> f574_in(x29) :|: TRUE 33.42/10.44 f567_in(x30) -> f569_in(x30) :|: TRUE 33.42/10.44 f569_out(x31) -> f567_out(x31) :|: TRUE 33.42/10.44 f568_out(x32) -> f567_out(x32) :|: TRUE 33.42/10.44 f567_in(x33) -> f568_in(x33) :|: TRUE 33.42/10.44 f309_out(x34) -> f259_out(x34) :|: TRUE 33.42/10.44 f259_in(x36) -> f309_in(x36) :|: TRUE 33.42/10.44 f568_in(x38) -> f570_in(x38) :|: TRUE 33.42/10.44 f570_out(x40) -> f568_out(x40) :|: TRUE 33.42/10.44 f582_out -> f569_out(T135) :|: TRUE 33.42/10.44 f569_in(x43) -> f582_in :|: TRUE 33.42/10.44 f450_in(.(x46, x47)) -> f540_in(x47) :|: TRUE 33.42/10.44 f540_out(x49) -> f450_out(.(x50, x49)) :|: TRUE 33.42/10.44 f309_in(x51) -> f388_in(x51) :|: TRUE 33.42/10.44 f391_out(x52) -> f309_out(x53) :|: TRUE 33.42/10.44 f388_out(x54) -> f391_in(x55) :|: TRUE 33.42/10.44 f435_in(x56) -> f446_in(x56) :|: TRUE 33.42/10.44 f435_in(x57) -> f450_in(x57) :|: TRUE 33.42/10.44 f450_out(x58) -> f435_out(x58) :|: TRUE 33.42/10.44 f446_out(x59) -> f435_out(x59) :|: TRUE 33.42/10.44 f7_in(x62) -> f8_in(x62) :|: TRUE 33.42/10.44 f259_out(x64) -> f219_out(x64) :|: TRUE 33.42/10.44 f219_in(x65) -> f259_in(x65) :|: TRUE 33.42/10.44 f570_in(x66) -> f572_in(x66) :|: TRUE 33.42/10.44 f573_out(x67) -> f570_out(x67) :|: TRUE 33.42/10.44 f572_out(x68) -> f573_in(x68) :|: TRUE 33.42/10.44 f575_out(x69) -> f574_out(x69) :|: TRUE 33.42/10.44 f574_in(x70) -> f576_in(x70) :|: TRUE 33.42/10.44 f574_in(x71) -> f575_in(x71) :|: TRUE 33.42/10.44 f576_out(x72) -> f574_out(x72) :|: TRUE 33.42/10.44 33.42/10.44 33.42/10.44 ---------------------------------------- 33.42/10.44 33.42/10.44 (140) 33.42/10.44 Obligation: 33.42/10.44 Rules: 33.42/10.44 f8_in(T17) -> f34_in(T17) :|: TRUE 33.42/10.44 f388_in(T40) -> f435_in(T40) :|: TRUE 33.42/10.44 f435_out(x2) -> f388_out(x2) :|: TRUE 33.42/10.44 f459_out -> f446_out(.(T61, T62)) :|: TRUE 33.42/10.44 f446_in(.(x5, x6)) -> f459_in :|: TRUE 33.42/10.44 f572_out(T124) -> f580_out(T124) :|: TRUE 33.42/10.44 f580_in(x7) -> f572_in(x7) :|: TRUE 33.42/10.44 f221_in(x8) -> f6_in(x8) :|: TRUE 33.42/10.44 f582_in -> f582_out :|: TRUE 33.42/10.44 f573_in(T94) -> f391_in(T94) :|: TRUE 33.42/10.44 f391_out(x10) -> f573_out(x10) :|: TRUE 33.42/10.44 f540_in(T71) -> f388_in(T71) :|: TRUE 33.42/10.44 f388_out(x11) -> f540_out(x11) :|: TRUE 33.42/10.44 f219_out(x13) -> f221_in(x13) :|: TRUE 33.42/10.44 f34_in(x14) -> f219_in(x14) :|: TRUE 33.42/10.44 f567_out(T47) -> f391_out(T47) :|: TRUE 33.42/10.44 f391_in(x15) -> f567_in(x15) :|: TRUE 33.42/10.44 f577_out -> f575_out(.(T114, T115)) :|: TRUE 33.42/10.44 f575_in(.(x17, x18)) -> f577_in :|: TRUE 33.42/10.44 f580_out(x21) -> f576_out(.(x22, x21)) :|: TRUE 33.42/10.44 f576_in(.(x24, x25)) -> f580_in(x25) :|: TRUE 33.42/10.44 f577_in -> f577_out :|: TRUE 33.42/10.44 f459_in -> f459_out :|: TRUE 33.42/10.44 f6_in(x26) -> f7_in(x26) :|: TRUE 33.42/10.44 f574_out(x28) -> f572_out(x28) :|: TRUE 33.42/10.44 f572_in(x29) -> f574_in(x29) :|: TRUE 33.42/10.44 f567_in(x30) -> f569_in(x30) :|: TRUE 33.42/10.44 f569_out(x31) -> f567_out(x31) :|: TRUE 33.42/10.44 f568_out(x32) -> f567_out(x32) :|: TRUE 33.42/10.44 f567_in(x33) -> f568_in(x33) :|: TRUE 33.42/10.44 f309_out(x34) -> f259_out(x34) :|: TRUE 33.42/10.44 f259_in(x36) -> f309_in(x36) :|: TRUE 33.42/10.44 f568_in(x38) -> f570_in(x38) :|: TRUE 33.42/10.44 f570_out(x40) -> f568_out(x40) :|: TRUE 33.42/10.44 f582_out -> f569_out(T135) :|: TRUE 33.42/10.44 f569_in(x43) -> f582_in :|: TRUE 33.42/10.44 f450_in(.(x46, x47)) -> f540_in(x47) :|: TRUE 33.42/10.44 f540_out(x49) -> f450_out(.(x50, x49)) :|: TRUE 33.42/10.44 f309_in(x51) -> f388_in(x51) :|: TRUE 33.42/10.44 f391_out(x52) -> f309_out(x53) :|: TRUE 33.42/10.44 f388_out(x54) -> f391_in(x55) :|: TRUE 33.42/10.44 f435_in(x56) -> f446_in(x56) :|: TRUE 33.42/10.44 f435_in(x57) -> f450_in(x57) :|: TRUE 33.42/10.44 f450_out(x58) -> f435_out(x58) :|: TRUE 33.42/10.44 f446_out(x59) -> f435_out(x59) :|: TRUE 33.42/10.44 f7_in(x62) -> f8_in(x62) :|: TRUE 33.42/10.44 f259_out(x64) -> f219_out(x64) :|: TRUE 33.42/10.44 f219_in(x65) -> f259_in(x65) :|: TRUE 33.42/10.44 f570_in(x66) -> f572_in(x66) :|: TRUE 33.42/10.44 f573_out(x67) -> f570_out(x67) :|: TRUE 33.42/10.44 f572_out(x68) -> f573_in(x68) :|: TRUE 33.42/10.44 f575_out(x69) -> f574_out(x69) :|: TRUE 33.42/10.44 f574_in(x70) -> f576_in(x70) :|: TRUE 33.42/10.44 f574_in(x71) -> f575_in(x71) :|: TRUE 33.42/10.44 f576_out(x72) -> f574_out(x72) :|: TRUE 33.42/10.44 33.42/10.44 ---------------------------------------- 33.42/10.44 33.42/10.44 (141) IntTRSCompressionProof (EQUIVALENT) 33.42/10.44 Compressed rules. 33.42/10.44 ---------------------------------------- 33.42/10.44 33.42/10.44 (142) 33.42/10.44 Obligation: 33.42/10.44 Rules: 33.42/10.44 f435_out(x2:0) -> f567_in(x55:0) :|: TRUE 33.42/10.44 f435_out(x) -> f435_out(.(x1, x)) :|: TRUE 33.42/10.44 f574_out(x28:0) -> f574_out(.(x22:0, x28:0)) :|: TRUE 33.42/10.44 f388_in(.(x46:0, x47:0)) -> f388_in(x47:0) :|: TRUE 33.42/10.44 f567_in(x33:0) -> f574_in(x33:0) :|: TRUE 33.42/10.44 f388_in(.(x5:0, x6:0)) -> f435_out(.(T61:0, T62:0)) :|: TRUE 33.42/10.44 f567_out(T47:0) -> f388_in(x53:0) :|: TRUE 33.42/10.44 f567_out(x2) -> f567_out(x2) :|: TRUE 33.42/10.44 f574_out(x3) -> f567_in(x3) :|: TRUE 33.42/10.44 f567_in(x30:0) -> f567_out(T135:0) :|: TRUE 33.42/10.44 f574_in(.(x24:0, x25:0)) -> f574_in(x25:0) :|: TRUE 33.42/10.44 f574_in(.(x17:0, x18:0)) -> f574_out(.(T114:0, T115:0)) :|: TRUE 33.42/10.44 33.42/10.44 ---------------------------------------- 33.42/10.44 33.42/10.44 (143) IRSFormatTransformerProof (EQUIVALENT) 33.42/10.44 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 33.42/10.44 ---------------------------------------- 33.42/10.44 33.42/10.44 (144) 33.42/10.44 Obligation: 33.42/10.44 Rules: 33.42/10.44 f435_out(x2:0) -> f567_in(x55:0) :|: TRUE 33.42/10.44 f435_out(x) -> f435_out(.(x1, x)) :|: TRUE 33.42/10.44 f574_out(x28:0) -> f574_out(.(x22:0, x28:0)) :|: TRUE 33.42/10.44 f388_in(.(x46:0, x47:0)) -> f388_in(x47:0) :|: TRUE 33.42/10.44 f567_in(x33:0) -> f574_in(x33:0) :|: TRUE 33.42/10.44 f388_in(.(x5:0, x6:0)) -> f435_out(.(T61:0, T62:0)) :|: TRUE 33.42/10.44 f567_out(T47:0) -> f388_in(x53:0) :|: TRUE 33.42/10.44 f567_out(x2) -> f567_out(x2) :|: TRUE 33.42/10.44 f574_out(x3) -> f567_in(x3) :|: TRUE 33.42/10.44 f567_in(x30:0) -> f567_out(T135:0) :|: TRUE 33.42/10.44 f574_in(.(x24:0, x25:0)) -> f574_in(x25:0) :|: TRUE 33.42/10.44 f574_in(.(x17:0, x18:0)) -> f574_out(.(T114:0, T115:0)) :|: TRUE 33.42/10.46 EOF