29.01/8.32 MAYBE 29.01/8.34 proof of /export/starexec/sandbox/benchmark/theBenchmark.pl 29.01/8.34 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 29.01/8.34 29.01/8.34 29.01/8.34 Left Termination of the query pattern 29.01/8.34 29.01/8.34 color_map(a,g) 29.01/8.34 29.01/8.34 w.r.t. the given Prolog program could not be shown: 29.01/8.34 29.01/8.34 (0) Prolog 29.01/8.34 (1) PrologToPiTRSProof [SOUND, 0 ms] 29.01/8.34 (2) PiTRS 29.01/8.34 (3) DependencyPairsProof [EQUIVALENT, 0 ms] 29.01/8.34 (4) PiDP 29.01/8.34 (5) DependencyGraphProof [EQUIVALENT, 0 ms] 29.01/8.34 (6) AND 29.01/8.34 (7) PiDP 29.01/8.34 (8) UsableRulesProof [EQUIVALENT, 0 ms] 29.01/8.34 (9) PiDP 29.01/8.34 (10) PiDPToQDPProof [SOUND, 0 ms] 29.01/8.34 (11) QDP 29.01/8.34 (12) QDPSizeChangeProof [EQUIVALENT, 0 ms] 29.01/8.34 (13) YES 29.01/8.34 (14) PiDP 29.01/8.34 (15) UsableRulesProof [EQUIVALENT, 0 ms] 29.01/8.34 (16) PiDP 29.01/8.34 (17) PiDPToQDPProof [SOUND, 0 ms] 29.01/8.34 (18) QDP 29.01/8.34 (19) TransformationProof [SOUND, 0 ms] 29.01/8.34 (20) QDP 29.01/8.34 (21) TransformationProof [EQUIVALENT, 0 ms] 29.01/8.34 (22) QDP 29.01/8.34 (23) NonTerminationLoopProof [COMPLETE, 0 ms] 29.01/8.34 (24) NO 29.01/8.34 (25) PiDP 29.01/8.34 (26) UsableRulesProof [EQUIVALENT, 0 ms] 29.01/8.34 (27) PiDP 29.01/8.34 (28) PiDPToQDPProof [SOUND, 0 ms] 29.01/8.34 (29) QDP 29.01/8.34 (30) QDPSizeChangeProof [EQUIVALENT, 0 ms] 29.01/8.34 (31) YES 29.01/8.34 (32) PiDP 29.01/8.34 (33) UsableRulesProof [EQUIVALENT, 0 ms] 29.01/8.34 (34) PiDP 29.01/8.34 (35) PiDPToQDPProof [SOUND, 0 ms] 29.01/8.34 (36) QDP 29.01/8.34 (37) PrologToPiTRSProof [SOUND, 0 ms] 29.01/8.34 (38) PiTRS 29.01/8.34 (39) DependencyPairsProof [EQUIVALENT, 0 ms] 29.01/8.34 (40) PiDP 29.01/8.34 (41) DependencyGraphProof [EQUIVALENT, 0 ms] 29.01/8.34 (42) AND 29.01/8.34 (43) PiDP 29.01/8.34 (44) UsableRulesProof [EQUIVALENT, 0 ms] 29.01/8.34 (45) PiDP 29.01/8.34 (46) PiDPToQDPProof [SOUND, 0 ms] 29.01/8.34 (47) QDP 29.01/8.34 (48) QDPSizeChangeProof [EQUIVALENT, 0 ms] 29.01/8.34 (49) YES 29.01/8.34 (50) PiDP 29.01/8.34 (51) UsableRulesProof [EQUIVALENT, 0 ms] 29.01/8.34 (52) PiDP 29.01/8.34 (53) PiDPToQDPProof [SOUND, 0 ms] 29.01/8.34 (54) QDP 29.01/8.34 (55) TransformationProof [SOUND, 0 ms] 29.01/8.34 (56) QDP 29.01/8.34 (57) TransformationProof [EQUIVALENT, 0 ms] 29.01/8.34 (58) QDP 29.01/8.34 (59) PiDP 29.01/8.34 (60) UsableRulesProof [EQUIVALENT, 0 ms] 29.01/8.34 (61) PiDP 29.01/8.34 (62) PiDP 29.01/8.34 (63) UsableRulesProof [EQUIVALENT, 0 ms] 29.01/8.34 (64) PiDP 29.01/8.34 (65) PrologToTRSTransformerProof [SOUND, 0 ms] 29.01/8.34 (66) QTRS 29.01/8.34 (67) DependencyPairsProof [EQUIVALENT, 0 ms] 29.01/8.34 (68) QDP 29.01/8.34 (69) DependencyGraphProof [EQUIVALENT, 0 ms] 29.01/8.34 (70) AND 29.01/8.34 (71) QDP 29.01/8.34 (72) UsableRulesProof [EQUIVALENT, 0 ms] 29.01/8.34 (73) QDP 29.01/8.34 (74) QDPSizeChangeProof [EQUIVALENT, 0 ms] 29.01/8.34 (75) YES 29.01/8.34 (76) QDP 29.01/8.34 (77) NonTerminationLoopProof [COMPLETE, 0 ms] 29.01/8.34 (78) NO 29.01/8.34 (79) QDP 29.01/8.34 (80) UsableRulesProof [EQUIVALENT, 0 ms] 29.01/8.34 (81) QDP 29.01/8.34 (82) QDPSizeChangeProof [EQUIVALENT, 0 ms] 29.01/8.34 (83) YES 29.01/8.34 (84) QDP 29.01/8.34 (85) NonTerminationLoopProof [COMPLETE, 0 ms] 29.01/8.34 (86) NO 29.01/8.34 (87) PrologToDTProblemTransformerProof [SOUND, 0 ms] 29.01/8.34 (88) TRIPLES 29.01/8.34 (89) TriplesToPiDPProof [SOUND, 0 ms] 29.01/8.34 (90) PiDP 29.01/8.34 (91) DependencyGraphProof [EQUIVALENT, 0 ms] 29.01/8.34 (92) AND 29.01/8.34 (93) PiDP 29.01/8.34 (94) UsableRulesProof [EQUIVALENT, 0 ms] 29.01/8.34 (95) PiDP 29.01/8.34 (96) PiDPToQDPProof [SOUND, 0 ms] 29.01/8.34 (97) QDP 29.01/8.34 (98) QDPSizeChangeProof [EQUIVALENT, 0 ms] 29.01/8.34 (99) YES 29.01/8.34 (100) PiDP 29.01/8.34 (101) UsableRulesProof [EQUIVALENT, 0 ms] 29.01/8.34 (102) PiDP 29.01/8.34 (103) PiDPToQDPProof [SOUND, 2 ms] 29.01/8.34 (104) QDP 29.01/8.34 (105) TransformationProof [SOUND, 0 ms] 29.01/8.34 (106) QDP 29.01/8.34 (107) TransformationProof [EQUIVALENT, 0 ms] 29.01/8.34 (108) QDP 29.01/8.34 (109) PiDP 29.01/8.34 (110) UsableRulesProof [EQUIVALENT, 0 ms] 29.01/8.34 (111) PiDP 29.01/8.34 (112) PiDP 29.01/8.34 (113) PrologToIRSwTTransformerProof [SOUND, 59 ms] 29.01/8.34 (114) AND 29.01/8.34 (115) IRSwT 29.01/8.34 (116) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms] 29.01/8.34 (117) TRUE 29.01/8.34 (118) IRSwT 29.01/8.34 (119) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms] 29.01/8.34 (120) TRUE 29.01/8.34 (121) IRSwT 29.01/8.34 (122) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms] 29.01/8.34 (123) IRSwT 29.01/8.34 (124) IntTRSCompressionProof [EQUIVALENT, 19 ms] 29.01/8.34 (125) IRSwT 29.01/8.34 (126) IRSFormatTransformerProof [EQUIVALENT, 0 ms] 29.01/8.34 (127) IRSwT 29.01/8.34 (128) IRSwTTerminationDigraphProof [EQUIVALENT, 2 ms] 29.01/8.34 (129) IRSwT 29.01/8.34 (130) IntTRSUnneededArgumentFilterProof [EQUIVALENT, 0 ms] 29.01/8.34 (131) IRSwT 29.01/8.34 (132) TempFilterProof [SOUND, 3 ms] 29.01/8.34 (133) IRSwT 29.01/8.34 (134) IRSwTToQDPProof [SOUND, 0 ms] 29.01/8.34 (135) QDP 29.01/8.34 (136) QDPSizeChangeProof [EQUIVALENT, 0 ms] 29.01/8.34 (137) YES 29.01/8.34 (138) IRSwT 29.01/8.34 (139) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms] 29.01/8.34 (140) IRSwT 29.01/8.34 (141) IntTRSCompressionProof [EQUIVALENT, 24 ms] 29.01/8.34 (142) IRSwT 29.01/8.34 (143) IRSFormatTransformerProof [EQUIVALENT, 0 ms] 29.01/8.34 (144) IRSwT 29.01/8.34 (145) IRSwTTerminationDigraphProof [EQUIVALENT, 65 ms] 29.01/8.34 (146) IRSwT 29.01/8.34 (147) IntTRSUnneededArgumentFilterProof [EQUIVALENT, 0 ms] 29.01/8.34 (148) IRSwT 29.01/8.34 29.01/8.34 29.01/8.34 ---------------------------------------- 29.01/8.34 29.01/8.34 (0) 29.01/8.34 Obligation: 29.01/8.34 Clauses: 29.01/8.34 29.01/8.34 color_map(.(Region, Regions), Colors) :- ','(color_region(Region, Colors), color_map(Regions, Colors)). 29.01/8.34 color_map([], Colors). 29.01/8.34 color_region(region(Name, Color, Neighbors), Colors) :- ','(select(Color, Colors, Colors1), members(Neighbors, Colors1)). 29.01/8.34 select(X, .(X, Xs), Xs). 29.01/8.34 select(X, .(Y, Ys), .(Y, Zs)) :- select(X, Ys, Zs). 29.01/8.34 members(.(X, Xs), Ys) :- ','(member(X, Ys), members(Xs, Ys)). 29.01/8.34 members([], Ys). 29.01/8.34 member(X, .(X, X1)). 29.01/8.34 member(X, .(X2, Xs)) :- member(X, Xs). 29.01/8.34 29.01/8.34 29.01/8.34 Query: color_map(a,g) 29.01/8.34 ---------------------------------------- 29.01/8.34 29.01/8.34 (1) PrologToPiTRSProof (SOUND) 29.01/8.34 We use the technique of [TOCL09]. With regard to the inferred argument filtering the predicates were used in the following modes: 29.01/8.34 29.01/8.34 color_map_in_2: (f,b) 29.01/8.34 29.01/8.34 color_region_in_2: (f,b) 29.01/8.34 29.01/8.34 select_in_3: (f,b,f) 29.01/8.34 29.01/8.34 members_in_2: (f,b) 29.01/8.34 29.01/8.34 member_in_2: (f,b) 29.01/8.34 29.01/8.34 Transforming Prolog into the following Term Rewriting System: 29.01/8.34 29.01/8.34 Pi-finite rewrite system: 29.01/8.34 The TRS R consists of the following rules: 29.01/8.34 29.01/8.34 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 29.01/8.34 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 29.01/8.34 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 29.01/8.34 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 29.01/8.34 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 29.01/8.34 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 29.01/8.34 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 29.01/8.34 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 29.01/8.34 member_in_ag(X, .(X2, Xs)) -> U8_ag(X, X2, Xs, member_in_ag(X, Xs)) 29.01/8.34 U8_ag(X, X2, Xs, member_out_ag(X, Xs)) -> member_out_ag(X, .(X2, Xs)) 29.01/8.34 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 29.01/8.34 members_in_ag([], Ys) -> members_out_ag([], Ys) 29.01/8.34 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 29.01/8.34 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 29.01/8.34 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 29.01/8.34 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 29.01/8.34 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 29.01/8.34 29.01/8.34 The argument filtering Pi contains the following mapping: 29.01/8.34 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 29.01/8.34 29.01/8.34 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 29.01/8.34 29.01/8.34 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 29.01/8.34 29.01/8.34 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x5) 29.01/8.34 29.01/8.34 select_in_aga(x1, x2, x3) = select_in_aga(x2) 29.01/8.34 29.01/8.34 .(x1, x2) = .(x1, x2) 29.01/8.34 29.01/8.34 select_out_aga(x1, x2, x3) = select_out_aga(x1, x3) 29.01/8.34 29.01/8.34 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x5) 29.01/8.34 29.01/8.34 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x5) 29.01/8.34 29.01/8.34 members_in_ag(x1, x2) = members_in_ag(x2) 29.01/8.34 29.01/8.34 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 29.01/8.34 29.01/8.34 member_in_ag(x1, x2) = member_in_ag(x2) 29.01/8.34 29.01/8.34 member_out_ag(x1, x2) = member_out_ag(x1) 29.01/8.34 29.01/8.34 U8_ag(x1, x2, x3, x4) = U8_ag(x4) 29.01/8.34 29.01/8.34 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x4) 29.01/8.34 29.01/8.34 members_out_ag(x1, x2) = members_out_ag(x1) 29.01/8.34 29.01/8.34 color_region_out_ag(x1, x2) = color_region_out_ag(x1) 29.01/8.34 29.01/8.34 region(x1, x2, x3) = region(x2, x3) 29.01/8.34 29.01/8.34 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x4) 29.01/8.34 29.01/8.34 color_map_out_ag(x1, x2) = color_map_out_ag(x1) 29.01/8.34 29.01/8.34 29.01/8.34 29.01/8.34 29.01/8.34 29.01/8.34 Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog 29.01/8.34 29.01/8.34 29.01/8.34 29.01/8.34 ---------------------------------------- 29.01/8.34 29.01/8.34 (2) 29.01/8.34 Obligation: 29.01/8.34 Pi-finite rewrite system: 29.01/8.34 The TRS R consists of the following rules: 29.01/8.34 29.01/8.34 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 29.01/8.34 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 29.01/8.34 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 29.01/8.34 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 29.01/8.34 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 29.01/8.34 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 29.01/8.34 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 29.01/8.34 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 29.01/8.34 member_in_ag(X, .(X2, Xs)) -> U8_ag(X, X2, Xs, member_in_ag(X, Xs)) 29.01/8.34 U8_ag(X, X2, Xs, member_out_ag(X, Xs)) -> member_out_ag(X, .(X2, Xs)) 29.01/8.34 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 29.01/8.34 members_in_ag([], Ys) -> members_out_ag([], Ys) 29.01/8.34 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 29.01/8.34 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 29.01/8.34 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 29.01/8.34 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 29.01/8.34 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 29.01/8.34 29.01/8.34 The argument filtering Pi contains the following mapping: 29.01/8.34 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 29.01/8.34 29.01/8.34 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 29.01/8.34 29.01/8.34 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 29.01/8.34 29.01/8.34 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x5) 29.01/8.34 29.01/8.34 select_in_aga(x1, x2, x3) = select_in_aga(x2) 29.01/8.34 29.01/8.34 .(x1, x2) = .(x1, x2) 29.01/8.34 29.01/8.34 select_out_aga(x1, x2, x3) = select_out_aga(x1, x3) 29.01/8.34 29.01/8.34 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x5) 29.01/8.34 29.01/8.34 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x5) 29.01/8.34 29.01/8.34 members_in_ag(x1, x2) = members_in_ag(x2) 29.01/8.34 29.01/8.34 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 29.01/8.34 29.01/8.34 member_in_ag(x1, x2) = member_in_ag(x2) 29.01/8.34 29.01/8.34 member_out_ag(x1, x2) = member_out_ag(x1) 29.01/8.34 29.01/8.34 U8_ag(x1, x2, x3, x4) = U8_ag(x4) 29.01/8.34 29.01/8.34 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x4) 29.01/8.34 29.01/8.34 members_out_ag(x1, x2) = members_out_ag(x1) 29.01/8.34 29.01/8.34 color_region_out_ag(x1, x2) = color_region_out_ag(x1) 29.01/8.34 29.01/8.34 region(x1, x2, x3) = region(x2, x3) 29.01/8.34 29.01/8.34 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x4) 29.01/8.34 29.01/8.34 color_map_out_ag(x1, x2) = color_map_out_ag(x1) 29.01/8.34 29.01/8.34 29.01/8.34 29.01/8.34 ---------------------------------------- 29.01/8.34 29.01/8.34 (3) DependencyPairsProof (EQUIVALENT) 29.01/8.34 Using Dependency Pairs [AG00,LOPSTR] we result in the following initial DP problem: 29.01/8.34 Pi DP problem: 29.01/8.34 The TRS P consists of the following rules: 29.01/8.34 29.01/8.34 COLOR_MAP_IN_AG(.(Region, Regions), Colors) -> U1_AG(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 29.01/8.34 COLOR_MAP_IN_AG(.(Region, Regions), Colors) -> COLOR_REGION_IN_AG(Region, Colors) 29.01/8.34 COLOR_REGION_IN_AG(region(Name, Color, Neighbors), Colors) -> U3_AG(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 29.01/8.34 COLOR_REGION_IN_AG(region(Name, Color, Neighbors), Colors) -> SELECT_IN_AGA(Color, Colors, Colors1) 29.01/8.34 SELECT_IN_AGA(X, .(Y, Ys), .(Y, Zs)) -> U5_AGA(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 29.01/8.34 SELECT_IN_AGA(X, .(Y, Ys), .(Y, Zs)) -> SELECT_IN_AGA(X, Ys, Zs) 29.01/8.34 U3_AG(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_AG(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 29.01/8.34 U3_AG(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> MEMBERS_IN_AG(Neighbors, Colors1) 29.01/8.34 MEMBERS_IN_AG(.(X, Xs), Ys) -> U6_AG(X, Xs, Ys, member_in_ag(X, Ys)) 29.01/8.34 MEMBERS_IN_AG(.(X, Xs), Ys) -> MEMBER_IN_AG(X, Ys) 29.01/8.34 MEMBER_IN_AG(X, .(X2, Xs)) -> U8_AG(X, X2, Xs, member_in_ag(X, Xs)) 29.01/8.34 MEMBER_IN_AG(X, .(X2, Xs)) -> MEMBER_IN_AG(X, Xs) 29.01/8.34 U6_AG(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_AG(X, Xs, Ys, members_in_ag(Xs, Ys)) 29.01/8.34 U6_AG(X, Xs, Ys, member_out_ag(X, Ys)) -> MEMBERS_IN_AG(Xs, Ys) 29.01/8.34 U1_AG(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_AG(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 29.01/8.34 U1_AG(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> COLOR_MAP_IN_AG(Regions, Colors) 29.01/8.34 29.01/8.34 The TRS R consists of the following rules: 29.01/8.34 29.01/8.34 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 29.01/8.34 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 29.01/8.34 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 29.01/8.34 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 29.01/8.34 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 29.01/8.34 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 29.01/8.34 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 29.01/8.34 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 29.01/8.34 member_in_ag(X, .(X2, Xs)) -> U8_ag(X, X2, Xs, member_in_ag(X, Xs)) 29.01/8.34 U8_ag(X, X2, Xs, member_out_ag(X, Xs)) -> member_out_ag(X, .(X2, Xs)) 29.01/8.34 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 29.01/8.34 members_in_ag([], Ys) -> members_out_ag([], Ys) 29.01/8.34 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 29.01/8.34 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 29.01/8.34 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 29.01/8.34 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 29.01/8.34 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 29.01/8.34 29.01/8.34 The argument filtering Pi contains the following mapping: 29.01/8.34 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 29.01/8.34 29.01/8.34 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 29.01/8.34 29.01/8.34 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 29.01/8.34 29.01/8.34 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x5) 29.01/8.34 29.01/8.34 select_in_aga(x1, x2, x3) = select_in_aga(x2) 29.01/8.34 29.01/8.34 .(x1, x2) = .(x1, x2) 29.01/8.34 29.01/8.34 select_out_aga(x1, x2, x3) = select_out_aga(x1, x3) 29.01/8.34 29.01/8.34 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x5) 29.01/8.34 29.01/8.34 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x5) 29.01/8.34 29.01/8.34 members_in_ag(x1, x2) = members_in_ag(x2) 29.01/8.34 29.01/8.34 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 29.01/8.34 29.01/8.34 member_in_ag(x1, x2) = member_in_ag(x2) 29.01/8.34 29.01/8.34 member_out_ag(x1, x2) = member_out_ag(x1) 29.01/8.34 29.01/8.34 U8_ag(x1, x2, x3, x4) = U8_ag(x4) 29.01/8.34 29.01/8.34 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x4) 29.01/8.34 29.01/8.34 members_out_ag(x1, x2) = members_out_ag(x1) 29.01/8.34 29.01/8.34 color_region_out_ag(x1, x2) = color_region_out_ag(x1) 29.01/8.34 29.01/8.34 region(x1, x2, x3) = region(x2, x3) 29.01/8.34 29.01/8.34 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x4) 29.01/8.34 29.01/8.34 color_map_out_ag(x1, x2) = color_map_out_ag(x1) 29.01/8.34 29.01/8.34 COLOR_MAP_IN_AG(x1, x2) = COLOR_MAP_IN_AG(x2) 29.01/8.34 29.01/8.34 U1_AG(x1, x2, x3, x4) = U1_AG(x3, x4) 29.01/8.34 29.01/8.34 COLOR_REGION_IN_AG(x1, x2) = COLOR_REGION_IN_AG(x2) 29.01/8.34 29.01/8.34 U3_AG(x1, x2, x3, x4, x5) = U3_AG(x5) 29.01/8.34 29.01/8.34 SELECT_IN_AGA(x1, x2, x3) = SELECT_IN_AGA(x2) 29.01/8.34 29.01/8.34 U5_AGA(x1, x2, x3, x4, x5) = U5_AGA(x2, x5) 29.01/8.34 29.01/8.34 U4_AG(x1, x2, x3, x4, x5) = U4_AG(x2, x5) 29.01/8.34 29.01/8.34 MEMBERS_IN_AG(x1, x2) = MEMBERS_IN_AG(x2) 29.01/8.34 29.01/8.34 U6_AG(x1, x2, x3, x4) = U6_AG(x3, x4) 29.01/8.34 29.01/8.34 MEMBER_IN_AG(x1, x2) = MEMBER_IN_AG(x2) 29.01/8.34 29.01/8.34 U8_AG(x1, x2, x3, x4) = U8_AG(x4) 29.01/8.34 29.01/8.34 U7_AG(x1, x2, x3, x4) = U7_AG(x1, x4) 29.01/8.34 29.01/8.34 U2_AG(x1, x2, x3, x4) = U2_AG(x1, x4) 29.01/8.34 29.01/8.34 29.01/8.34 We have to consider all (P,R,Pi)-chains 29.01/8.34 ---------------------------------------- 29.01/8.34 29.01/8.34 (4) 29.01/8.34 Obligation: 29.01/8.34 Pi DP problem: 29.01/8.34 The TRS P consists of the following rules: 29.01/8.34 29.01/8.34 COLOR_MAP_IN_AG(.(Region, Regions), Colors) -> U1_AG(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 29.01/8.34 COLOR_MAP_IN_AG(.(Region, Regions), Colors) -> COLOR_REGION_IN_AG(Region, Colors) 29.01/8.34 COLOR_REGION_IN_AG(region(Name, Color, Neighbors), Colors) -> U3_AG(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 29.01/8.34 COLOR_REGION_IN_AG(region(Name, Color, Neighbors), Colors) -> SELECT_IN_AGA(Color, Colors, Colors1) 29.01/8.34 SELECT_IN_AGA(X, .(Y, Ys), .(Y, Zs)) -> U5_AGA(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 29.01/8.34 SELECT_IN_AGA(X, .(Y, Ys), .(Y, Zs)) -> SELECT_IN_AGA(X, Ys, Zs) 29.01/8.34 U3_AG(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_AG(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 29.01/8.34 U3_AG(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> MEMBERS_IN_AG(Neighbors, Colors1) 29.01/8.34 MEMBERS_IN_AG(.(X, Xs), Ys) -> U6_AG(X, Xs, Ys, member_in_ag(X, Ys)) 29.01/8.34 MEMBERS_IN_AG(.(X, Xs), Ys) -> MEMBER_IN_AG(X, Ys) 29.01/8.34 MEMBER_IN_AG(X, .(X2, Xs)) -> U8_AG(X, X2, Xs, member_in_ag(X, Xs)) 29.01/8.34 MEMBER_IN_AG(X, .(X2, Xs)) -> MEMBER_IN_AG(X, Xs) 29.01/8.34 U6_AG(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_AG(X, Xs, Ys, members_in_ag(Xs, Ys)) 29.01/8.34 U6_AG(X, Xs, Ys, member_out_ag(X, Ys)) -> MEMBERS_IN_AG(Xs, Ys) 29.01/8.34 U1_AG(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_AG(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 29.01/8.34 U1_AG(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> COLOR_MAP_IN_AG(Regions, Colors) 29.01/8.34 29.01/8.34 The TRS R consists of the following rules: 29.01/8.34 29.01/8.34 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 29.01/8.34 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 29.01/8.34 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 29.01/8.34 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 29.01/8.34 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 29.01/8.34 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 29.01/8.34 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 29.01/8.34 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 29.01/8.34 member_in_ag(X, .(X2, Xs)) -> U8_ag(X, X2, Xs, member_in_ag(X, Xs)) 29.01/8.34 U8_ag(X, X2, Xs, member_out_ag(X, Xs)) -> member_out_ag(X, .(X2, Xs)) 29.01/8.34 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 29.01/8.34 members_in_ag([], Ys) -> members_out_ag([], Ys) 29.01/8.34 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 29.01/8.34 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 29.01/8.34 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 29.01/8.34 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 29.01/8.34 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 29.01/8.34 29.01/8.34 The argument filtering Pi contains the following mapping: 29.01/8.34 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 29.01/8.34 29.01/8.34 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 29.01/8.34 29.01/8.34 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 29.01/8.34 29.01/8.34 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x5) 29.01/8.34 29.01/8.34 select_in_aga(x1, x2, x3) = select_in_aga(x2) 29.01/8.34 29.01/8.34 .(x1, x2) = .(x1, x2) 29.01/8.34 29.01/8.34 select_out_aga(x1, x2, x3) = select_out_aga(x1, x3) 29.01/8.34 29.01/8.34 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x5) 29.01/8.34 29.01/8.34 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x5) 29.01/8.34 29.01/8.34 members_in_ag(x1, x2) = members_in_ag(x2) 29.01/8.34 29.01/8.34 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 29.01/8.34 29.01/8.34 member_in_ag(x1, x2) = member_in_ag(x2) 29.01/8.34 29.01/8.34 member_out_ag(x1, x2) = member_out_ag(x1) 29.01/8.34 29.01/8.34 U8_ag(x1, x2, x3, x4) = U8_ag(x4) 29.01/8.34 29.01/8.34 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x4) 29.01/8.34 29.01/8.34 members_out_ag(x1, x2) = members_out_ag(x1) 29.01/8.34 29.01/8.34 color_region_out_ag(x1, x2) = color_region_out_ag(x1) 29.01/8.34 29.01/8.34 region(x1, x2, x3) = region(x2, x3) 29.01/8.34 29.01/8.34 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x4) 29.01/8.34 29.01/8.34 color_map_out_ag(x1, x2) = color_map_out_ag(x1) 29.01/8.34 29.01/8.34 COLOR_MAP_IN_AG(x1, x2) = COLOR_MAP_IN_AG(x2) 29.01/8.34 29.01/8.34 U1_AG(x1, x2, x3, x4) = U1_AG(x3, x4) 29.01/8.34 29.01/8.34 COLOR_REGION_IN_AG(x1, x2) = COLOR_REGION_IN_AG(x2) 29.01/8.34 29.01/8.34 U3_AG(x1, x2, x3, x4, x5) = U3_AG(x5) 29.01/8.34 29.01/8.34 SELECT_IN_AGA(x1, x2, x3) = SELECT_IN_AGA(x2) 29.01/8.34 29.01/8.34 U5_AGA(x1, x2, x3, x4, x5) = U5_AGA(x2, x5) 29.01/8.34 29.01/8.34 U4_AG(x1, x2, x3, x4, x5) = U4_AG(x2, x5) 29.01/8.34 29.01/8.34 MEMBERS_IN_AG(x1, x2) = MEMBERS_IN_AG(x2) 29.01/8.34 29.01/8.34 U6_AG(x1, x2, x3, x4) = U6_AG(x3, x4) 29.01/8.34 29.01/8.34 MEMBER_IN_AG(x1, x2) = MEMBER_IN_AG(x2) 29.01/8.34 29.01/8.34 U8_AG(x1, x2, x3, x4) = U8_AG(x4) 29.01/8.34 29.01/8.34 U7_AG(x1, x2, x3, x4) = U7_AG(x1, x4) 29.01/8.34 29.01/8.34 U2_AG(x1, x2, x3, x4) = U2_AG(x1, x4) 29.01/8.34 29.01/8.34 29.01/8.34 We have to consider all (P,R,Pi)-chains 29.01/8.34 ---------------------------------------- 29.01/8.34 29.01/8.34 (5) DependencyGraphProof (EQUIVALENT) 29.01/8.34 The approximation of the Dependency Graph [LOPSTR] contains 4 SCCs with 10 less nodes. 29.01/8.34 ---------------------------------------- 29.01/8.34 29.01/8.34 (6) 29.01/8.34 Complex Obligation (AND) 29.01/8.34 29.01/8.34 ---------------------------------------- 29.01/8.34 29.01/8.34 (7) 29.01/8.34 Obligation: 29.01/8.34 Pi DP problem: 29.01/8.34 The TRS P consists of the following rules: 29.01/8.34 29.01/8.34 MEMBER_IN_AG(X, .(X2, Xs)) -> MEMBER_IN_AG(X, Xs) 29.01/8.34 29.01/8.34 The TRS R consists of the following rules: 29.01/8.34 29.01/8.34 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 29.01/8.34 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 29.01/8.34 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 29.01/8.34 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 29.01/8.34 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 29.01/8.34 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 29.01/8.34 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 29.01/8.34 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 29.01/8.34 member_in_ag(X, .(X2, Xs)) -> U8_ag(X, X2, Xs, member_in_ag(X, Xs)) 29.01/8.34 U8_ag(X, X2, Xs, member_out_ag(X, Xs)) -> member_out_ag(X, .(X2, Xs)) 29.01/8.34 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 29.01/8.34 members_in_ag([], Ys) -> members_out_ag([], Ys) 29.01/8.34 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 29.01/8.34 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 29.01/8.34 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 29.01/8.34 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 29.01/8.34 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 29.01/8.34 29.01/8.34 The argument filtering Pi contains the following mapping: 29.01/8.34 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 29.01/8.34 29.01/8.34 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 29.01/8.34 29.01/8.34 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 29.01/8.34 29.01/8.34 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x5) 29.01/8.34 29.01/8.34 select_in_aga(x1, x2, x3) = select_in_aga(x2) 29.01/8.34 29.01/8.34 .(x1, x2) = .(x1, x2) 29.01/8.34 29.01/8.34 select_out_aga(x1, x2, x3) = select_out_aga(x1, x3) 29.01/8.34 29.01/8.34 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x5) 29.01/8.34 29.01/8.34 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x5) 29.01/8.34 29.01/8.34 members_in_ag(x1, x2) = members_in_ag(x2) 29.01/8.34 29.01/8.34 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 29.01/8.34 29.01/8.34 member_in_ag(x1, x2) = member_in_ag(x2) 29.01/8.34 29.01/8.34 member_out_ag(x1, x2) = member_out_ag(x1) 29.01/8.34 29.01/8.34 U8_ag(x1, x2, x3, x4) = U8_ag(x4) 29.01/8.34 29.01/8.34 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x4) 29.01/8.34 29.01/8.34 members_out_ag(x1, x2) = members_out_ag(x1) 29.01/8.34 29.01/8.34 color_region_out_ag(x1, x2) = color_region_out_ag(x1) 29.01/8.34 29.01/8.34 region(x1, x2, x3) = region(x2, x3) 29.01/8.34 29.01/8.34 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x4) 29.01/8.34 29.01/8.34 color_map_out_ag(x1, x2) = color_map_out_ag(x1) 29.01/8.34 29.01/8.34 MEMBER_IN_AG(x1, x2) = MEMBER_IN_AG(x2) 29.01/8.34 29.01/8.34 29.01/8.34 We have to consider all (P,R,Pi)-chains 29.01/8.34 ---------------------------------------- 29.01/8.35 29.01/8.35 (8) UsableRulesProof (EQUIVALENT) 29.01/8.35 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 29.01/8.35 ---------------------------------------- 29.01/8.35 29.01/8.35 (9) 29.01/8.35 Obligation: 29.01/8.35 Pi DP problem: 29.01/8.35 The TRS P consists of the following rules: 29.01/8.35 29.01/8.35 MEMBER_IN_AG(X, .(X2, Xs)) -> MEMBER_IN_AG(X, Xs) 29.01/8.35 29.01/8.35 R is empty. 29.01/8.35 The argument filtering Pi contains the following mapping: 29.01/8.35 .(x1, x2) = .(x1, x2) 29.01/8.35 29.01/8.35 MEMBER_IN_AG(x1, x2) = MEMBER_IN_AG(x2) 29.01/8.35 29.01/8.35 29.01/8.35 We have to consider all (P,R,Pi)-chains 29.01/8.35 ---------------------------------------- 29.01/8.35 29.01/8.35 (10) PiDPToQDPProof (SOUND) 29.01/8.35 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 29.01/8.35 ---------------------------------------- 29.01/8.35 29.01/8.35 (11) 29.01/8.35 Obligation: 29.01/8.35 Q DP problem: 29.01/8.35 The TRS P consists of the following rules: 29.01/8.35 29.01/8.35 MEMBER_IN_AG(.(X2, Xs)) -> MEMBER_IN_AG(Xs) 29.01/8.35 29.01/8.35 R is empty. 29.01/8.35 Q is empty. 29.01/8.35 We have to consider all (P,Q,R)-chains. 29.01/8.35 ---------------------------------------- 29.01/8.35 29.01/8.35 (12) QDPSizeChangeProof (EQUIVALENT) 29.01/8.35 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 29.01/8.35 29.01/8.35 From the DPs we obtained the following set of size-change graphs: 29.01/8.35 *MEMBER_IN_AG(.(X2, Xs)) -> MEMBER_IN_AG(Xs) 29.01/8.35 The graph contains the following edges 1 > 1 29.01/8.35 29.01/8.35 29.01/8.35 ---------------------------------------- 29.01/8.35 29.01/8.35 (13) 29.01/8.35 YES 29.01/8.35 29.01/8.35 ---------------------------------------- 29.01/8.35 29.01/8.35 (14) 29.01/8.35 Obligation: 29.01/8.35 Pi DP problem: 29.01/8.35 The TRS P consists of the following rules: 29.01/8.35 29.01/8.35 U6_AG(X, Xs, Ys, member_out_ag(X, Ys)) -> MEMBERS_IN_AG(Xs, Ys) 29.01/8.35 MEMBERS_IN_AG(.(X, Xs), Ys) -> U6_AG(X, Xs, Ys, member_in_ag(X, Ys)) 29.01/8.35 29.01/8.35 The TRS R consists of the following rules: 29.01/8.35 29.01/8.35 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 29.01/8.35 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 29.01/8.35 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 29.01/8.35 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 29.01/8.35 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 29.01/8.35 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 29.01/8.35 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 29.01/8.35 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 29.01/8.35 member_in_ag(X, .(X2, Xs)) -> U8_ag(X, X2, Xs, member_in_ag(X, Xs)) 29.01/8.35 U8_ag(X, X2, Xs, member_out_ag(X, Xs)) -> member_out_ag(X, .(X2, Xs)) 29.01/8.35 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 29.01/8.35 members_in_ag([], Ys) -> members_out_ag([], Ys) 29.01/8.35 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 29.01/8.35 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 29.01/8.35 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 29.01/8.35 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 29.01/8.35 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 29.01/8.35 29.01/8.35 The argument filtering Pi contains the following mapping: 29.01/8.35 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 29.01/8.35 29.01/8.35 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 29.01/8.35 29.01/8.35 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 29.01/8.35 29.01/8.35 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x5) 29.01/8.35 29.01/8.35 select_in_aga(x1, x2, x3) = select_in_aga(x2) 29.01/8.35 29.01/8.35 .(x1, x2) = .(x1, x2) 29.01/8.35 29.01/8.35 select_out_aga(x1, x2, x3) = select_out_aga(x1, x3) 29.01/8.35 29.01/8.35 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x5) 29.01/8.35 29.01/8.35 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x5) 29.01/8.35 29.01/8.35 members_in_ag(x1, x2) = members_in_ag(x2) 29.01/8.35 29.01/8.35 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 29.01/8.35 29.01/8.35 member_in_ag(x1, x2) = member_in_ag(x2) 29.01/8.35 29.01/8.35 member_out_ag(x1, x2) = member_out_ag(x1) 29.01/8.35 29.01/8.35 U8_ag(x1, x2, x3, x4) = U8_ag(x4) 29.01/8.35 29.01/8.35 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x4) 29.01/8.35 29.01/8.35 members_out_ag(x1, x2) = members_out_ag(x1) 29.01/8.35 29.01/8.35 color_region_out_ag(x1, x2) = color_region_out_ag(x1) 29.01/8.35 29.01/8.35 region(x1, x2, x3) = region(x2, x3) 29.01/8.35 29.01/8.35 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x4) 29.01/8.35 29.01/8.35 color_map_out_ag(x1, x2) = color_map_out_ag(x1) 29.01/8.35 29.01/8.35 MEMBERS_IN_AG(x1, x2) = MEMBERS_IN_AG(x2) 29.01/8.35 29.01/8.35 U6_AG(x1, x2, x3, x4) = U6_AG(x3, x4) 29.01/8.35 29.01/8.35 29.01/8.35 We have to consider all (P,R,Pi)-chains 29.01/8.35 ---------------------------------------- 29.01/8.35 29.01/8.35 (15) UsableRulesProof (EQUIVALENT) 29.01/8.35 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 29.01/8.35 ---------------------------------------- 29.01/8.35 29.01/8.35 (16) 29.01/8.35 Obligation: 29.01/8.35 Pi DP problem: 29.01/8.35 The TRS P consists of the following rules: 29.01/8.35 29.01/8.35 U6_AG(X, Xs, Ys, member_out_ag(X, Ys)) -> MEMBERS_IN_AG(Xs, Ys) 29.01/8.35 MEMBERS_IN_AG(.(X, Xs), Ys) -> U6_AG(X, Xs, Ys, member_in_ag(X, Ys)) 29.01/8.35 29.01/8.35 The TRS R consists of the following rules: 29.01/8.35 29.01/8.35 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 29.01/8.35 member_in_ag(X, .(X2, Xs)) -> U8_ag(X, X2, Xs, member_in_ag(X, Xs)) 29.01/8.35 U8_ag(X, X2, Xs, member_out_ag(X, Xs)) -> member_out_ag(X, .(X2, Xs)) 29.01/8.35 29.01/8.35 The argument filtering Pi contains the following mapping: 29.01/8.35 .(x1, x2) = .(x1, x2) 29.01/8.35 29.01/8.35 member_in_ag(x1, x2) = member_in_ag(x2) 29.01/8.35 29.01/8.35 member_out_ag(x1, x2) = member_out_ag(x1) 29.01/8.35 29.01/8.35 U8_ag(x1, x2, x3, x4) = U8_ag(x4) 29.01/8.35 29.01/8.35 MEMBERS_IN_AG(x1, x2) = MEMBERS_IN_AG(x2) 29.01/8.35 29.01/8.35 U6_AG(x1, x2, x3, x4) = U6_AG(x3, x4) 29.01/8.35 29.01/8.35 29.01/8.35 We have to consider all (P,R,Pi)-chains 29.01/8.35 ---------------------------------------- 29.01/8.35 29.01/8.35 (17) PiDPToQDPProof (SOUND) 29.01/8.35 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 29.01/8.35 ---------------------------------------- 29.01/8.35 29.01/8.35 (18) 29.01/8.35 Obligation: 29.01/8.35 Q DP problem: 29.01/8.35 The TRS P consists of the following rules: 29.01/8.35 29.01/8.35 U6_AG(Ys, member_out_ag(X)) -> MEMBERS_IN_AG(Ys) 29.01/8.35 MEMBERS_IN_AG(Ys) -> U6_AG(Ys, member_in_ag(Ys)) 29.01/8.35 29.01/8.35 The TRS R consists of the following rules: 29.01/8.35 29.01/8.35 member_in_ag(.(X, X1)) -> member_out_ag(X) 29.01/8.35 member_in_ag(.(X2, Xs)) -> U8_ag(member_in_ag(Xs)) 29.01/8.35 U8_ag(member_out_ag(X)) -> member_out_ag(X) 29.01/8.35 29.01/8.35 The set Q consists of the following terms: 29.01/8.35 29.01/8.35 member_in_ag(x0) 29.01/8.35 U8_ag(x0) 29.01/8.35 29.01/8.35 We have to consider all (P,Q,R)-chains. 29.01/8.35 ---------------------------------------- 29.01/8.35 29.01/8.35 (19) TransformationProof (SOUND) 29.01/8.35 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]: 29.01/8.35 29.01/8.35 (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))) 29.01/8.35 (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)))) 29.01/8.35 29.01/8.35 29.01/8.35 ---------------------------------------- 29.01/8.35 29.01/8.35 (20) 29.01/8.35 Obligation: 29.01/8.35 Q DP problem: 29.01/8.35 The TRS P consists of the following rules: 29.01/8.35 29.01/8.35 U6_AG(Ys, member_out_ag(X)) -> MEMBERS_IN_AG(Ys) 29.01/8.35 MEMBERS_IN_AG(.(x0, x1)) -> U6_AG(.(x0, x1), member_out_ag(x0)) 29.01/8.35 MEMBERS_IN_AG(.(x0, x1)) -> U6_AG(.(x0, x1), U8_ag(member_in_ag(x1))) 29.01/8.35 29.01/8.35 The TRS R consists of the following rules: 29.01/8.35 29.01/8.35 member_in_ag(.(X, X1)) -> member_out_ag(X) 29.01/8.35 member_in_ag(.(X2, Xs)) -> U8_ag(member_in_ag(Xs)) 29.01/8.35 U8_ag(member_out_ag(X)) -> member_out_ag(X) 29.01/8.35 29.01/8.35 The set Q consists of the following terms: 29.01/8.35 29.01/8.35 member_in_ag(x0) 29.01/8.35 U8_ag(x0) 29.01/8.35 29.01/8.35 We have to consider all (P,Q,R)-chains. 29.01/8.35 ---------------------------------------- 29.01/8.35 29.01/8.35 (21) TransformationProof (EQUIVALENT) 29.01/8.35 By instantiating [LPAR04] the rule U6_AG(Ys, member_out_ag(X)) -> MEMBERS_IN_AG(Ys) we obtained the following new rules [LPAR04]: 29.01/8.35 29.01/8.35 (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))) 29.01/8.35 (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))) 29.01/8.35 29.01/8.35 29.01/8.35 ---------------------------------------- 29.01/8.35 29.01/8.35 (22) 29.01/8.35 Obligation: 29.01/8.35 Q DP problem: 29.01/8.35 The TRS P consists of the following rules: 29.01/8.35 29.01/8.35 MEMBERS_IN_AG(.(x0, x1)) -> U6_AG(.(x0, x1), member_out_ag(x0)) 29.01/8.35 MEMBERS_IN_AG(.(x0, x1)) -> U6_AG(.(x0, x1), U8_ag(member_in_ag(x1))) 29.01/8.35 U6_AG(.(z0, z1), member_out_ag(z0)) -> MEMBERS_IN_AG(.(z0, z1)) 29.01/8.35 U6_AG(.(z0, z1), member_out_ag(x1)) -> MEMBERS_IN_AG(.(z0, z1)) 29.01/8.35 29.01/8.35 The TRS R consists of the following rules: 29.01/8.35 29.01/8.35 member_in_ag(.(X, X1)) -> member_out_ag(X) 29.01/8.35 member_in_ag(.(X2, Xs)) -> U8_ag(member_in_ag(Xs)) 29.01/8.36 U8_ag(member_out_ag(X)) -> member_out_ag(X) 29.01/8.36 29.01/8.36 The set Q consists of the following terms: 29.01/8.36 29.01/8.36 member_in_ag(x0) 29.01/8.36 U8_ag(x0) 29.01/8.36 29.01/8.36 We have to consider all (P,Q,R)-chains. 29.01/8.36 ---------------------------------------- 29.01/8.36 29.01/8.36 (23) NonTerminationLoopProof (COMPLETE) 29.01/8.36 We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. 29.01/8.36 Found a loop by narrowing to the left: 29.01/8.36 29.01/8.36 s = U6_AG(.(z0, z1), member_out_ag(z0)) evaluates to t =U6_AG(.(z0, z1), member_out_ag(z0)) 29.01/8.36 29.01/8.36 Thus s starts an infinite chain as s semiunifies with t with the following substitutions: 29.01/8.36 * Matcher: [ ] 29.01/8.36 * Semiunifier: [ ] 29.01/8.36 29.01/8.36 -------------------------------------------------------------------------------- 29.01/8.36 Rewriting sequence 29.01/8.36 29.01/8.36 U6_AG(.(z0, z1), member_out_ag(z0)) -> MEMBERS_IN_AG(.(z0, z1)) 29.01/8.36 with rule U6_AG(.(z0', z1'), member_out_ag(z0')) -> MEMBERS_IN_AG(.(z0', z1')) at position [] and matcher [z0' / z0, z1' / z1] 29.01/8.36 29.01/8.36 MEMBERS_IN_AG(.(z0, z1)) -> U6_AG(.(z0, z1), member_out_ag(z0)) 29.01/8.36 with rule MEMBERS_IN_AG(.(x0, x1)) -> U6_AG(.(x0, x1), member_out_ag(x0)) 29.01/8.36 29.01/8.36 Now applying the matcher to the start term leads to a term which is equal to the last term in the rewriting sequence 29.01/8.36 29.01/8.36 29.01/8.36 All these steps are and every following step will be a correct step w.r.t to Q. 29.01/8.36 29.01/8.36 29.01/8.36 29.01/8.36 29.01/8.36 ---------------------------------------- 29.01/8.36 29.01/8.36 (24) 29.01/8.36 NO 29.01/8.36 29.01/8.36 ---------------------------------------- 29.01/8.36 29.01/8.36 (25) 29.01/8.36 Obligation: 29.01/8.36 Pi DP problem: 29.01/8.36 The TRS P consists of the following rules: 29.01/8.36 29.01/8.36 SELECT_IN_AGA(X, .(Y, Ys), .(Y, Zs)) -> SELECT_IN_AGA(X, Ys, Zs) 29.01/8.36 29.01/8.36 The TRS R consists of the following rules: 29.01/8.36 29.01/8.36 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 29.01/8.36 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 29.01/8.36 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 29.01/8.36 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 29.01/8.36 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 29.01/8.36 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 29.01/8.36 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 29.01/8.36 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 29.01/8.36 member_in_ag(X, .(X2, Xs)) -> U8_ag(X, X2, Xs, member_in_ag(X, Xs)) 29.01/8.36 U8_ag(X, X2, Xs, member_out_ag(X, Xs)) -> member_out_ag(X, .(X2, Xs)) 29.01/8.36 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 29.01/8.36 members_in_ag([], Ys) -> members_out_ag([], Ys) 29.01/8.36 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 29.01/8.36 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 29.01/8.36 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 29.01/8.36 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 29.01/8.36 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 29.01/8.36 29.01/8.36 The argument filtering Pi contains the following mapping: 29.01/8.36 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 29.01/8.36 29.01/8.36 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 29.01/8.36 29.01/8.36 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 29.01/8.36 29.01/8.36 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x5) 29.01/8.36 29.01/8.36 select_in_aga(x1, x2, x3) = select_in_aga(x2) 29.01/8.36 29.01/8.36 .(x1, x2) = .(x1, x2) 29.01/8.36 29.01/8.36 select_out_aga(x1, x2, x3) = select_out_aga(x1, x3) 29.01/8.36 29.01/8.36 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x5) 29.01/8.36 29.01/8.36 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x5) 29.01/8.36 29.01/8.36 members_in_ag(x1, x2) = members_in_ag(x2) 29.01/8.36 29.01/8.36 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 29.01/8.36 29.01/8.36 member_in_ag(x1, x2) = member_in_ag(x2) 29.01/8.36 29.01/8.36 member_out_ag(x1, x2) = member_out_ag(x1) 29.01/8.36 29.01/8.36 U8_ag(x1, x2, x3, x4) = U8_ag(x4) 29.01/8.36 29.01/8.36 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x4) 29.01/8.36 29.01/8.36 members_out_ag(x1, x2) = members_out_ag(x1) 29.01/8.36 29.01/8.36 color_region_out_ag(x1, x2) = color_region_out_ag(x1) 29.01/8.36 29.01/8.36 region(x1, x2, x3) = region(x2, x3) 29.01/8.36 29.01/8.36 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x4) 29.01/8.36 29.01/8.36 color_map_out_ag(x1, x2) = color_map_out_ag(x1) 29.01/8.36 29.01/8.36 SELECT_IN_AGA(x1, x2, x3) = SELECT_IN_AGA(x2) 29.01/8.36 29.01/8.36 29.01/8.36 We have to consider all (P,R,Pi)-chains 29.01/8.36 ---------------------------------------- 29.01/8.36 29.01/8.36 (26) UsableRulesProof (EQUIVALENT) 29.01/8.36 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 29.01/8.36 ---------------------------------------- 29.01/8.36 29.01/8.36 (27) 29.01/8.36 Obligation: 29.01/8.36 Pi DP problem: 29.01/8.36 The TRS P consists of the following rules: 29.01/8.36 29.01/8.36 SELECT_IN_AGA(X, .(Y, Ys), .(Y, Zs)) -> SELECT_IN_AGA(X, Ys, Zs) 29.01/8.36 29.01/8.36 R is empty. 29.01/8.36 The argument filtering Pi contains the following mapping: 29.01/8.36 .(x1, x2) = .(x1, x2) 29.01/8.36 29.01/8.36 SELECT_IN_AGA(x1, x2, x3) = SELECT_IN_AGA(x2) 29.01/8.36 29.01/8.36 29.01/8.36 We have to consider all (P,R,Pi)-chains 29.01/8.36 ---------------------------------------- 29.01/8.36 29.01/8.36 (28) PiDPToQDPProof (SOUND) 29.01/8.36 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 29.01/8.36 ---------------------------------------- 29.01/8.36 29.01/8.36 (29) 29.01/8.36 Obligation: 29.01/8.36 Q DP problem: 29.01/8.36 The TRS P consists of the following rules: 29.01/8.36 29.01/8.36 SELECT_IN_AGA(.(Y, Ys)) -> SELECT_IN_AGA(Ys) 29.01/8.36 29.01/8.36 R is empty. 29.01/8.36 Q is empty. 29.01/8.36 We have to consider all (P,Q,R)-chains. 29.01/8.36 ---------------------------------------- 29.01/8.36 29.01/8.36 (30) QDPSizeChangeProof (EQUIVALENT) 29.01/8.36 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. 29.01/8.36 29.01/8.36 From the DPs we obtained the following set of size-change graphs: 29.01/8.36 *SELECT_IN_AGA(.(Y, Ys)) -> SELECT_IN_AGA(Ys) 29.01/8.36 The graph contains the following edges 1 > 1 29.01/8.36 29.01/8.36 29.01/8.36 ---------------------------------------- 29.01/8.36 29.01/8.36 (31) 29.01/8.36 YES 29.01/8.36 29.01/8.36 ---------------------------------------- 29.01/8.36 29.01/8.36 (32) 29.01/8.36 Obligation: 29.01/8.36 Pi DP problem: 29.01/8.36 The TRS P consists of the following rules: 29.01/8.36 29.01/8.36 U1_AG(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> COLOR_MAP_IN_AG(Regions, Colors) 29.01/8.36 COLOR_MAP_IN_AG(.(Region, Regions), Colors) -> U1_AG(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 29.01/8.36 29.01/8.36 The TRS R consists of the following rules: 29.01/8.36 29.01/8.36 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 29.01/8.36 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 29.01/8.36 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 29.01/8.36 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 29.01/8.36 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 29.01/8.36 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 29.01/8.36 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 29.01/8.36 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 29.01/8.36 member_in_ag(X, .(X2, Xs)) -> U8_ag(X, X2, Xs, member_in_ag(X, Xs)) 29.01/8.36 U8_ag(X, X2, Xs, member_out_ag(X, Xs)) -> member_out_ag(X, .(X2, Xs)) 29.01/8.36 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 29.01/8.36 members_in_ag([], Ys) -> members_out_ag([], Ys) 29.01/8.36 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 29.01/8.36 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 29.01/8.36 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 29.01/8.36 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 29.01/8.36 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 29.01/8.36 29.01/8.36 The argument filtering Pi contains the following mapping: 29.01/8.36 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 29.01/8.36 29.01/8.36 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 29.01/8.36 29.01/8.36 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 29.01/8.36 29.01/8.36 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x5) 29.01/8.36 29.01/8.36 select_in_aga(x1, x2, x3) = select_in_aga(x2) 29.01/8.36 29.01/8.36 .(x1, x2) = .(x1, x2) 29.01/8.36 29.01/8.36 select_out_aga(x1, x2, x3) = select_out_aga(x1, x3) 29.01/8.36 29.01/8.36 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x5) 29.01/8.36 29.01/8.36 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x5) 29.01/8.36 29.01/8.36 members_in_ag(x1, x2) = members_in_ag(x2) 29.01/8.36 29.01/8.36 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 29.01/8.36 29.01/8.36 member_in_ag(x1, x2) = member_in_ag(x2) 29.01/8.36 29.01/8.36 member_out_ag(x1, x2) = member_out_ag(x1) 29.01/8.36 29.01/8.36 U8_ag(x1, x2, x3, x4) = U8_ag(x4) 29.01/8.36 29.01/8.36 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x4) 29.01/8.36 29.01/8.36 members_out_ag(x1, x2) = members_out_ag(x1) 29.01/8.36 29.01/8.36 color_region_out_ag(x1, x2) = color_region_out_ag(x1) 29.01/8.36 29.01/8.36 region(x1, x2, x3) = region(x2, x3) 29.01/8.36 29.01/8.36 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x4) 29.01/8.36 29.01/8.36 color_map_out_ag(x1, x2) = color_map_out_ag(x1) 29.01/8.36 29.01/8.36 COLOR_MAP_IN_AG(x1, x2) = COLOR_MAP_IN_AG(x2) 29.01/8.36 29.01/8.36 U1_AG(x1, x2, x3, x4) = U1_AG(x3, x4) 29.01/8.36 29.01/8.36 29.01/8.36 We have to consider all (P,R,Pi)-chains 29.01/8.36 ---------------------------------------- 29.01/8.36 29.01/8.36 (33) UsableRulesProof (EQUIVALENT) 29.01/8.36 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 29.01/8.36 ---------------------------------------- 29.01/8.36 29.01/8.36 (34) 29.01/8.36 Obligation: 29.01/8.36 Pi DP problem: 29.01/8.36 The TRS P consists of the following rules: 29.01/8.36 29.01/8.36 U1_AG(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> COLOR_MAP_IN_AG(Regions, Colors) 29.01/8.36 COLOR_MAP_IN_AG(.(Region, Regions), Colors) -> U1_AG(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 29.01/8.36 29.01/8.36 The TRS R consists of the following rules: 29.01/8.36 29.01/8.36 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 29.01/8.36 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 29.01/8.36 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 29.01/8.36 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 29.01/8.36 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 29.01/8.36 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 29.01/8.36 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 29.01/8.36 members_in_ag([], Ys) -> members_out_ag([], Ys) 29.01/8.36 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 29.01/8.36 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 29.01/8.36 member_in_ag(X, .(X2, Xs)) -> U8_ag(X, X2, Xs, member_in_ag(X, Xs)) 29.01/8.36 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 29.01/8.36 U8_ag(X, X2, Xs, member_out_ag(X, Xs)) -> member_out_ag(X, .(X2, Xs)) 29.01/8.36 29.01/8.36 The argument filtering Pi contains the following mapping: 29.01/8.36 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 29.01/8.36 29.01/8.36 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x5) 29.01/8.36 29.01/8.36 select_in_aga(x1, x2, x3) = select_in_aga(x2) 29.01/8.36 29.01/8.36 .(x1, x2) = .(x1, x2) 29.01/8.36 29.01/8.36 select_out_aga(x1, x2, x3) = select_out_aga(x1, x3) 29.01/8.36 29.01/8.36 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x5) 29.01/8.36 29.01/8.36 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x5) 29.01/8.36 29.01/8.36 members_in_ag(x1, x2) = members_in_ag(x2) 29.01/8.36 29.01/8.36 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 29.01/8.36 29.01/8.36 member_in_ag(x1, x2) = member_in_ag(x2) 29.01/8.36 29.01/8.36 member_out_ag(x1, x2) = member_out_ag(x1) 29.01/8.36 29.01/8.36 U8_ag(x1, x2, x3, x4) = U8_ag(x4) 29.01/8.36 29.01/8.36 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x4) 29.01/8.36 29.01/8.36 members_out_ag(x1, x2) = members_out_ag(x1) 29.01/8.36 29.01/8.36 color_region_out_ag(x1, x2) = color_region_out_ag(x1) 29.01/8.36 29.01/8.36 region(x1, x2, x3) = region(x2, x3) 29.01/8.36 29.01/8.36 COLOR_MAP_IN_AG(x1, x2) = COLOR_MAP_IN_AG(x2) 29.01/8.36 29.01/8.36 U1_AG(x1, x2, x3, x4) = U1_AG(x3, x4) 29.01/8.36 29.01/8.36 29.01/8.36 We have to consider all (P,R,Pi)-chains 29.01/8.36 ---------------------------------------- 29.01/8.36 29.01/8.36 (35) PiDPToQDPProof (SOUND) 29.01/8.36 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 29.01/8.36 ---------------------------------------- 29.01/8.36 29.01/8.36 (36) 29.01/8.36 Obligation: 29.01/8.36 Q DP problem: 29.01/8.36 The TRS P consists of the following rules: 29.01/8.36 29.01/8.36 U1_AG(Colors, color_region_out_ag(Region)) -> COLOR_MAP_IN_AG(Colors) 29.01/8.36 COLOR_MAP_IN_AG(Colors) -> U1_AG(Colors, color_region_in_ag(Colors)) 29.01/8.36 29.01/8.36 The TRS R consists of the following rules: 29.01/8.36 29.01/8.36 color_region_in_ag(Colors) -> U3_ag(select_in_aga(Colors)) 29.01/8.36 U3_ag(select_out_aga(Color, Colors1)) -> U4_ag(Color, members_in_ag(Colors1)) 29.01/8.36 select_in_aga(.(X, Xs)) -> select_out_aga(X, Xs) 29.01/8.36 select_in_aga(.(Y, Ys)) -> U5_aga(Y, select_in_aga(Ys)) 29.01/8.36 U4_ag(Color, members_out_ag(Neighbors)) -> color_region_out_ag(region(Color, Neighbors)) 29.01/8.36 U5_aga(Y, select_out_aga(X, Zs)) -> select_out_aga(X, .(Y, Zs)) 29.01/8.36 members_in_ag(Ys) -> U6_ag(Ys, member_in_ag(Ys)) 29.01/8.36 members_in_ag(Ys) -> members_out_ag([]) 29.01/8.36 U6_ag(Ys, member_out_ag(X)) -> U7_ag(X, members_in_ag(Ys)) 29.01/8.36 member_in_ag(.(X, X1)) -> member_out_ag(X) 29.01/8.36 member_in_ag(.(X2, Xs)) -> U8_ag(member_in_ag(Xs)) 29.01/8.36 U7_ag(X, members_out_ag(Xs)) -> members_out_ag(.(X, Xs)) 29.01/8.36 U8_ag(member_out_ag(X)) -> member_out_ag(X) 29.01/8.36 29.01/8.36 The set Q consists of the following terms: 29.01/8.36 29.01/8.36 color_region_in_ag(x0) 29.01/8.36 U3_ag(x0) 29.01/8.36 select_in_aga(x0) 29.01/8.36 U4_ag(x0, x1) 29.01/8.36 U5_aga(x0, x1) 29.01/8.36 members_in_ag(x0) 29.01/8.36 U6_ag(x0, x1) 29.01/8.36 member_in_ag(x0) 29.01/8.36 U7_ag(x0, x1) 29.01/8.36 U8_ag(x0) 29.01/8.36 29.01/8.36 We have to consider all (P,Q,R)-chains. 29.01/8.36 ---------------------------------------- 29.01/8.36 29.01/8.36 (37) PrologToPiTRSProof (SOUND) 29.01/8.36 We use the technique of [TOCL09]. With regard to the inferred argument filtering the predicates were used in the following modes: 29.01/8.36 29.01/8.36 color_map_in_2: (f,b) 29.01/8.36 29.01/8.36 color_region_in_2: (f,b) 29.01/8.36 29.01/8.36 select_in_3: (f,b,f) 29.01/8.36 29.01/8.36 members_in_2: (f,b) 29.01/8.36 29.01/8.36 member_in_2: (f,b) 29.01/8.36 29.01/8.36 Transforming Prolog into the following Term Rewriting System: 29.01/8.36 29.01/8.36 Pi-finite rewrite system: 29.01/8.36 The TRS R consists of the following rules: 29.01/8.36 29.01/8.36 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 29.01/8.36 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 29.01/8.36 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 29.01/8.36 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 29.01/8.36 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 29.01/8.36 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 29.01/8.36 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 29.01/8.36 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 29.01/8.36 member_in_ag(X, .(X2, Xs)) -> U8_ag(X, X2, Xs, member_in_ag(X, Xs)) 29.01/8.36 U8_ag(X, X2, Xs, member_out_ag(X, Xs)) -> member_out_ag(X, .(X2, Xs)) 29.01/8.36 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 29.01/8.36 members_in_ag([], Ys) -> members_out_ag([], Ys) 29.01/8.36 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 29.01/8.36 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 29.01/8.36 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 29.01/8.36 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 29.01/8.36 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 29.01/8.36 29.01/8.36 The argument filtering Pi contains the following mapping: 29.01/8.36 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 29.01/8.36 29.01/8.36 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 29.01/8.36 29.01/8.36 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 29.01/8.36 29.01/8.36 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x4, x5) 29.01/8.36 29.01/8.36 select_in_aga(x1, x2, x3) = select_in_aga(x2) 29.01/8.36 29.01/8.36 .(x1, x2) = .(x1, x2) 29.01/8.36 29.01/8.36 select_out_aga(x1, x2, x3) = select_out_aga(x1, x2, x3) 29.01/8.36 29.01/8.36 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x3, x5) 29.01/8.36 29.01/8.36 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x4, x5) 29.01/8.36 29.01/8.36 members_in_ag(x1, x2) = members_in_ag(x2) 29.01/8.36 29.01/8.36 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 29.01/8.36 29.01/8.36 member_in_ag(x1, x2) = member_in_ag(x2) 29.01/8.36 29.01/8.36 member_out_ag(x1, x2) = member_out_ag(x1, x2) 29.01/8.36 29.01/8.36 U8_ag(x1, x2, x3, x4) = U8_ag(x2, x3, x4) 29.01/8.36 29.01/8.36 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x3, x4) 29.01/8.36 29.01/8.36 members_out_ag(x1, x2) = members_out_ag(x1, x2) 29.01/8.36 29.01/8.36 color_region_out_ag(x1, x2) = color_region_out_ag(x1, x2) 29.01/8.36 29.01/8.36 region(x1, x2, x3) = region(x2, x3) 29.01/8.36 29.01/8.36 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x3, x4) 29.01/8.36 29.01/8.36 color_map_out_ag(x1, x2) = color_map_out_ag(x1, x2) 29.01/8.36 29.01/8.36 29.01/8.36 29.01/8.36 29.01/8.36 29.01/8.36 Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog 29.01/8.36 29.01/8.36 29.01/8.36 29.01/8.36 ---------------------------------------- 29.01/8.36 29.01/8.36 (38) 29.01/8.36 Obligation: 29.01/8.36 Pi-finite rewrite system: 29.01/8.36 The TRS R consists of the following rules: 29.01/8.36 29.01/8.36 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 29.01/8.36 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 29.01/8.38 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 29.01/8.38 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 29.01/8.38 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 29.01/8.38 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 29.01/8.38 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 29.01/8.38 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 29.01/8.38 member_in_ag(X, .(X2, Xs)) -> U8_ag(X, X2, Xs, member_in_ag(X, Xs)) 29.01/8.38 U8_ag(X, X2, Xs, member_out_ag(X, Xs)) -> member_out_ag(X, .(X2, Xs)) 29.01/8.38 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 29.01/8.38 members_in_ag([], Ys) -> members_out_ag([], Ys) 29.01/8.38 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 29.01/8.38 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 29.01/8.38 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 29.01/8.38 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 29.01/8.38 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 29.01/8.38 29.01/8.38 The argument filtering Pi contains the following mapping: 29.01/8.38 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 29.01/8.38 29.01/8.38 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 29.01/8.38 29.01/8.38 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 29.01/8.38 29.01/8.38 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x4, x5) 29.01/8.38 29.01/8.38 select_in_aga(x1, x2, x3) = select_in_aga(x2) 29.01/8.38 29.01/8.38 .(x1, x2) = .(x1, x2) 29.01/8.38 29.01/8.38 select_out_aga(x1, x2, x3) = select_out_aga(x1, x2, x3) 29.01/8.38 29.01/8.38 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x3, x5) 29.01/8.38 29.01/8.38 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x4, x5) 29.01/8.38 29.01/8.38 members_in_ag(x1, x2) = members_in_ag(x2) 29.01/8.38 29.01/8.38 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 29.01/8.38 29.01/8.38 member_in_ag(x1, x2) = member_in_ag(x2) 29.01/8.38 29.01/8.38 member_out_ag(x1, x2) = member_out_ag(x1, x2) 29.01/8.38 29.01/8.38 U8_ag(x1, x2, x3, x4) = U8_ag(x2, x3, x4) 29.01/8.38 29.01/8.38 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x3, x4) 29.01/8.38 29.01/8.38 members_out_ag(x1, x2) = members_out_ag(x1, x2) 29.01/8.38 29.01/8.38 color_region_out_ag(x1, x2) = color_region_out_ag(x1, x2) 29.01/8.38 29.01/8.38 region(x1, x2, x3) = region(x2, x3) 29.01/8.38 29.01/8.38 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x3, x4) 29.01/8.38 29.01/8.38 color_map_out_ag(x1, x2) = color_map_out_ag(x1, x2) 29.01/8.38 29.01/8.38 29.01/8.38 29.01/8.38 ---------------------------------------- 29.01/8.38 29.01/8.38 (39) DependencyPairsProof (EQUIVALENT) 29.01/8.38 Using Dependency Pairs [AG00,LOPSTR] we result in the following initial DP problem: 29.01/8.38 Pi DP problem: 29.01/8.38 The TRS P consists of the following rules: 29.01/8.38 29.01/8.38 COLOR_MAP_IN_AG(.(Region, Regions), Colors) -> U1_AG(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 29.01/8.38 COLOR_MAP_IN_AG(.(Region, Regions), Colors) -> COLOR_REGION_IN_AG(Region, Colors) 29.01/8.38 COLOR_REGION_IN_AG(region(Name, Color, Neighbors), Colors) -> U3_AG(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 29.01/8.38 COLOR_REGION_IN_AG(region(Name, Color, Neighbors), Colors) -> SELECT_IN_AGA(Color, Colors, Colors1) 29.01/8.38 SELECT_IN_AGA(X, .(Y, Ys), .(Y, Zs)) -> U5_AGA(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 29.01/8.38 SELECT_IN_AGA(X, .(Y, Ys), .(Y, Zs)) -> SELECT_IN_AGA(X, Ys, Zs) 29.01/8.38 U3_AG(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_AG(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 29.01/8.38 U3_AG(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> MEMBERS_IN_AG(Neighbors, Colors1) 29.01/8.38 MEMBERS_IN_AG(.(X, Xs), Ys) -> U6_AG(X, Xs, Ys, member_in_ag(X, Ys)) 29.01/8.38 MEMBERS_IN_AG(.(X, Xs), Ys) -> MEMBER_IN_AG(X, Ys) 29.01/8.38 MEMBER_IN_AG(X, .(X2, Xs)) -> U8_AG(X, X2, Xs, member_in_ag(X, Xs)) 29.01/8.38 MEMBER_IN_AG(X, .(X2, Xs)) -> MEMBER_IN_AG(X, Xs) 29.01/8.38 U6_AG(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_AG(X, Xs, Ys, members_in_ag(Xs, Ys)) 29.01/8.38 U6_AG(X, Xs, Ys, member_out_ag(X, Ys)) -> MEMBERS_IN_AG(Xs, Ys) 29.01/8.38 U1_AG(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_AG(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 29.01/8.38 U1_AG(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> COLOR_MAP_IN_AG(Regions, Colors) 29.01/8.38 29.01/8.38 The TRS R consists of the following rules: 29.01/8.38 29.01/8.38 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 29.01/8.38 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 29.01/8.38 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 29.01/8.38 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 29.01/8.38 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 29.01/8.38 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 29.01/8.38 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 29.01/8.38 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 29.01/8.38 member_in_ag(X, .(X2, Xs)) -> U8_ag(X, X2, Xs, member_in_ag(X, Xs)) 29.01/8.38 U8_ag(X, X2, Xs, member_out_ag(X, Xs)) -> member_out_ag(X, .(X2, Xs)) 29.01/8.38 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 29.01/8.38 members_in_ag([], Ys) -> members_out_ag([], Ys) 29.01/8.38 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 29.01/8.38 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 29.01/8.38 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 29.01/8.38 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 29.01/8.38 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 29.01/8.38 29.01/8.38 The argument filtering Pi contains the following mapping: 29.01/8.38 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 29.01/8.38 29.01/8.38 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 29.01/8.38 29.01/8.38 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 29.01/8.38 29.01/8.38 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x4, x5) 29.01/8.38 29.01/8.38 select_in_aga(x1, x2, x3) = select_in_aga(x2) 29.01/8.38 29.01/8.38 .(x1, x2) = .(x1, x2) 29.01/8.38 29.01/8.38 select_out_aga(x1, x2, x3) = select_out_aga(x1, x2, x3) 29.01/8.38 29.01/8.38 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x3, x5) 29.01/8.38 29.01/8.38 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x4, x5) 29.01/8.38 29.01/8.38 members_in_ag(x1, x2) = members_in_ag(x2) 29.01/8.38 29.01/8.38 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 29.01/8.38 29.01/8.38 member_in_ag(x1, x2) = member_in_ag(x2) 29.01/8.38 29.01/8.38 member_out_ag(x1, x2) = member_out_ag(x1, x2) 29.01/8.38 29.01/8.38 U8_ag(x1, x2, x3, x4) = U8_ag(x2, x3, x4) 29.01/8.38 29.01/8.38 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x3, x4) 29.01/8.38 29.01/8.38 members_out_ag(x1, x2) = members_out_ag(x1, x2) 29.01/8.38 29.01/8.38 color_region_out_ag(x1, x2) = color_region_out_ag(x1, x2) 29.01/8.38 29.01/8.38 region(x1, x2, x3) = region(x2, x3) 29.01/8.38 29.01/8.38 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x3, x4) 29.01/8.38 29.01/8.38 color_map_out_ag(x1, x2) = color_map_out_ag(x1, x2) 29.01/8.38 29.01/8.38 COLOR_MAP_IN_AG(x1, x2) = COLOR_MAP_IN_AG(x2) 29.01/8.38 29.01/8.38 U1_AG(x1, x2, x3, x4) = U1_AG(x3, x4) 29.01/8.38 29.01/8.38 COLOR_REGION_IN_AG(x1, x2) = COLOR_REGION_IN_AG(x2) 29.01/8.38 29.01/8.38 U3_AG(x1, x2, x3, x4, x5) = U3_AG(x4, x5) 29.01/8.38 29.01/8.38 SELECT_IN_AGA(x1, x2, x3) = SELECT_IN_AGA(x2) 29.01/8.38 29.01/8.38 U5_AGA(x1, x2, x3, x4, x5) = U5_AGA(x2, x3, x5) 29.01/8.38 29.01/8.38 U4_AG(x1, x2, x3, x4, x5) = U4_AG(x2, x4, x5) 29.01/8.38 29.01/8.38 MEMBERS_IN_AG(x1, x2) = MEMBERS_IN_AG(x2) 29.01/8.38 29.01/8.38 U6_AG(x1, x2, x3, x4) = U6_AG(x3, x4) 29.01/8.38 29.01/8.38 MEMBER_IN_AG(x1, x2) = MEMBER_IN_AG(x2) 29.01/8.38 29.01/8.38 U8_AG(x1, x2, x3, x4) = U8_AG(x2, x3, x4) 29.01/8.38 29.01/8.38 U7_AG(x1, x2, x3, x4) = U7_AG(x1, x3, x4) 29.01/8.38 29.01/8.38 U2_AG(x1, x2, x3, x4) = U2_AG(x1, x3, x4) 29.01/8.38 29.01/8.38 29.01/8.38 We have to consider all (P,R,Pi)-chains 29.01/8.38 ---------------------------------------- 29.01/8.38 29.01/8.38 (40) 29.01/8.38 Obligation: 29.01/8.38 Pi DP problem: 29.01/8.38 The TRS P consists of the following rules: 29.01/8.38 29.01/8.38 COLOR_MAP_IN_AG(.(Region, Regions), Colors) -> U1_AG(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 29.01/8.38 COLOR_MAP_IN_AG(.(Region, Regions), Colors) -> COLOR_REGION_IN_AG(Region, Colors) 29.01/8.38 COLOR_REGION_IN_AG(region(Name, Color, Neighbors), Colors) -> U3_AG(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 29.01/8.38 COLOR_REGION_IN_AG(region(Name, Color, Neighbors), Colors) -> SELECT_IN_AGA(Color, Colors, Colors1) 29.01/8.38 SELECT_IN_AGA(X, .(Y, Ys), .(Y, Zs)) -> U5_AGA(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 29.01/8.38 SELECT_IN_AGA(X, .(Y, Ys), .(Y, Zs)) -> SELECT_IN_AGA(X, Ys, Zs) 29.01/8.38 U3_AG(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_AG(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 29.01/8.38 U3_AG(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> MEMBERS_IN_AG(Neighbors, Colors1) 29.01/8.38 MEMBERS_IN_AG(.(X, Xs), Ys) -> U6_AG(X, Xs, Ys, member_in_ag(X, Ys)) 29.01/8.38 MEMBERS_IN_AG(.(X, Xs), Ys) -> MEMBER_IN_AG(X, Ys) 29.01/8.38 MEMBER_IN_AG(X, .(X2, Xs)) -> U8_AG(X, X2, Xs, member_in_ag(X, Xs)) 29.01/8.38 MEMBER_IN_AG(X, .(X2, Xs)) -> MEMBER_IN_AG(X, Xs) 29.01/8.38 U6_AG(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_AG(X, Xs, Ys, members_in_ag(Xs, Ys)) 29.01/8.38 U6_AG(X, Xs, Ys, member_out_ag(X, Ys)) -> MEMBERS_IN_AG(Xs, Ys) 29.01/8.38 U1_AG(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_AG(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 29.01/8.38 U1_AG(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> COLOR_MAP_IN_AG(Regions, Colors) 29.01/8.38 29.01/8.38 The TRS R consists of the following rules: 29.01/8.38 29.01/8.38 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 29.01/8.38 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 29.01/8.38 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 29.01/8.38 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 29.01/8.38 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 29.01/8.38 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 29.01/8.38 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 29.01/8.38 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 29.01/8.38 member_in_ag(X, .(X2, Xs)) -> U8_ag(X, X2, Xs, member_in_ag(X, Xs)) 29.01/8.38 U8_ag(X, X2, Xs, member_out_ag(X, Xs)) -> member_out_ag(X, .(X2, Xs)) 29.01/8.38 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 29.01/8.38 members_in_ag([], Ys) -> members_out_ag([], Ys) 29.01/8.38 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 29.01/8.38 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 29.01/8.38 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 29.01/8.38 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 29.01/8.38 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 29.01/8.38 29.01/8.38 The argument filtering Pi contains the following mapping: 29.01/8.38 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 29.01/8.38 29.01/8.38 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 29.01/8.38 29.01/8.38 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 29.01/8.38 29.01/8.38 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x4, x5) 29.01/8.38 29.01/8.38 select_in_aga(x1, x2, x3) = select_in_aga(x2) 29.01/8.38 29.01/8.38 .(x1, x2) = .(x1, x2) 29.01/8.38 29.01/8.38 select_out_aga(x1, x2, x3) = select_out_aga(x1, x2, x3) 29.01/8.38 29.01/8.38 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x3, x5) 29.01/8.38 29.01/8.38 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x4, x5) 29.01/8.38 29.01/8.38 members_in_ag(x1, x2) = members_in_ag(x2) 29.01/8.38 29.01/8.38 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 29.01/8.38 29.01/8.38 member_in_ag(x1, x2) = member_in_ag(x2) 29.01/8.38 29.01/8.38 member_out_ag(x1, x2) = member_out_ag(x1, x2) 29.01/8.38 29.01/8.38 U8_ag(x1, x2, x3, x4) = U8_ag(x2, x3, x4) 29.01/8.38 29.01/8.38 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x3, x4) 29.01/8.38 29.01/8.38 members_out_ag(x1, x2) = members_out_ag(x1, x2) 29.01/8.38 29.01/8.38 color_region_out_ag(x1, x2) = color_region_out_ag(x1, x2) 29.01/8.38 29.01/8.38 region(x1, x2, x3) = region(x2, x3) 29.01/8.38 29.01/8.38 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x3, x4) 29.01/8.38 29.01/8.38 color_map_out_ag(x1, x2) = color_map_out_ag(x1, x2) 29.01/8.38 29.01/8.38 COLOR_MAP_IN_AG(x1, x2) = COLOR_MAP_IN_AG(x2) 29.01/8.38 29.01/8.38 U1_AG(x1, x2, x3, x4) = U1_AG(x3, x4) 29.01/8.38 29.01/8.38 COLOR_REGION_IN_AG(x1, x2) = COLOR_REGION_IN_AG(x2) 29.01/8.38 29.01/8.38 U3_AG(x1, x2, x3, x4, x5) = U3_AG(x4, x5) 29.01/8.38 29.01/8.38 SELECT_IN_AGA(x1, x2, x3) = SELECT_IN_AGA(x2) 29.01/8.38 29.01/8.38 U5_AGA(x1, x2, x3, x4, x5) = U5_AGA(x2, x3, x5) 29.01/8.38 29.01/8.38 U4_AG(x1, x2, x3, x4, x5) = U4_AG(x2, x4, x5) 29.01/8.38 29.01/8.38 MEMBERS_IN_AG(x1, x2) = MEMBERS_IN_AG(x2) 29.01/8.38 29.01/8.38 U6_AG(x1, x2, x3, x4) = U6_AG(x3, x4) 29.01/8.38 29.01/8.38 MEMBER_IN_AG(x1, x2) = MEMBER_IN_AG(x2) 29.01/8.38 29.01/8.38 U8_AG(x1, x2, x3, x4) = U8_AG(x2, x3, x4) 29.01/8.38 29.01/8.38 U7_AG(x1, x2, x3, x4) = U7_AG(x1, x3, x4) 29.01/8.38 29.01/8.38 U2_AG(x1, x2, x3, x4) = U2_AG(x1, x3, x4) 29.01/8.38 29.01/8.38 29.01/8.38 We have to consider all (P,R,Pi)-chains 29.01/8.38 ---------------------------------------- 29.01/8.38 29.01/8.38 (41) DependencyGraphProof (EQUIVALENT) 29.01/8.38 The approximation of the Dependency Graph [LOPSTR] contains 4 SCCs with 10 less nodes. 29.01/8.38 ---------------------------------------- 29.01/8.38 29.01/8.38 (42) 29.01/8.38 Complex Obligation (AND) 29.01/8.38 29.01/8.38 ---------------------------------------- 29.01/8.38 29.01/8.38 (43) 29.01/8.38 Obligation: 29.01/8.38 Pi DP problem: 29.01/8.38 The TRS P consists of the following rules: 29.01/8.38 29.01/8.38 MEMBER_IN_AG(X, .(X2, Xs)) -> MEMBER_IN_AG(X, Xs) 29.01/8.38 29.01/8.38 The TRS R consists of the following rules: 29.01/8.38 29.01/8.38 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 29.01/8.38 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 29.01/8.38 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 29.01/8.38 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 29.01/8.38 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 29.01/8.38 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 29.01/8.38 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 29.01/8.38 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 29.01/8.38 member_in_ag(X, .(X2, Xs)) -> U8_ag(X, X2, Xs, member_in_ag(X, Xs)) 29.01/8.38 U8_ag(X, X2, Xs, member_out_ag(X, Xs)) -> member_out_ag(X, .(X2, Xs)) 29.01/8.38 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 29.01/8.38 members_in_ag([], Ys) -> members_out_ag([], Ys) 29.01/8.38 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 29.01/8.38 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 29.01/8.38 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 29.01/8.38 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 29.01/8.38 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 29.01/8.38 29.01/8.38 The argument filtering Pi contains the following mapping: 29.01/8.38 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 29.01/8.38 29.01/8.38 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 29.01/8.38 29.01/8.38 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 29.01/8.38 29.01/8.38 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x4, x5) 29.01/8.38 29.01/8.38 select_in_aga(x1, x2, x3) = select_in_aga(x2) 29.01/8.38 29.01/8.38 .(x1, x2) = .(x1, x2) 29.01/8.38 29.01/8.38 select_out_aga(x1, x2, x3) = select_out_aga(x1, x2, x3) 29.01/8.38 29.01/8.38 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x3, x5) 29.01/8.38 29.01/8.38 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x4, x5) 29.01/8.38 29.01/8.38 members_in_ag(x1, x2) = members_in_ag(x2) 29.01/8.38 29.01/8.38 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 29.01/8.38 29.01/8.38 member_in_ag(x1, x2) = member_in_ag(x2) 29.01/8.38 29.01/8.38 member_out_ag(x1, x2) = member_out_ag(x1, x2) 29.01/8.38 29.01/8.38 U8_ag(x1, x2, x3, x4) = U8_ag(x2, x3, x4) 29.01/8.38 29.01/8.38 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x3, x4) 29.01/8.38 29.01/8.38 members_out_ag(x1, x2) = members_out_ag(x1, x2) 29.01/8.38 29.01/8.38 color_region_out_ag(x1, x2) = color_region_out_ag(x1, x2) 29.01/8.38 29.01/8.38 region(x1, x2, x3) = region(x2, x3) 29.01/8.38 29.01/8.38 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x3, x4) 29.01/8.38 29.01/8.38 color_map_out_ag(x1, x2) = color_map_out_ag(x1, x2) 29.01/8.38 29.01/8.38 MEMBER_IN_AG(x1, x2) = MEMBER_IN_AG(x2) 29.01/8.38 29.01/8.38 29.01/8.38 We have to consider all (P,R,Pi)-chains 29.01/8.38 ---------------------------------------- 29.01/8.38 29.01/8.38 (44) UsableRulesProof (EQUIVALENT) 29.01/8.38 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 29.01/8.38 ---------------------------------------- 29.01/8.38 29.01/8.38 (45) 29.01/8.38 Obligation: 29.01/8.38 Pi DP problem: 29.01/8.38 The TRS P consists of the following rules: 29.01/8.38 29.01/8.38 MEMBER_IN_AG(X, .(X2, Xs)) -> MEMBER_IN_AG(X, Xs) 29.01/8.38 29.01/8.38 R is empty. 29.01/8.38 The argument filtering Pi contains the following mapping: 29.01/8.38 .(x1, x2) = .(x1, x2) 29.01/8.38 29.01/8.38 MEMBER_IN_AG(x1, x2) = MEMBER_IN_AG(x2) 29.01/8.38 29.01/8.38 29.01/8.38 We have to consider all (P,R,Pi)-chains 29.01/8.38 ---------------------------------------- 29.01/8.38 29.01/8.38 (46) PiDPToQDPProof (SOUND) 29.01/8.38 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 29.01/8.38 ---------------------------------------- 29.01/8.38 29.01/8.38 (47) 29.01/8.38 Obligation: 29.01/8.38 Q DP problem: 29.01/8.38 The TRS P consists of the following rules: 29.01/8.38 29.01/8.38 MEMBER_IN_AG(.(X2, Xs)) -> MEMBER_IN_AG(Xs) 29.01/8.38 29.01/8.38 R is empty. 29.01/8.38 Q is empty. 29.01/8.38 We have to consider all (P,Q,R)-chains. 29.01/8.38 ---------------------------------------- 29.01/8.38 29.01/8.38 (48) QDPSizeChangeProof (EQUIVALENT) 29.01/8.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. 29.01/8.38 29.01/8.38 From the DPs we obtained the following set of size-change graphs: 29.01/8.38 *MEMBER_IN_AG(.(X2, Xs)) -> MEMBER_IN_AG(Xs) 29.01/8.38 The graph contains the following edges 1 > 1 29.01/8.38 29.01/8.38 29.01/8.38 ---------------------------------------- 29.01/8.38 29.01/8.38 (49) 29.01/8.38 YES 29.01/8.38 29.01/8.38 ---------------------------------------- 29.01/8.38 29.01/8.38 (50) 29.01/8.38 Obligation: 29.01/8.38 Pi DP problem: 29.01/8.38 The TRS P consists of the following rules: 29.01/8.38 29.01/8.38 U6_AG(X, Xs, Ys, member_out_ag(X, Ys)) -> MEMBERS_IN_AG(Xs, Ys) 29.01/8.38 MEMBERS_IN_AG(.(X, Xs), Ys) -> U6_AG(X, Xs, Ys, member_in_ag(X, Ys)) 29.01/8.38 29.01/8.38 The TRS R consists of the following rules: 29.01/8.38 29.01/8.38 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 29.01/8.38 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 29.01/8.38 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 29.01/8.38 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 29.01/8.38 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 29.01/8.38 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 29.01/8.38 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 29.01/8.38 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 29.01/8.38 member_in_ag(X, .(X2, Xs)) -> U8_ag(X, X2, Xs, member_in_ag(X, Xs)) 29.01/8.38 U8_ag(X, X2, Xs, member_out_ag(X, Xs)) -> member_out_ag(X, .(X2, Xs)) 29.01/8.38 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 29.01/8.38 members_in_ag([], Ys) -> members_out_ag([], Ys) 29.01/8.38 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 29.01/8.38 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 29.01/8.38 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 29.01/8.38 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 29.01/8.38 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 29.01/8.38 29.01/8.38 The argument filtering Pi contains the following mapping: 29.01/8.38 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 29.01/8.38 29.01/8.38 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 29.01/8.38 29.01/8.38 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 29.01/8.38 29.01/8.38 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x4, x5) 29.01/8.38 29.01/8.38 select_in_aga(x1, x2, x3) = select_in_aga(x2) 29.01/8.38 29.01/8.38 .(x1, x2) = .(x1, x2) 29.01/8.38 29.01/8.38 select_out_aga(x1, x2, x3) = select_out_aga(x1, x2, x3) 29.01/8.38 29.01/8.38 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x3, x5) 29.01/8.38 29.01/8.38 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x4, x5) 29.01/8.38 29.01/8.38 members_in_ag(x1, x2) = members_in_ag(x2) 29.01/8.38 29.01/8.38 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 29.01/8.38 29.01/8.38 member_in_ag(x1, x2) = member_in_ag(x2) 29.01/8.38 29.01/8.38 member_out_ag(x1, x2) = member_out_ag(x1, x2) 29.01/8.38 29.01/8.38 U8_ag(x1, x2, x3, x4) = U8_ag(x2, x3, x4) 29.01/8.38 29.01/8.38 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x3, x4) 29.01/8.38 29.01/8.38 members_out_ag(x1, x2) = members_out_ag(x1, x2) 29.01/8.38 29.01/8.38 color_region_out_ag(x1, x2) = color_region_out_ag(x1, x2) 29.01/8.38 29.01/8.38 region(x1, x2, x3) = region(x2, x3) 29.01/8.38 29.01/8.38 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x3, x4) 29.01/8.38 29.01/8.38 color_map_out_ag(x1, x2) = color_map_out_ag(x1, x2) 29.01/8.38 29.01/8.38 MEMBERS_IN_AG(x1, x2) = MEMBERS_IN_AG(x2) 29.01/8.38 29.01/8.38 U6_AG(x1, x2, x3, x4) = U6_AG(x3, x4) 29.01/8.38 29.01/8.38 29.01/8.38 We have to consider all (P,R,Pi)-chains 29.01/8.38 ---------------------------------------- 29.01/8.38 29.01/8.38 (51) UsableRulesProof (EQUIVALENT) 29.01/8.38 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 29.01/8.38 ---------------------------------------- 29.01/8.38 29.01/8.38 (52) 29.01/8.38 Obligation: 29.01/8.38 Pi DP problem: 29.01/8.38 The TRS P consists of the following rules: 29.01/8.38 29.01/8.38 U6_AG(X, Xs, Ys, member_out_ag(X, Ys)) -> MEMBERS_IN_AG(Xs, Ys) 29.01/8.38 MEMBERS_IN_AG(.(X, Xs), Ys) -> U6_AG(X, Xs, Ys, member_in_ag(X, Ys)) 29.01/8.38 29.01/8.38 The TRS R consists of the following rules: 29.01/8.38 29.01/8.38 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 29.01/8.38 member_in_ag(X, .(X2, Xs)) -> U8_ag(X, X2, Xs, member_in_ag(X, Xs)) 29.01/8.38 U8_ag(X, X2, Xs, member_out_ag(X, Xs)) -> member_out_ag(X, .(X2, Xs)) 29.01/8.38 29.01/8.38 The argument filtering Pi contains the following mapping: 29.01/8.38 .(x1, x2) = .(x1, x2) 29.01/8.38 29.01/8.38 member_in_ag(x1, x2) = member_in_ag(x2) 29.01/8.38 29.01/8.38 member_out_ag(x1, x2) = member_out_ag(x1, x2) 29.01/8.38 29.01/8.38 U8_ag(x1, x2, x3, x4) = U8_ag(x2, x3, x4) 29.01/8.38 29.01/8.38 MEMBERS_IN_AG(x1, x2) = MEMBERS_IN_AG(x2) 29.01/8.38 29.01/8.38 U6_AG(x1, x2, x3, x4) = U6_AG(x3, x4) 29.01/8.38 29.01/8.38 29.01/8.38 We have to consider all (P,R,Pi)-chains 29.01/8.38 ---------------------------------------- 29.01/8.38 29.01/8.38 (53) PiDPToQDPProof (SOUND) 29.01/8.38 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 29.01/8.38 ---------------------------------------- 29.01/8.38 29.01/8.38 (54) 29.01/8.38 Obligation: 29.01/8.38 Q DP problem: 29.01/8.38 The TRS P consists of the following rules: 29.01/8.38 29.01/8.38 U6_AG(Ys, member_out_ag(X, Ys)) -> MEMBERS_IN_AG(Ys) 29.01/8.38 MEMBERS_IN_AG(Ys) -> U6_AG(Ys, member_in_ag(Ys)) 29.01/8.38 29.01/8.38 The TRS R consists of the following rules: 29.01/8.38 29.01/8.38 member_in_ag(.(X, X1)) -> member_out_ag(X, .(X, X1)) 29.01/8.38 member_in_ag(.(X2, Xs)) -> U8_ag(X2, Xs, member_in_ag(Xs)) 29.01/8.38 U8_ag(X2, Xs, member_out_ag(X, Xs)) -> member_out_ag(X, .(X2, Xs)) 29.01/8.38 29.01/8.38 The set Q consists of the following terms: 29.01/8.38 29.01/8.38 member_in_ag(x0) 29.01/8.38 U8_ag(x0, x1, x2) 29.01/8.38 29.01/8.38 We have to consider all (P,Q,R)-chains. 29.01/8.38 ---------------------------------------- 29.01/8.38 29.01/8.38 (55) TransformationProof (SOUND) 29.01/8.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]: 29.01/8.38 29.01/8.38 (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)))) 29.01/8.38 (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)))) 29.01/8.38 29.01/8.38 29.01/8.38 ---------------------------------------- 29.01/8.38 29.01/8.38 (56) 29.01/8.38 Obligation: 29.01/8.38 Q DP problem: 29.01/8.38 The TRS P consists of the following rules: 29.01/8.38 29.01/8.38 U6_AG(Ys, member_out_ag(X, Ys)) -> MEMBERS_IN_AG(Ys) 29.01/8.38 MEMBERS_IN_AG(.(x0, x1)) -> U6_AG(.(x0, x1), member_out_ag(x0, .(x0, x1))) 29.01/8.38 MEMBERS_IN_AG(.(x0, x1)) -> U6_AG(.(x0, x1), U8_ag(x0, x1, member_in_ag(x1))) 29.01/8.38 29.01/8.38 The TRS R consists of the following rules: 29.01/8.38 29.01/8.38 member_in_ag(.(X, X1)) -> member_out_ag(X, .(X, X1)) 29.01/8.38 member_in_ag(.(X2, Xs)) -> U8_ag(X2, Xs, member_in_ag(Xs)) 29.01/8.38 U8_ag(X2, Xs, member_out_ag(X, Xs)) -> member_out_ag(X, .(X2, Xs)) 29.01/8.38 29.01/8.38 The set Q consists of the following terms: 29.01/8.38 29.01/8.38 member_in_ag(x0) 29.01/8.38 U8_ag(x0, x1, x2) 29.01/8.38 29.01/8.38 We have to consider all (P,Q,R)-chains. 29.01/8.38 ---------------------------------------- 29.01/8.38 29.01/8.38 (57) TransformationProof (EQUIVALENT) 29.01/8.38 By instantiating [LPAR04] the rule U6_AG(Ys, member_out_ag(X, Ys)) -> MEMBERS_IN_AG(Ys) we obtained the following new rules [LPAR04]: 29.01/8.38 29.01/8.38 (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))) 29.01/8.38 (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))) 29.01/8.38 29.01/8.38 29.01/8.38 ---------------------------------------- 29.01/8.38 29.01/8.38 (58) 29.01/8.38 Obligation: 29.01/8.38 Q DP problem: 29.01/8.38 The TRS P consists of the following rules: 29.01/8.38 29.01/8.38 MEMBERS_IN_AG(.(x0, x1)) -> U6_AG(.(x0, x1), member_out_ag(x0, .(x0, x1))) 29.01/8.38 MEMBERS_IN_AG(.(x0, x1)) -> U6_AG(.(x0, x1), U8_ag(x0, x1, member_in_ag(x1))) 29.01/8.38 U6_AG(.(z0, z1), member_out_ag(z0, .(z0, z1))) -> MEMBERS_IN_AG(.(z0, z1)) 29.01/8.38 U6_AG(.(z0, z1), member_out_ag(x1, .(z0, z1))) -> MEMBERS_IN_AG(.(z0, z1)) 29.01/8.38 29.01/8.38 The TRS R consists of the following rules: 29.01/8.38 29.01/8.38 member_in_ag(.(X, X1)) -> member_out_ag(X, .(X, X1)) 29.01/8.38 member_in_ag(.(X2, Xs)) -> U8_ag(X2, Xs, member_in_ag(Xs)) 29.01/8.38 U8_ag(X2, Xs, member_out_ag(X, Xs)) -> member_out_ag(X, .(X2, Xs)) 29.01/8.38 29.01/8.38 The set Q consists of the following terms: 29.01/8.38 29.01/8.38 member_in_ag(x0) 29.01/8.38 U8_ag(x0, x1, x2) 29.01/8.38 29.01/8.38 We have to consider all (P,Q,R)-chains. 29.01/8.38 ---------------------------------------- 29.01/8.38 29.01/8.38 (59) 29.01/8.38 Obligation: 29.01/8.38 Pi DP problem: 29.01/8.38 The TRS P consists of the following rules: 29.01/8.38 29.01/8.38 SELECT_IN_AGA(X, .(Y, Ys), .(Y, Zs)) -> SELECT_IN_AGA(X, Ys, Zs) 29.30/8.39 29.30/8.39 The TRS R consists of the following rules: 29.30/8.39 29.30/8.39 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 29.30/8.39 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 29.30/8.39 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 29.30/8.39 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 29.30/8.39 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 29.30/8.39 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 29.30/8.39 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 29.30/8.39 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 29.30/8.39 member_in_ag(X, .(X2, Xs)) -> U8_ag(X, X2, Xs, member_in_ag(X, Xs)) 29.30/8.39 U8_ag(X, X2, Xs, member_out_ag(X, Xs)) -> member_out_ag(X, .(X2, Xs)) 29.30/8.39 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 29.30/8.39 members_in_ag([], Ys) -> members_out_ag([], Ys) 29.30/8.39 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 29.30/8.39 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 29.30/8.39 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 29.30/8.39 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 29.30/8.39 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 29.30/8.39 29.30/8.39 The argument filtering Pi contains the following mapping: 29.30/8.39 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 29.30/8.39 29.30/8.39 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 29.30/8.39 29.30/8.39 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 29.30/8.39 29.30/8.39 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x4, x5) 29.30/8.39 29.30/8.39 select_in_aga(x1, x2, x3) = select_in_aga(x2) 29.30/8.39 29.30/8.39 .(x1, x2) = .(x1, x2) 29.30/8.39 29.30/8.39 select_out_aga(x1, x2, x3) = select_out_aga(x1, x2, x3) 29.30/8.39 29.30/8.39 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x3, x5) 29.30/8.39 29.30/8.39 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x4, x5) 29.30/8.39 29.30/8.39 members_in_ag(x1, x2) = members_in_ag(x2) 29.30/8.39 29.30/8.39 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 29.30/8.39 29.30/8.39 member_in_ag(x1, x2) = member_in_ag(x2) 29.30/8.39 29.30/8.39 member_out_ag(x1, x2) = member_out_ag(x1, x2) 29.30/8.39 29.30/8.39 U8_ag(x1, x2, x3, x4) = U8_ag(x2, x3, x4) 29.30/8.39 29.30/8.39 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x3, x4) 29.30/8.39 29.30/8.39 members_out_ag(x1, x2) = members_out_ag(x1, x2) 29.30/8.39 29.30/8.39 color_region_out_ag(x1, x2) = color_region_out_ag(x1, x2) 29.30/8.39 29.30/8.39 region(x1, x2, x3) = region(x2, x3) 29.30/8.39 29.30/8.39 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x3, x4) 29.30/8.39 29.30/8.39 color_map_out_ag(x1, x2) = color_map_out_ag(x1, x2) 29.30/8.39 29.30/8.39 SELECT_IN_AGA(x1, x2, x3) = SELECT_IN_AGA(x2) 29.30/8.39 29.30/8.39 29.30/8.39 We have to consider all (P,R,Pi)-chains 29.30/8.39 ---------------------------------------- 29.30/8.39 29.30/8.39 (60) UsableRulesProof (EQUIVALENT) 29.30/8.39 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 29.30/8.39 ---------------------------------------- 29.30/8.39 29.30/8.39 (61) 29.30/8.39 Obligation: 29.30/8.39 Pi DP problem: 29.30/8.39 The TRS P consists of the following rules: 29.30/8.39 29.30/8.39 SELECT_IN_AGA(X, .(Y, Ys), .(Y, Zs)) -> SELECT_IN_AGA(X, Ys, Zs) 29.30/8.39 29.30/8.39 R is empty. 29.30/8.39 The argument filtering Pi contains the following mapping: 29.30/8.39 .(x1, x2) = .(x1, x2) 29.30/8.39 29.30/8.39 SELECT_IN_AGA(x1, x2, x3) = SELECT_IN_AGA(x2) 29.30/8.39 29.30/8.39 29.30/8.39 We have to consider all (P,R,Pi)-chains 29.30/8.39 ---------------------------------------- 29.30/8.39 29.30/8.39 (62) 29.30/8.39 Obligation: 29.30/8.39 Pi DP problem: 29.30/8.39 The TRS P consists of the following rules: 29.30/8.39 29.30/8.39 U1_AG(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> COLOR_MAP_IN_AG(Regions, Colors) 29.30/8.39 COLOR_MAP_IN_AG(.(Region, Regions), Colors) -> U1_AG(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 29.30/8.39 29.30/8.39 The TRS R consists of the following rules: 29.30/8.39 29.30/8.39 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 29.30/8.39 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 29.30/8.39 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 29.30/8.39 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 29.30/8.39 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 29.30/8.39 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 29.30/8.39 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 29.30/8.39 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 29.30/8.39 member_in_ag(X, .(X2, Xs)) -> U8_ag(X, X2, Xs, member_in_ag(X, Xs)) 29.30/8.39 U8_ag(X, X2, Xs, member_out_ag(X, Xs)) -> member_out_ag(X, .(X2, Xs)) 29.30/8.39 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 29.30/8.39 members_in_ag([], Ys) -> members_out_ag([], Ys) 29.30/8.39 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 29.30/8.39 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 29.30/8.39 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 29.30/8.39 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 29.30/8.39 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 29.30/8.39 29.30/8.39 The argument filtering Pi contains the following mapping: 29.30/8.39 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 29.30/8.39 29.30/8.39 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 29.30/8.39 29.30/8.39 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 29.30/8.39 29.30/8.39 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x4, x5) 29.30/8.39 29.30/8.39 select_in_aga(x1, x2, x3) = select_in_aga(x2) 29.30/8.39 29.30/8.39 .(x1, x2) = .(x1, x2) 29.30/8.39 29.30/8.39 select_out_aga(x1, x2, x3) = select_out_aga(x1, x2, x3) 29.30/8.39 29.30/8.39 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x3, x5) 29.30/8.39 29.30/8.39 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x4, x5) 29.30/8.39 29.30/8.39 members_in_ag(x1, x2) = members_in_ag(x2) 29.30/8.39 29.30/8.39 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 29.30/8.39 29.30/8.39 member_in_ag(x1, x2) = member_in_ag(x2) 29.30/8.39 29.30/8.39 member_out_ag(x1, x2) = member_out_ag(x1, x2) 29.30/8.39 29.30/8.39 U8_ag(x1, x2, x3, x4) = U8_ag(x2, x3, x4) 29.30/8.39 29.30/8.39 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x3, x4) 29.30/8.39 29.30/8.39 members_out_ag(x1, x2) = members_out_ag(x1, x2) 29.30/8.39 29.30/8.39 color_region_out_ag(x1, x2) = color_region_out_ag(x1, x2) 29.30/8.39 29.30/8.39 region(x1, x2, x3) = region(x2, x3) 29.30/8.39 29.30/8.39 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x3, x4) 29.30/8.39 29.30/8.39 color_map_out_ag(x1, x2) = color_map_out_ag(x1, x2) 29.30/8.39 29.30/8.39 COLOR_MAP_IN_AG(x1, x2) = COLOR_MAP_IN_AG(x2) 29.30/8.39 29.30/8.39 U1_AG(x1, x2, x3, x4) = U1_AG(x3, x4) 29.30/8.39 29.30/8.39 29.30/8.39 We have to consider all (P,R,Pi)-chains 29.30/8.39 ---------------------------------------- 29.30/8.39 29.30/8.39 (63) UsableRulesProof (EQUIVALENT) 29.30/8.39 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 29.30/8.39 ---------------------------------------- 29.30/8.39 29.30/8.39 (64) 29.30/8.39 Obligation: 29.30/8.39 Pi DP problem: 29.30/8.39 The TRS P consists of the following rules: 29.30/8.39 29.30/8.39 U1_AG(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> COLOR_MAP_IN_AG(Regions, Colors) 29.30/8.39 COLOR_MAP_IN_AG(.(Region, Regions), Colors) -> U1_AG(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 29.30/8.39 29.30/8.39 The TRS R consists of the following rules: 29.30/8.39 29.30/8.39 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 29.30/8.39 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 29.30/8.39 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 29.30/8.39 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 29.30/8.39 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 29.30/8.39 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 29.30/8.39 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 29.30/8.39 members_in_ag([], Ys) -> members_out_ag([], Ys) 29.30/8.39 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 29.30/8.39 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 29.30/8.39 member_in_ag(X, .(X2, Xs)) -> U8_ag(X, X2, Xs, member_in_ag(X, Xs)) 29.30/8.39 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 29.30/8.39 U8_ag(X, X2, Xs, member_out_ag(X, Xs)) -> member_out_ag(X, .(X2, Xs)) 29.30/8.39 29.30/8.39 The argument filtering Pi contains the following mapping: 29.30/8.39 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 29.30/8.39 29.30/8.39 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x4, x5) 29.30/8.39 29.30/8.39 select_in_aga(x1, x2, x3) = select_in_aga(x2) 29.30/8.39 29.30/8.39 .(x1, x2) = .(x1, x2) 29.30/8.39 29.30/8.39 select_out_aga(x1, x2, x3) = select_out_aga(x1, x2, x3) 29.30/8.39 29.30/8.39 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x3, x5) 29.30/8.39 29.30/8.39 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x4, x5) 29.30/8.39 29.30/8.39 members_in_ag(x1, x2) = members_in_ag(x2) 29.30/8.39 29.30/8.39 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 29.30/8.39 29.30/8.39 member_in_ag(x1, x2) = member_in_ag(x2) 29.30/8.39 29.30/8.39 member_out_ag(x1, x2) = member_out_ag(x1, x2) 29.30/8.39 29.30/8.39 U8_ag(x1, x2, x3, x4) = U8_ag(x2, x3, x4) 29.30/8.39 29.30/8.39 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x3, x4) 29.30/8.39 29.30/8.39 members_out_ag(x1, x2) = members_out_ag(x1, x2) 29.30/8.39 29.30/8.39 color_region_out_ag(x1, x2) = color_region_out_ag(x1, x2) 29.30/8.39 29.30/8.39 region(x1, x2, x3) = region(x2, x3) 29.30/8.39 29.30/8.39 COLOR_MAP_IN_AG(x1, x2) = COLOR_MAP_IN_AG(x2) 29.30/8.39 29.30/8.39 U1_AG(x1, x2, x3, x4) = U1_AG(x3, x4) 29.30/8.39 29.30/8.39 29.30/8.39 We have to consider all (P,R,Pi)-chains 29.30/8.39 ---------------------------------------- 29.30/8.39 29.30/8.39 (65) PrologToTRSTransformerProof (SOUND) 29.30/8.39 Transformed Prolog program to TRS. 29.30/8.39 29.30/8.39 { 29.30/8.39 "root": 2, 29.30/8.39 "program": { 29.30/8.39 "directives": [], 29.30/8.39 "clauses": [ 29.30/8.39 [ 29.30/8.39 "(color_map (. Region Regions) Colors)", 29.30/8.39 "(',' (color_region Region Colors) (color_map Regions Colors))" 29.30/8.39 ], 29.30/8.39 [ 29.30/8.39 "(color_map ([]) Colors)", 29.30/8.39 null 29.30/8.39 ], 29.30/8.39 [ 29.30/8.39 "(color_region (region Name Color Neighbors) Colors)", 29.30/8.39 "(',' (select Color Colors Colors1) (members Neighbors Colors1))" 29.30/8.39 ], 29.30/8.39 [ 29.30/8.39 "(select X (. X Xs) Xs)", 29.30/8.39 null 29.30/8.39 ], 29.30/8.39 [ 29.30/8.39 "(select X (. Y Ys) (. Y Zs))", 29.30/8.39 "(select X Ys Zs)" 29.30/8.39 ], 29.30/8.39 [ 29.30/8.39 "(members (. X Xs) Ys)", 29.30/8.39 "(',' (member X Ys) (members Xs Ys))" 29.30/8.39 ], 29.30/8.39 [ 29.30/8.39 "(members ([]) Ys)", 29.30/8.39 null 29.30/8.39 ], 29.30/8.39 [ 29.30/8.39 "(member X (. X X1))", 29.30/8.39 null 29.30/8.39 ], 29.30/8.39 [ 29.30/8.39 "(member X (. X2 Xs))", 29.30/8.39 "(member X Xs)" 29.30/8.39 ] 29.30/8.39 ] 29.30/8.39 }, 29.30/8.39 "graph": { 29.30/8.39 "nodes": { 29.30/8.39 "type": "Nodes", 29.30/8.39 "370": { 29.30/8.39 "goal": [], 29.30/8.39 "kb": { 29.30/8.39 "nonunifying": [], 29.30/8.39 "intvars": {}, 29.30/8.39 "arithmetic": { 29.30/8.39 "type": "PlainIntegerRelationState", 29.30/8.39 "relations": [] 29.30/8.39 }, 29.30/8.39 "ground": [], 29.30/8.39 "free": [], 29.30/8.39 "exprvars": [] 29.30/8.39 } 29.30/8.39 }, 29.30/8.39 "371": { 29.30/8.39 "goal": [{ 29.30/8.39 "clause": -1, 29.30/8.39 "scope": -1, 29.30/8.39 "term": "(select T41 T40 X41)" 29.30/8.39 }], 29.30/8.39 "kb": { 29.30/8.39 "nonunifying": [], 29.30/8.39 "intvars": {}, 29.30/8.39 "arithmetic": { 29.30/8.39 "type": "PlainIntegerRelationState", 29.30/8.39 "relations": [] 29.30/8.39 }, 29.30/8.39 "ground": ["T40"], 29.30/8.39 "free": ["X41"], 29.30/8.39 "exprvars": [] 29.30/8.39 } 29.30/8.39 }, 29.30/8.39 "372": { 29.30/8.39 "goal": [{ 29.30/8.39 "clause": -1, 29.30/8.39 "scope": -1, 29.30/8.39 "term": "(members T48 T47)" 29.30/8.39 }], 29.30/8.39 "kb": { 29.30/8.39 "nonunifying": [], 29.30/8.39 "intvars": {}, 29.30/8.39 "arithmetic": { 29.30/8.39 "type": "PlainIntegerRelationState", 29.30/8.39 "relations": [] 29.30/8.39 }, 29.30/8.39 "ground": ["T47"], 29.30/8.39 "free": [], 29.30/8.39 "exprvars": [] 29.30/8.39 } 29.30/8.39 }, 29.30/8.39 "373": { 29.30/8.39 "goal": [ 29.30/8.39 { 29.30/8.39 "clause": 3, 29.30/8.39 "scope": 3, 29.30/8.39 "term": "(select T41 T40 X41)" 29.30/8.39 }, 29.30/8.39 { 29.30/8.39 "clause": 4, 29.30/8.39 "scope": 3, 29.30/8.39 "term": "(select T41 T40 X41)" 29.30/8.39 } 29.30/8.39 ], 29.30/8.39 "kb": { 29.30/8.39 "nonunifying": [], 29.30/8.39 "intvars": {}, 29.30/8.39 "arithmetic": { 29.30/8.39 "type": "PlainIntegerRelationState", 29.30/8.39 "relations": [] 29.30/8.39 }, 29.30/8.39 "ground": ["T40"], 29.30/8.39 "free": ["X41"], 29.30/8.39 "exprvars": [] 29.30/8.39 } 29.30/8.39 }, 29.30/8.39 "374": { 29.30/8.39 "goal": [{ 29.30/8.39 "clause": 3, 29.30/8.39 "scope": 3, 29.30/8.39 "term": "(select T41 T40 X41)" 29.30/8.39 }], 29.30/8.39 "kb": { 29.30/8.39 "nonunifying": [], 29.30/8.39 "intvars": {}, 29.30/8.39 "arithmetic": { 29.30/8.39 "type": "PlainIntegerRelationState", 29.30/8.39 "relations": [] 29.30/8.39 }, 29.30/8.39 "ground": ["T40"], 29.30/8.39 "free": ["X41"], 29.30/8.39 "exprvars": [] 29.30/8.39 } 29.30/8.39 }, 29.30/8.39 "155": { 29.30/8.39 "goal": [ 29.30/8.39 { 29.30/8.39 "clause": 0, 29.30/8.39 "scope": 1, 29.30/8.39 "term": "(color_map T1 T2)" 29.30/8.39 }, 29.30/8.39 { 29.30/8.39 "clause": 1, 29.30/8.39 "scope": 1, 29.30/8.39 "term": "(color_map T1 T2)" 29.30/8.39 } 29.30/8.39 ], 29.30/8.39 "kb": { 29.30/8.39 "nonunifying": [], 29.30/8.39 "intvars": {}, 29.30/8.39 "arithmetic": { 29.30/8.39 "type": "PlainIntegerRelationState", 29.30/8.39 "relations": [] 29.30/8.39 }, 29.30/8.39 "ground": ["T2"], 29.30/8.39 "free": [], 29.30/8.39 "exprvars": [] 29.30/8.39 } 29.30/8.39 }, 29.30/8.39 "375": { 29.30/8.39 "goal": [{ 29.30/8.39 "clause": 4, 29.30/8.39 "scope": 3, 29.30/8.39 "term": "(select T41 T40 X41)" 29.30/8.39 }], 29.30/8.39 "kb": { 29.30/8.39 "nonunifying": [], 29.30/8.39 "intvars": {}, 29.30/8.39 "arithmetic": { 29.30/8.39 "type": "PlainIntegerRelationState", 29.30/8.39 "relations": [] 29.30/8.39 }, 29.30/8.39 "ground": ["T40"], 29.30/8.39 "free": ["X41"], 29.30/8.39 "exprvars": [] 29.30/8.39 } 29.30/8.39 }, 29.30/8.39 "156": { 29.30/8.39 "goal": [{ 29.30/8.39 "clause": 0, 29.30/8.39 "scope": 1, 29.30/8.39 "term": "(color_map T1 T2)" 29.30/8.39 }], 29.30/8.39 "kb": { 29.30/8.39 "nonunifying": [], 29.30/8.39 "intvars": {}, 29.30/8.39 "arithmetic": { 29.30/8.39 "type": "PlainIntegerRelationState", 29.30/8.39 "relations": [] 29.30/8.39 }, 29.30/8.39 "ground": ["T2"], 29.30/8.39 "free": [], 29.30/8.39 "exprvars": [] 29.30/8.39 } 29.30/8.39 }, 29.30/8.39 "376": { 29.30/8.39 "goal": [{ 29.30/8.39 "clause": -1, 29.30/8.39 "scope": -1, 29.30/8.39 "term": "(true)" 29.30/8.39 }], 29.30/8.39 "kb": { 29.30/8.39 "nonunifying": [], 29.30/8.39 "intvars": {}, 29.30/8.39 "arithmetic": { 29.30/8.39 "type": "PlainIntegerRelationState", 29.30/8.39 "relations": [] 29.30/8.39 }, 29.30/8.39 "ground": [], 29.30/8.39 "free": [], 29.30/8.39 "exprvars": [] 29.30/8.39 } 29.30/8.39 }, 29.30/8.39 "157": { 29.30/8.39 "goal": [{ 29.30/8.39 "clause": 1, 29.30/8.39 "scope": 1, 29.30/8.39 "term": "(color_map T1 T2)" 29.30/8.39 }], 29.30/8.39 "kb": { 29.30/8.39 "nonunifying": [], 29.30/8.39 "intvars": {}, 29.30/8.39 "arithmetic": { 29.30/8.39 "type": "PlainIntegerRelationState", 29.30/8.39 "relations": [] 29.30/8.39 }, 29.30/8.39 "ground": ["T2"], 29.30/8.39 "free": [], 29.30/8.39 "exprvars": [] 29.30/8.39 } 29.30/8.39 }, 29.30/8.39 "377": { 29.30/8.39 "goal": [], 29.30/8.39 "kb": { 29.30/8.39 "nonunifying": [], 29.30/8.39 "intvars": {}, 29.30/8.39 "arithmetic": { 29.30/8.39 "type": "PlainIntegerRelationState", 29.30/8.39 "relations": [] 29.30/8.39 }, 29.30/8.39 "ground": [], 29.30/8.39 "free": [], 29.30/8.39 "exprvars": [] 29.30/8.39 } 29.30/8.39 }, 29.30/8.39 "158": { 29.30/8.39 "goal": [{ 29.30/8.39 "clause": -1, 29.30/8.39 "scope": -1, 29.30/8.39 "term": "(',' (color_region T18 T17) (color_map T19 T17))" 29.30/8.39 }], 29.30/8.39 "kb": { 29.30/8.39 "nonunifying": [], 29.30/8.39 "intvars": {}, 29.30/8.39 "arithmetic": { 29.30/8.39 "type": "PlainIntegerRelationState", 29.30/8.39 "relations": [] 29.30/8.39 }, 29.30/8.39 "ground": ["T17"], 29.30/8.39 "free": [], 29.30/8.39 "exprvars": [] 29.30/8.39 } 29.30/8.39 }, 29.30/8.39 "378": { 29.30/8.39 "goal": [], 29.30/8.39 "kb": { 29.30/8.39 "nonunifying": [], 29.30/8.39 "intvars": {}, 29.30/8.39 "arithmetic": { 29.30/8.39 "type": "PlainIntegerRelationState", 29.30/8.39 "relations": [] 29.30/8.39 }, 29.30/8.39 "ground": [], 29.30/8.39 "free": [], 29.30/8.39 "exprvars": [] 29.30/8.39 } 29.30/8.39 }, 29.30/8.39 "411": { 29.30/8.39 "goal": [{ 29.30/8.39 "clause": -1, 29.30/8.39 "scope": -1, 29.30/8.39 "term": "(',' (member T95 T94) (members T96 T94))" 29.30/8.39 }], 29.30/8.39 "kb": { 29.30/8.39 "nonunifying": [], 29.30/8.39 "intvars": {}, 29.30/8.39 "arithmetic": { 29.30/8.39 "type": "PlainIntegerRelationState", 29.30/8.39 "relations": [] 29.30/8.39 }, 29.30/8.39 "ground": ["T94"], 29.30/8.39 "free": [], 29.30/8.39 "exprvars": [] 29.30/8.39 } 29.30/8.39 }, 29.30/8.39 "159": { 29.30/8.39 "goal": [], 29.30/8.39 "kb": { 29.30/8.39 "nonunifying": [], 29.30/8.39 "intvars": {}, 29.30/8.39 "arithmetic": { 29.30/8.39 "type": "PlainIntegerRelationState", 29.30/8.39 "relations": [] 29.30/8.39 }, 29.30/8.39 "ground": [], 29.30/8.39 "free": [], 29.30/8.39 "exprvars": [] 29.30/8.39 } 29.30/8.39 }, 29.30/8.39 "412": { 29.30/8.39 "goal": [], 29.30/8.39 "kb": { 29.30/8.39 "nonunifying": [], 29.30/8.39 "intvars": {}, 29.30/8.39 "arithmetic": { 29.30/8.39 "type": "PlainIntegerRelationState", 29.30/8.39 "relations": [] 29.30/8.39 }, 29.30/8.39 "ground": [], 29.30/8.39 "free": [], 29.30/8.39 "exprvars": [] 29.30/8.39 } 29.30/8.39 }, 29.30/8.39 "415": { 29.30/8.39 "goal": [{ 29.30/8.39 "clause": -1, 29.30/8.39 "scope": -1, 29.30/8.39 "term": "(member T95 T94)" 29.30/8.39 }], 29.30/8.39 "kb": { 29.30/8.39 "nonunifying": [], 29.30/8.39 "intvars": {}, 29.30/8.39 "arithmetic": { 29.30/8.39 "type": "PlainIntegerRelationState", 29.30/8.39 "relations": [] 29.30/8.39 }, 29.30/8.39 "ground": ["T94"], 29.30/8.39 "free": [], 29.30/8.39 "exprvars": [] 29.30/8.39 } 29.30/8.39 }, 29.30/8.39 "416": { 29.30/8.39 "goal": [{ 29.30/8.39 "clause": -1, 29.30/8.39 "scope": -1, 29.30/8.39 "term": "(members T101 T94)" 29.30/8.39 }], 29.30/8.39 "kb": { 29.30/8.39 "nonunifying": [], 29.30/8.39 "intvars": {}, 29.30/8.39 "arithmetic": { 29.30/8.39 "type": "PlainIntegerRelationState", 29.30/8.39 "relations": [] 29.30/8.39 }, 29.30/8.39 "ground": ["T94"], 29.30/8.39 "free": [], 29.30/8.39 "exprvars": [] 29.30/8.39 } 29.30/8.39 }, 29.30/8.39 "419": { 29.30/8.39 "goal": [ 29.30/8.39 { 29.30/8.39 "clause": 7, 29.30/8.39 "scope": 5, 29.30/8.39 "term": "(member T95 T94)" 29.30/8.39 }, 29.30/8.39 { 29.30/8.39 "clause": 8, 29.30/8.39 "scope": 5, 29.30/8.39 "term": "(member T95 T94)" 29.30/8.39 } 29.30/8.39 ], 29.30/8.39 "kb": { 29.30/8.39 "nonunifying": [], 29.30/8.39 "intvars": {}, 29.30/8.39 "arithmetic": { 29.30/8.39 "type": "PlainIntegerRelationState", 29.30/8.39 "relations": [] 29.30/8.39 }, 29.30/8.39 "ground": ["T94"], 29.30/8.39 "free": [], 29.30/8.39 "exprvars": [] 29.30/8.39 } 29.30/8.39 }, 29.30/8.39 "440": { 29.30/8.39 "goal": [{ 29.30/8.40 "clause": -1, 29.30/8.40 "scope": -1, 29.30/8.40 "term": "(true)" 29.30/8.40 }], 29.30/8.40 "kb": { 29.30/8.40 "nonunifying": [], 29.30/8.40 "intvars": {}, 29.30/8.40 "arithmetic": { 29.30/8.40 "type": "PlainIntegerRelationState", 29.30/8.40 "relations": [] 29.30/8.40 }, 29.30/8.40 "ground": [], 29.30/8.40 "free": [], 29.30/8.40 "exprvars": [] 29.30/8.40 } 29.30/8.40 }, 29.30/8.40 "386": { 29.30/8.40 "goal": [{ 29.30/8.40 "clause": -1, 29.30/8.40 "scope": -1, 29.30/8.40 "term": "(select T72 T71 X74)" 29.30/8.40 }], 29.30/8.40 "kb": { 29.30/8.40 "nonunifying": [], 29.30/8.40 "intvars": {}, 29.30/8.40 "arithmetic": { 29.30/8.40 "type": "PlainIntegerRelationState", 29.30/8.40 "relations": [] 29.30/8.40 }, 29.30/8.40 "ground": ["T71"], 29.30/8.40 "free": ["X74"], 29.30/8.40 "exprvars": [] 29.30/8.40 } 29.30/8.40 }, 29.30/8.40 "441": { 29.30/8.40 "goal": [], 29.30/8.40 "kb": { 29.30/8.40 "nonunifying": [], 29.30/8.40 "intvars": {}, 29.30/8.40 "arithmetic": { 29.30/8.40 "type": "PlainIntegerRelationState", 29.30/8.40 "relations": [] 29.30/8.40 }, 29.30/8.40 "ground": [], 29.30/8.40 "free": [], 29.30/8.40 "exprvars": [] 29.30/8.40 } 29.30/8.40 }, 29.30/8.40 "2": { 29.30/8.40 "goal": [{ 29.30/8.40 "clause": -1, 29.30/8.40 "scope": -1, 29.30/8.40 "term": "(color_map T1 T2)" 29.30/8.40 }], 29.30/8.40 "kb": { 29.30/8.40 "nonunifying": [], 29.30/8.40 "intvars": {}, 29.30/8.40 "arithmetic": { 29.30/8.40 "type": "PlainIntegerRelationState", 29.30/8.40 "relations": [] 29.30/8.40 }, 29.30/8.40 "ground": ["T2"], 29.30/8.40 "free": [], 29.30/8.40 "exprvars": [] 29.30/8.40 } 29.30/8.40 }, 29.30/8.40 "365": { 29.30/8.40 "goal": [{ 29.30/8.40 "clause": -1, 29.30/8.40 "scope": -1, 29.30/8.40 "term": "(color_region T18 T17)" 29.30/8.40 }], 29.30/8.40 "kb": { 29.30/8.40 "nonunifying": [], 29.30/8.40 "intvars": {}, 29.30/8.40 "arithmetic": { 29.30/8.40 "type": "PlainIntegerRelationState", 29.30/8.40 "relations": [] 29.30/8.40 }, 29.30/8.40 "ground": ["T17"], 29.30/8.40 "free": [], 29.30/8.40 "exprvars": [] 29.30/8.40 } 29.30/8.40 }, 29.30/8.40 "420": { 29.30/8.40 "goal": [{ 29.30/8.40 "clause": 7, 29.30/8.40 "scope": 5, 29.30/8.40 "term": "(member T95 T94)" 29.30/8.40 }], 29.30/8.40 "kb": { 29.30/8.40 "nonunifying": [], 29.30/8.40 "intvars": {}, 29.30/8.40 "arithmetic": { 29.30/8.40 "type": "PlainIntegerRelationState", 29.30/8.40 "relations": [] 29.30/8.40 }, 29.30/8.40 "ground": ["T94"], 29.30/8.40 "free": [], 29.30/8.40 "exprvars": [] 29.30/8.40 } 29.30/8.40 }, 29.30/8.40 "442": { 29.30/8.40 "goal": [], 29.30/8.40 "kb": { 29.30/8.40 "nonunifying": [], 29.30/8.40 "intvars": {}, 29.30/8.40 "arithmetic": { 29.30/8.40 "type": "PlainIntegerRelationState", 29.30/8.40 "relations": [] 29.30/8.40 }, 29.30/8.40 "ground": [], 29.30/8.40 "free": [], 29.30/8.40 "exprvars": [] 29.30/8.40 } 29.30/8.40 }, 29.30/8.40 "366": { 29.30/8.40 "goal": [{ 29.30/8.40 "clause": -1, 29.30/8.40 "scope": -1, 29.30/8.40 "term": "(color_map T24 T17)" 29.30/8.40 }], 29.30/8.40 "kb": { 29.30/8.40 "nonunifying": [], 29.30/8.40 "intvars": {}, 29.30/8.40 "arithmetic": { 29.30/8.40 "type": "PlainIntegerRelationState", 29.30/8.40 "relations": [] 29.30/8.40 }, 29.30/8.40 "ground": ["T17"], 29.30/8.40 "free": [], 29.30/8.40 "exprvars": [] 29.30/8.40 } 29.30/8.40 }, 29.30/8.40 "388": { 29.30/8.40 "goal": [], 29.30/8.40 "kb": { 29.30/8.40 "nonunifying": [], 29.30/8.40 "intvars": {}, 29.30/8.40 "arithmetic": { 29.30/8.40 "type": "PlainIntegerRelationState", 29.30/8.40 "relations": [] 29.30/8.40 }, 29.30/8.40 "ground": [], 29.30/8.40 "free": [], 29.30/8.40 "exprvars": [] 29.30/8.40 } 29.30/8.40 }, 29.30/8.40 "421": { 29.30/8.40 "goal": [{ 29.30/8.40 "clause": 8, 29.30/8.40 "scope": 5, 29.30/8.40 "term": "(member T95 T94)" 29.30/8.40 }], 29.30/8.40 "kb": { 29.30/8.40 "nonunifying": [], 29.30/8.40 "intvars": {}, 29.30/8.40 "arithmetic": { 29.30/8.40 "type": "PlainIntegerRelationState", 29.30/8.40 "relations": [] 29.30/8.40 }, 29.30/8.40 "ground": ["T94"], 29.30/8.40 "free": [], 29.30/8.40 "exprvars": [] 29.30/8.40 } 29.30/8.40 }, 29.30/8.40 "443": { 29.30/8.40 "goal": [{ 29.30/8.40 "clause": -1, 29.30/8.40 "scope": -1, 29.30/8.40 "term": "(member T125 T124)" 29.30/8.40 }], 29.30/8.40 "kb": { 29.30/8.40 "nonunifying": [], 29.30/8.40 "intvars": {}, 29.30/8.40 "arithmetic": { 29.30/8.40 "type": "PlainIntegerRelationState", 29.30/8.40 "relations": [] 29.30/8.40 }, 29.30/8.40 "ground": ["T124"], 29.30/8.40 "free": [], 29.30/8.40 "exprvars": [] 29.30/8.40 } 29.30/8.40 }, 29.30/8.40 "367": { 29.30/8.40 "goal": [{ 29.30/8.40 "clause": 2, 29.30/8.40 "scope": 2, 29.30/8.40 "term": "(color_region T18 T17)" 29.30/8.40 }], 29.30/8.40 "kb": { 29.30/8.40 "nonunifying": [], 29.30/8.40 "intvars": {}, 29.30/8.40 "arithmetic": { 29.30/8.40 "type": "PlainIntegerRelationState", 29.30/8.40 "relations": [] 29.30/8.40 }, 29.30/8.40 "ground": ["T17"], 29.30/8.40 "free": [], 29.30/8.40 "exprvars": [] 29.30/8.40 } 29.30/8.40 }, 29.30/8.40 "444": { 29.30/8.40 "goal": [], 29.30/8.40 "kb": { 29.30/8.40 "nonunifying": [], 29.30/8.40 "intvars": {}, 29.30/8.40 "arithmetic": { 29.30/8.40 "type": "PlainIntegerRelationState", 29.30/8.40 "relations": [] 29.30/8.40 }, 29.30/8.40 "ground": [], 29.30/8.40 "free": [], 29.30/8.40 "exprvars": [] 29.30/8.40 } 29.30/8.40 }, 29.30/8.40 "467": { 29.30/8.40 "goal": [{ 29.30/8.40 "clause": -1, 29.30/8.40 "scope": -1, 29.30/8.40 "term": "(true)" 29.30/8.40 }], 29.30/8.40 "kb": { 29.30/8.40 "nonunifying": [], 29.30/8.40 "intvars": {}, 29.30/8.40 "arithmetic": { 29.30/8.40 "type": "PlainIntegerRelationState", 29.30/8.40 "relations": [] 29.30/8.40 }, 29.30/8.40 "ground": [], 29.30/8.40 "free": [], 29.30/8.40 "exprvars": [] 29.30/8.40 } 29.30/8.40 }, 29.30/8.40 "369": { 29.30/8.40 "goal": [{ 29.30/8.40 "clause": -1, 29.30/8.40 "scope": -1, 29.30/8.40 "term": "(',' (select T41 T40 X41) (members T42 X41))" 29.30/8.40 }], 29.30/8.40 "kb": { 29.30/8.40 "nonunifying": [], 29.30/8.40 "intvars": {}, 29.30/8.40 "arithmetic": { 29.30/8.40 "type": "PlainIntegerRelationState", 29.30/8.40 "relations": [] 29.30/8.40 }, 29.30/8.40 "ground": ["T40"], 29.30/8.40 "free": ["X41"], 29.30/8.40 "exprvars": [] 29.30/8.40 } 29.30/8.40 }, 29.30/8.40 "446": { 29.30/8.40 "goal": [{ 29.30/8.40 "clause": -1, 29.30/8.40 "scope": -1, 29.30/8.40 "term": "(true)" 29.30/8.40 }], 29.30/8.40 "kb": { 29.30/8.40 "nonunifying": [], 29.30/8.40 "intvars": {}, 29.30/8.40 "arithmetic": { 29.30/8.40 "type": "PlainIntegerRelationState", 29.30/8.40 "relations": [] 29.30/8.40 }, 29.30/8.40 "ground": [], 29.30/8.40 "free": [], 29.30/8.40 "exprvars": [] 29.30/8.40 } 29.30/8.40 }, 29.30/8.40 "468": { 29.30/8.40 "goal": [], 29.30/8.40 "kb": { 29.30/8.40 "nonunifying": [], 29.30/8.40 "intvars": {}, 29.30/8.40 "arithmetic": { 29.30/8.40 "type": "PlainIntegerRelationState", 29.30/8.40 "relations": [] 29.30/8.40 }, 29.30/8.40 "ground": [], 29.30/8.40 "free": [], 29.30/8.40 "exprvars": [] 29.30/8.40 } 29.30/8.40 }, 29.30/8.40 "447": { 29.30/8.40 "goal": [], 29.30/8.40 "kb": { 29.30/8.40 "nonunifying": [], 29.30/8.40 "intvars": {}, 29.30/8.40 "arithmetic": { 29.30/8.40 "type": "PlainIntegerRelationState", 29.30/8.40 "relations": [] 29.30/8.40 }, 29.30/8.40 "ground": [], 29.30/8.40 "free": [], 29.30/8.40 "exprvars": [] 29.30/8.40 } 29.30/8.40 }, 29.30/8.40 "469": { 29.30/8.40 "goal": [], 29.30/8.40 "kb": { 29.30/8.40 "nonunifying": [], 29.30/8.40 "intvars": {}, 29.30/8.40 "arithmetic": { 29.30/8.40 "type": "PlainIntegerRelationState", 29.30/8.40 "relations": [] 29.30/8.40 }, 29.30/8.40 "ground": [], 29.30/8.40 "free": [], 29.30/8.40 "exprvars": [] 29.30/8.40 } 29.30/8.40 }, 29.30/8.40 "448": { 29.30/8.40 "goal": [], 29.30/8.40 "kb": { 29.30/8.40 "nonunifying": [], 29.30/8.40 "intvars": {}, 29.30/8.40 "arithmetic": { 29.30/8.40 "type": "PlainIntegerRelationState", 29.30/8.40 "relations": [] 29.30/8.40 }, 29.30/8.40 "ground": [], 29.30/8.40 "free": [], 29.30/8.40 "exprvars": [] 29.30/8.40 } 29.30/8.40 }, 29.30/8.40 "405": { 29.30/8.40 "goal": [ 29.30/8.40 { 29.30/8.40 "clause": 5, 29.30/8.40 "scope": 4, 29.30/8.40 "term": "(members T48 T47)" 29.30/8.40 }, 29.30/8.40 { 29.30/8.40 "clause": 6, 29.30/8.40 "scope": 4, 29.30/8.40 "term": "(members T48 T47)" 29.30/8.40 } 29.30/8.40 ], 29.30/8.40 "kb": { 29.30/8.40 "nonunifying": [], 29.30/8.40 "intvars": {}, 29.30/8.40 "arithmetic": { 29.30/8.40 "type": "PlainIntegerRelationState", 29.30/8.40 "relations": [] 29.30/8.40 }, 29.30/8.40 "ground": ["T47"], 29.30/8.40 "free": [], 29.30/8.40 "exprvars": [] 29.30/8.40 } 29.30/8.40 }, 29.30/8.40 "406": { 29.30/8.40 "goal": [{ 29.30/8.40 "clause": 5, 29.30/8.40 "scope": 4, 29.30/8.40 "term": "(members T48 T47)" 29.30/8.40 }], 29.30/8.40 "kb": { 29.30/8.40 "nonunifying": [], 29.30/8.40 "intvars": {}, 29.30/8.40 "arithmetic": { 29.30/8.40 "type": "PlainIntegerRelationState", 29.30/8.40 "relations": [] 29.30/8.40 }, 29.30/8.40 "ground": ["T47"], 29.30/8.40 "free": [], 29.30/8.40 "exprvars": [] 29.30/8.40 } 29.30/8.40 }, 29.30/8.40 "407": { 29.30/8.40 "goal": [{ 29.30/8.40 "clause": 6, 29.30/8.40 "scope": 4, 29.30/8.40 "term": "(members T48 T47)" 29.30/8.40 }], 29.30/8.40 "kb": { 29.30/8.40 "nonunifying": [], 29.30/8.40 "intvars": {}, 29.30/8.40 "arithmetic": { 29.30/8.40 "type": "PlainIntegerRelationState", 29.30/8.40 "relations": [] 29.30/8.40 }, 29.30/8.40 "ground": ["T47"], 29.30/8.40 "free": [], 29.30/8.40 "exprvars": [] 29.30/8.40 } 29.30/8.40 } 29.30/8.40 }, 29.30/8.40 "edges": [ 29.30/8.40 { 29.30/8.40 "from": 2, 29.30/8.40 "to": 155, 29.30/8.40 "label": "CASE" 29.30/8.40 }, 29.30/8.40 { 29.30/8.40 "from": 155, 29.30/8.40 "to": 156, 29.30/8.40 "label": "PARALLEL" 29.30/8.40 }, 29.30/8.40 { 29.30/8.40 "from": 155, 29.30/8.40 "to": 157, 29.30/8.40 "label": "PARALLEL" 29.30/8.40 }, 29.30/8.40 { 29.30/8.40 "from": 156, 29.30/8.40 "to": 158, 29.30/8.40 "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" 29.30/8.40 }, 29.30/8.40 { 29.30/8.40 "from": 156, 29.30/8.40 "to": 159, 29.30/8.40 "label": "EVAL-BACKTRACK" 29.30/8.40 }, 29.30/8.40 { 29.30/8.40 "from": 157, 29.30/8.40 "to": 467, 29.30/8.40 "label": "EVAL with clause\ncolor_map([], X139).\nand substitutionT1 -> [],\nT2 -> T141,\nX139 -> T141" 29.30/8.40 }, 29.30/8.40 { 29.30/8.40 "from": 157, 29.30/8.40 "to": 468, 29.30/8.40 "label": "EVAL-BACKTRACK" 29.30/8.40 }, 29.30/8.40 { 29.30/8.40 "from": 158, 29.30/8.40 "to": 365, 29.30/8.40 "label": "SPLIT 1" 29.30/8.40 }, 29.30/8.40 { 29.30/8.40 "from": 158, 29.30/8.40 "to": 366, 29.30/8.40 "label": "SPLIT 2\nnew knowledge:\nT17 is ground\nreplacements:T19 -> T24" 29.30/8.40 }, 29.30/8.40 { 29.30/8.40 "from": 365, 29.30/8.40 "to": 367, 29.30/8.40 "label": "CASE" 29.30/8.40 }, 29.30/8.40 { 29.30/8.40 "from": 366, 29.30/8.40 "to": 2, 29.30/8.40 "label": "INSTANCE with matching:\nT1 -> T24\nT2 -> T17" 29.30/8.40 }, 29.30/8.40 { 29.30/8.40 "from": 367, 29.30/8.40 "to": 369, 29.30/8.40 "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" 29.30/8.40 }, 29.30/8.40 { 29.30/8.40 "from": 367, 29.30/8.40 "to": 370, 29.30/8.40 "label": "EVAL-BACKTRACK" 29.30/8.40 }, 29.30/8.40 { 29.30/8.40 "from": 369, 29.30/8.40 "to": 371, 29.30/8.40 "label": "SPLIT 1" 29.30/8.40 }, 29.30/8.40 { 29.30/8.40 "from": 369, 29.30/8.40 "to": 372, 29.30/8.40 "label": "SPLIT 2\nnew knowledge:\nT41 is ground\nT40 is ground\nT47 is ground\nreplacements:X41 -> T47,\nT42 -> T48" 29.30/8.40 }, 29.30/8.40 { 29.30/8.40 "from": 371, 29.30/8.40 "to": 373, 29.30/8.40 "label": "CASE" 29.30/8.40 }, 29.30/8.40 { 29.30/8.40 "from": 372, 29.30/8.40 "to": 405, 29.30/8.40 "label": "CASE" 29.30/8.40 }, 29.30/8.40 { 29.30/8.40 "from": 373, 29.30/8.40 "to": 374, 29.30/8.40 "label": "PARALLEL" 29.30/8.40 }, 29.30/8.40 { 29.30/8.40 "from": 373, 29.30/8.40 "to": 375, 29.30/8.40 "label": "PARALLEL" 29.30/8.40 }, 29.30/8.40 { 29.30/8.40 "from": 374, 29.30/8.40 "to": 376, 29.30/8.40 "label": "EVAL with clause\nselect(X58, .(X58, X59), X59).\nand substitutionT41 -> T61,\nX58 -> T61,\nX59 -> T62,\nT40 -> .(T61, T62),\nX41 -> T62" 29.30/8.40 }, 29.30/8.40 { 29.30/8.40 "from": 374, 29.30/8.40 "to": 377, 29.30/8.40 "label": "EVAL-BACKTRACK" 29.30/8.40 }, 29.30/8.40 { 29.30/8.40 "from": 375, 29.30/8.40 "to": 386, 29.30/8.40 "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" 29.30/8.40 }, 29.30/8.40 { 29.30/8.40 "from": 375, 29.30/8.40 "to": 388, 29.30/8.40 "label": "EVAL-BACKTRACK" 29.30/8.40 }, 29.30/8.40 { 29.30/8.40 "from": 376, 29.30/8.40 "to": 378, 29.30/8.40 "label": "SUCCESS" 29.30/8.40 }, 29.30/8.40 { 29.30/8.40 "from": 386, 29.30/8.40 "to": 371, 29.30/8.40 "label": "INSTANCE with matching:\nT41 -> T72\nT40 -> T71\nX41 -> X74" 29.30/8.40 }, 29.30/8.40 { 29.30/8.40 "from": 405, 29.30/8.40 "to": 406, 29.30/8.40 "label": "PARALLEL" 29.30/8.40 }, 29.30/8.40 { 29.30/8.40 "from": 405, 29.30/8.40 "to": 407, 29.30/8.40 "label": "PARALLEL" 29.30/8.40 }, 29.30/8.40 { 29.30/8.40 "from": 406, 29.30/8.40 "to": 411, 29.30/8.40 "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" 29.30/8.40 }, 29.30/8.40 { 29.30/8.40 "from": 406, 29.30/8.40 "to": 412, 29.30/8.40 "label": "EVAL-BACKTRACK" 29.30/8.40 }, 29.30/8.40 { 29.30/8.40 "from": 407, 29.30/8.40 "to": 446, 29.30/8.40 "label": "EVAL with clause\nmembers([], X133).\nand substitutionT48 -> [],\nT47 -> T135,\nX133 -> T135" 29.30/8.40 }, 29.30/8.40 { 29.30/8.40 "from": 407, 29.30/8.40 "to": 447, 29.30/8.40 "label": "EVAL-BACKTRACK" 29.30/8.40 }, 29.30/8.40 { 29.30/8.40 "from": 411, 29.30/8.40 "to": 415, 29.30/8.40 "label": "SPLIT 1" 29.30/8.40 }, 29.30/8.40 { 29.30/8.40 "from": 411, 29.30/8.40 "to": 416, 29.30/8.40 "label": "SPLIT 2\nnew knowledge:\nT95 is ground\nT94 is ground\nreplacements:T96 -> T101" 29.30/8.40 }, 29.30/8.40 { 29.30/8.40 "from": 415, 29.30/8.40 "to": 419, 29.30/8.40 "label": "CASE" 29.30/8.40 }, 29.30/8.40 { 29.30/8.40 "from": 416, 29.30/8.40 "to": 372, 29.30/8.40 "label": "INSTANCE with matching:\nT48 -> T101\nT47 -> T94" 29.30/8.40 }, 29.30/8.40 { 29.30/8.40 "from": 419, 29.30/8.40 "to": 420, 29.30/8.40 "label": "PARALLEL" 29.30/8.40 }, 29.30/8.40 { 29.30/8.40 "from": 419, 29.30/8.40 "to": 421, 29.30/8.40 "label": "PARALLEL" 29.30/8.40 }, 29.30/8.40 { 29.30/8.40 "from": 420, 29.30/8.40 "to": 440, 29.30/8.40 "label": "EVAL with clause\nmember(X113, .(X113, X114)).\nand substitutionT95 -> T114,\nX113 -> T114,\nX114 -> T115,\nT94 -> .(T114, T115)" 29.30/8.40 }, 29.30/8.40 { 29.30/8.40 "from": 420, 29.30/8.40 "to": 441, 29.30/8.40 "label": "EVAL-BACKTRACK" 29.30/8.40 }, 29.30/8.40 { 29.30/8.40 "from": 421, 29.30/8.40 "to": 443, 29.30/8.40 "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" 29.30/8.40 }, 29.30/8.40 { 29.30/8.40 "from": 421, 29.30/8.40 "to": 444, 29.30/8.40 "label": "EVAL-BACKTRACK" 29.30/8.40 }, 29.30/8.40 { 29.30/8.40 "from": 440, 29.30/8.40 "to": 442, 29.30/8.40 "label": "SUCCESS" 29.30/8.40 }, 29.30/8.40 { 29.30/8.40 "from": 443, 29.30/8.40 "to": 415, 29.30/8.40 "label": "INSTANCE with matching:\nT95 -> T125\nT94 -> T124" 29.30/8.41 }, 29.30/8.41 { 29.30/8.41 "from": 446, 29.30/8.41 "to": 448, 29.30/8.41 "label": "SUCCESS" 29.30/8.41 }, 29.30/8.41 { 29.30/8.41 "from": 467, 29.30/8.41 "to": 469, 29.30/8.41 "label": "SUCCESS" 29.30/8.41 } 29.30/8.41 ], 29.30/8.41 "type": "Graph" 29.30/8.41 } 29.30/8.41 } 29.30/8.41 29.30/8.41 ---------------------------------------- 29.30/8.41 29.30/8.41 (66) 29.30/8.41 Obligation: 29.30/8.41 Q restricted rewrite system: 29.30/8.41 The TRS R consists of the following rules: 29.30/8.41 29.30/8.41 f2_in(T17) -> U1(f158_in(T17), T17) 29.30/8.41 U1(f158_out1, T17) -> f2_out1 29.30/8.41 f2_in(T141) -> f2_out1 29.30/8.41 f371_in(.(T61, T62)) -> f371_out1(T61, T62) 29.30/8.41 f371_in(.(T70, T71)) -> U2(f371_in(T71), .(T70, T71)) 29.30/8.41 U2(f371_out1(T72, X74), .(T70, T71)) -> f371_out1(T72, .(T70, X74)) 29.30/8.41 f372_in(T94) -> U3(f411_in(T94), T94) 29.30/8.41 U3(f411_out1(T95, T96), T94) -> f372_out1(.(T95, T96)) 29.30/8.41 f372_in(T135) -> f372_out1([]) 29.30/8.41 f415_in(.(T114, T115)) -> f415_out1(T114) 29.30/8.41 f415_in(.(T123, T124)) -> U4(f415_in(T124), .(T123, T124)) 29.30/8.41 U4(f415_out1(T125), .(T123, T124)) -> f415_out1(T125) 29.30/8.41 f365_in(T40) -> U5(f369_in(T40), T40) 29.30/8.41 U5(f369_out1(T41, X41, T42), T40) -> f365_out1 29.30/8.41 f158_in(T17) -> U6(f365_in(T17), T17) 29.30/8.41 U6(f365_out1, T17) -> U7(f2_in(T17), T17) 29.30/8.41 U7(f2_out1, T17) -> f158_out1 29.30/8.41 f369_in(T40) -> U8(f371_in(T40), T40) 29.30/8.41 U8(f371_out1(T41, T47), T40) -> U9(f372_in(T47), T40, T41, T47) 29.30/8.41 U9(f372_out1(T48), T40, T41, T47) -> f369_out1(T41, T47, T48) 29.30/8.41 f411_in(T94) -> U10(f415_in(T94), T94) 29.30/8.41 U10(f415_out1(T95), T94) -> U11(f372_in(T94), T94, T95) 29.30/8.41 U11(f372_out1(T101), T94, T95) -> f411_out1(T95, T101) 29.30/8.41 29.30/8.41 Q is empty. 29.30/8.41 29.30/8.41 ---------------------------------------- 29.30/8.41 29.30/8.41 (67) DependencyPairsProof (EQUIVALENT) 29.30/8.41 Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem. 29.30/8.41 ---------------------------------------- 29.30/8.41 29.30/8.41 (68) 29.30/8.41 Obligation: 29.30/8.41 Q DP problem: 29.30/8.41 The TRS P consists of the following rules: 29.30/8.41 29.30/8.41 F2_IN(T17) -> U1^1(f158_in(T17), T17) 29.30/8.41 F2_IN(T17) -> F158_IN(T17) 29.30/8.41 F371_IN(.(T70, T71)) -> U2^1(f371_in(T71), .(T70, T71)) 29.30/8.41 F371_IN(.(T70, T71)) -> F371_IN(T71) 29.30/8.41 F372_IN(T94) -> U3^1(f411_in(T94), T94) 29.30/8.41 F372_IN(T94) -> F411_IN(T94) 29.30/8.41 F415_IN(.(T123, T124)) -> U4^1(f415_in(T124), .(T123, T124)) 29.30/8.41 F415_IN(.(T123, T124)) -> F415_IN(T124) 29.30/8.41 F365_IN(T40) -> U5^1(f369_in(T40), T40) 29.30/8.41 F365_IN(T40) -> F369_IN(T40) 29.30/8.41 F158_IN(T17) -> U6^1(f365_in(T17), T17) 29.30/8.41 F158_IN(T17) -> F365_IN(T17) 29.30/8.41 U6^1(f365_out1, T17) -> U7^1(f2_in(T17), T17) 29.30/8.41 U6^1(f365_out1, T17) -> F2_IN(T17) 29.30/8.41 F369_IN(T40) -> U8^1(f371_in(T40), T40) 29.30/8.41 F369_IN(T40) -> F371_IN(T40) 29.30/8.41 U8^1(f371_out1(T41, T47), T40) -> U9^1(f372_in(T47), T40, T41, T47) 29.30/8.41 U8^1(f371_out1(T41, T47), T40) -> F372_IN(T47) 29.30/8.41 F411_IN(T94) -> U10^1(f415_in(T94), T94) 29.30/8.41 F411_IN(T94) -> F415_IN(T94) 29.30/8.41 U10^1(f415_out1(T95), T94) -> U11^1(f372_in(T94), T94, T95) 29.30/8.41 U10^1(f415_out1(T95), T94) -> F372_IN(T94) 29.30/8.41 29.30/8.41 The TRS R consists of the following rules: 29.30/8.41 29.30/8.41 f2_in(T17) -> U1(f158_in(T17), T17) 29.30/8.41 U1(f158_out1, T17) -> f2_out1 29.30/8.41 f2_in(T141) -> f2_out1 29.30/8.41 f371_in(.(T61, T62)) -> f371_out1(T61, T62) 29.30/8.41 f371_in(.(T70, T71)) -> U2(f371_in(T71), .(T70, T71)) 29.30/8.41 U2(f371_out1(T72, X74), .(T70, T71)) -> f371_out1(T72, .(T70, X74)) 29.30/8.41 f372_in(T94) -> U3(f411_in(T94), T94) 29.30/8.41 U3(f411_out1(T95, T96), T94) -> f372_out1(.(T95, T96)) 29.30/8.41 f372_in(T135) -> f372_out1([]) 29.30/8.41 f415_in(.(T114, T115)) -> f415_out1(T114) 29.30/8.41 f415_in(.(T123, T124)) -> U4(f415_in(T124), .(T123, T124)) 29.30/8.41 U4(f415_out1(T125), .(T123, T124)) -> f415_out1(T125) 29.30/8.41 f365_in(T40) -> U5(f369_in(T40), T40) 29.30/8.41 U5(f369_out1(T41, X41, T42), T40) -> f365_out1 29.30/8.41 f158_in(T17) -> U6(f365_in(T17), T17) 29.30/8.41 U6(f365_out1, T17) -> U7(f2_in(T17), T17) 29.30/8.41 U7(f2_out1, T17) -> f158_out1 29.30/8.41 f369_in(T40) -> U8(f371_in(T40), T40) 29.30/8.41 U8(f371_out1(T41, T47), T40) -> U9(f372_in(T47), T40, T41, T47) 29.30/8.41 U9(f372_out1(T48), T40, T41, T47) -> f369_out1(T41, T47, T48) 29.30/8.41 f411_in(T94) -> U10(f415_in(T94), T94) 29.30/8.41 U10(f415_out1(T95), T94) -> U11(f372_in(T94), T94, T95) 29.30/8.41 U11(f372_out1(T101), T94, T95) -> f411_out1(T95, T101) 29.30/8.41 29.30/8.41 Q is empty. 29.30/8.41 We have to consider all minimal (P,Q,R)-chains. 29.30/8.41 ---------------------------------------- 29.30/8.41 29.30/8.41 (69) DependencyGraphProof (EQUIVALENT) 29.30/8.41 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 4 SCCs with 14 less nodes. 29.30/8.41 ---------------------------------------- 29.30/8.41 29.30/8.41 (70) 29.30/8.41 Complex Obligation (AND) 29.30/8.41 29.30/8.41 ---------------------------------------- 29.30/8.41 29.30/8.41 (71) 29.30/8.41 Obligation: 29.30/8.41 Q DP problem: 29.30/8.41 The TRS P consists of the following rules: 29.30/8.41 29.30/8.41 F415_IN(.(T123, T124)) -> F415_IN(T124) 29.30/8.41 29.30/8.41 The TRS R consists of the following rules: 29.30/8.41 29.30/8.41 f2_in(T17) -> U1(f158_in(T17), T17) 29.30/8.41 U1(f158_out1, T17) -> f2_out1 29.30/8.41 f2_in(T141) -> f2_out1 29.30/8.41 f371_in(.(T61, T62)) -> f371_out1(T61, T62) 29.30/8.41 f371_in(.(T70, T71)) -> U2(f371_in(T71), .(T70, T71)) 29.30/8.41 U2(f371_out1(T72, X74), .(T70, T71)) -> f371_out1(T72, .(T70, X74)) 29.30/8.41 f372_in(T94) -> U3(f411_in(T94), T94) 29.30/8.41 U3(f411_out1(T95, T96), T94) -> f372_out1(.(T95, T96)) 29.30/8.41 f372_in(T135) -> f372_out1([]) 29.30/8.41 f415_in(.(T114, T115)) -> f415_out1(T114) 29.30/8.41 f415_in(.(T123, T124)) -> U4(f415_in(T124), .(T123, T124)) 29.30/8.41 U4(f415_out1(T125), .(T123, T124)) -> f415_out1(T125) 29.30/8.41 f365_in(T40) -> U5(f369_in(T40), T40) 29.30/8.41 U5(f369_out1(T41, X41, T42), T40) -> f365_out1 29.30/8.41 f158_in(T17) -> U6(f365_in(T17), T17) 29.30/8.41 U6(f365_out1, T17) -> U7(f2_in(T17), T17) 29.30/8.41 U7(f2_out1, T17) -> f158_out1 29.30/8.41 f369_in(T40) -> U8(f371_in(T40), T40) 29.30/8.41 U8(f371_out1(T41, T47), T40) -> U9(f372_in(T47), T40, T41, T47) 29.30/8.41 U9(f372_out1(T48), T40, T41, T47) -> f369_out1(T41, T47, T48) 29.30/8.41 f411_in(T94) -> U10(f415_in(T94), T94) 29.30/8.41 U10(f415_out1(T95), T94) -> U11(f372_in(T94), T94, T95) 29.30/8.41 U11(f372_out1(T101), T94, T95) -> f411_out1(T95, T101) 29.30/8.41 29.30/8.41 Q is empty. 29.30/8.41 We have to consider all minimal (P,Q,R)-chains. 29.30/8.41 ---------------------------------------- 29.30/8.41 29.30/8.41 (72) UsableRulesProof (EQUIVALENT) 29.30/8.41 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. 29.30/8.41 ---------------------------------------- 29.30/8.41 29.30/8.41 (73) 29.30/8.41 Obligation: 29.30/8.41 Q DP problem: 29.30/8.41 The TRS P consists of the following rules: 29.30/8.41 29.30/8.41 F415_IN(.(T123, T124)) -> F415_IN(T124) 29.30/8.41 29.30/8.41 R is empty. 29.30/8.41 Q is empty. 29.30/8.41 We have to consider all minimal (P,Q,R)-chains. 29.30/8.41 ---------------------------------------- 29.30/8.41 29.30/8.41 (74) QDPSizeChangeProof (EQUIVALENT) 29.30/8.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. 29.30/8.41 29.30/8.41 From the DPs we obtained the following set of size-change graphs: 29.30/8.41 *F415_IN(.(T123, T124)) -> F415_IN(T124) 29.30/8.41 The graph contains the following edges 1 > 1 29.30/8.41 29.30/8.41 29.30/8.41 ---------------------------------------- 29.30/8.41 29.30/8.41 (75) 29.30/8.41 YES 29.30/8.41 29.30/8.41 ---------------------------------------- 29.30/8.41 29.30/8.41 (76) 29.30/8.41 Obligation: 29.30/8.41 Q DP problem: 29.30/8.41 The TRS P consists of the following rules: 29.30/8.41 29.30/8.41 F372_IN(T94) -> F411_IN(T94) 29.30/8.41 F411_IN(T94) -> U10^1(f415_in(T94), T94) 29.30/8.41 U10^1(f415_out1(T95), T94) -> F372_IN(T94) 29.30/8.41 29.30/8.41 The TRS R consists of the following rules: 29.30/8.41 29.30/8.41 f2_in(T17) -> U1(f158_in(T17), T17) 29.30/8.41 U1(f158_out1, T17) -> f2_out1 29.30/8.41 f2_in(T141) -> f2_out1 29.30/8.41 f371_in(.(T61, T62)) -> f371_out1(T61, T62) 29.30/8.41 f371_in(.(T70, T71)) -> U2(f371_in(T71), .(T70, T71)) 29.30/8.41 U2(f371_out1(T72, X74), .(T70, T71)) -> f371_out1(T72, .(T70, X74)) 29.30/8.41 f372_in(T94) -> U3(f411_in(T94), T94) 29.30/8.41 U3(f411_out1(T95, T96), T94) -> f372_out1(.(T95, T96)) 29.30/8.41 f372_in(T135) -> f372_out1([]) 29.30/8.41 f415_in(.(T114, T115)) -> f415_out1(T114) 29.30/8.41 f415_in(.(T123, T124)) -> U4(f415_in(T124), .(T123, T124)) 29.30/8.41 U4(f415_out1(T125), .(T123, T124)) -> f415_out1(T125) 29.30/8.41 f365_in(T40) -> U5(f369_in(T40), T40) 29.30/8.41 U5(f369_out1(T41, X41, T42), T40) -> f365_out1 29.30/8.41 f158_in(T17) -> U6(f365_in(T17), T17) 29.30/8.41 U6(f365_out1, T17) -> U7(f2_in(T17), T17) 29.30/8.41 U7(f2_out1, T17) -> f158_out1 29.30/8.41 f369_in(T40) -> U8(f371_in(T40), T40) 29.30/8.41 U8(f371_out1(T41, T47), T40) -> U9(f372_in(T47), T40, T41, T47) 29.30/8.41 U9(f372_out1(T48), T40, T41, T47) -> f369_out1(T41, T47, T48) 29.30/8.41 f411_in(T94) -> U10(f415_in(T94), T94) 29.30/8.41 U10(f415_out1(T95), T94) -> U11(f372_in(T94), T94, T95) 29.30/8.41 U11(f372_out1(T101), T94, T95) -> f411_out1(T95, T101) 29.30/8.41 29.30/8.41 Q is empty. 29.30/8.41 We have to consider all minimal (P,Q,R)-chains. 29.30/8.41 ---------------------------------------- 29.30/8.41 29.30/8.41 (77) NonTerminationLoopProof (COMPLETE) 29.30/8.41 We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. 29.30/8.41 Found a loop by narrowing to the left: 29.30/8.41 29.30/8.41 s = F411_IN(.(T114, T115)) evaluates to t =F411_IN(.(T114, T115)) 29.30/8.41 29.30/8.41 Thus s starts an infinite chain as s semiunifies with t with the following substitutions: 29.30/8.41 * Matcher: [ ] 29.30/8.41 * Semiunifier: [ ] 29.30/8.41 29.30/8.41 -------------------------------------------------------------------------------- 29.30/8.41 Rewriting sequence 29.30/8.41 29.30/8.41 F411_IN(.(T114, T115)) -> U10^1(f415_in(.(T114, T115)), .(T114, T115)) 29.30/8.41 with rule F411_IN(T94) -> U10^1(f415_in(T94), T94) at position [] and matcher [T94 / .(T114, T115)] 29.30/8.41 29.30/8.41 U10^1(f415_in(.(T114, T115)), .(T114, T115)) -> U10^1(f415_out1(T114), .(T114, T115)) 29.30/8.41 with rule f415_in(.(T114', T115')) -> f415_out1(T114') at position [0] and matcher [T114' / T114, T115' / T115] 29.30/8.41 29.30/8.41 U10^1(f415_out1(T114), .(T114, T115)) -> F372_IN(.(T114, T115)) 29.30/8.41 with rule U10^1(f415_out1(T95), T94') -> F372_IN(T94') at position [] and matcher [T95 / T114, T94' / .(T114, T115)] 29.30/8.41 29.30/8.41 F372_IN(.(T114, T115)) -> F411_IN(.(T114, T115)) 29.30/8.41 with rule F372_IN(T94) -> F411_IN(T94) 29.30/8.41 29.30/8.41 Now applying the matcher to the start term leads to a term which is equal to the last term in the rewriting sequence 29.30/8.41 29.30/8.41 29.30/8.41 All these steps are and every following step will be a correct step w.r.t to Q. 29.30/8.41 29.30/8.41 29.30/8.41 29.30/8.41 29.30/8.41 ---------------------------------------- 29.30/8.41 29.30/8.41 (78) 29.30/8.41 NO 29.30/8.41 29.30/8.41 ---------------------------------------- 29.30/8.41 29.30/8.41 (79) 29.30/8.41 Obligation: 29.30/8.41 Q DP problem: 29.30/8.41 The TRS P consists of the following rules: 29.30/8.41 29.30/8.41 F371_IN(.(T70, T71)) -> F371_IN(T71) 29.30/8.41 29.30/8.41 The TRS R consists of the following rules: 29.30/8.41 29.30/8.41 f2_in(T17) -> U1(f158_in(T17), T17) 29.30/8.41 U1(f158_out1, T17) -> f2_out1 29.30/8.41 f2_in(T141) -> f2_out1 29.30/8.41 f371_in(.(T61, T62)) -> f371_out1(T61, T62) 29.30/8.41 f371_in(.(T70, T71)) -> U2(f371_in(T71), .(T70, T71)) 29.30/8.41 U2(f371_out1(T72, X74), .(T70, T71)) -> f371_out1(T72, .(T70, X74)) 29.30/8.41 f372_in(T94) -> U3(f411_in(T94), T94) 29.30/8.41 U3(f411_out1(T95, T96), T94) -> f372_out1(.(T95, T96)) 29.30/8.41 f372_in(T135) -> f372_out1([]) 29.30/8.41 f415_in(.(T114, T115)) -> f415_out1(T114) 29.30/8.41 f415_in(.(T123, T124)) -> U4(f415_in(T124), .(T123, T124)) 29.30/8.41 U4(f415_out1(T125), .(T123, T124)) -> f415_out1(T125) 29.30/8.41 f365_in(T40) -> U5(f369_in(T40), T40) 29.30/8.41 U5(f369_out1(T41, X41, T42), T40) -> f365_out1 29.30/8.41 f158_in(T17) -> U6(f365_in(T17), T17) 29.30/8.41 U6(f365_out1, T17) -> U7(f2_in(T17), T17) 29.30/8.41 U7(f2_out1, T17) -> f158_out1 29.30/8.41 f369_in(T40) -> U8(f371_in(T40), T40) 29.30/8.41 U8(f371_out1(T41, T47), T40) -> U9(f372_in(T47), T40, T41, T47) 29.30/8.41 U9(f372_out1(T48), T40, T41, T47) -> f369_out1(T41, T47, T48) 29.30/8.41 f411_in(T94) -> U10(f415_in(T94), T94) 29.30/8.41 U10(f415_out1(T95), T94) -> U11(f372_in(T94), T94, T95) 29.30/8.41 U11(f372_out1(T101), T94, T95) -> f411_out1(T95, T101) 29.30/8.41 29.30/8.41 Q is empty. 29.30/8.41 We have to consider all minimal (P,Q,R)-chains. 29.30/8.41 ---------------------------------------- 29.30/8.41 29.30/8.41 (80) UsableRulesProof (EQUIVALENT) 29.30/8.41 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. 29.30/8.41 ---------------------------------------- 29.30/8.41 29.30/8.41 (81) 29.30/8.41 Obligation: 29.30/8.41 Q DP problem: 29.30/8.41 The TRS P consists of the following rules: 29.30/8.41 29.30/8.41 F371_IN(.(T70, T71)) -> F371_IN(T71) 29.30/8.41 29.30/8.41 R is empty. 29.30/8.41 Q is empty. 29.30/8.41 We have to consider all minimal (P,Q,R)-chains. 29.30/8.41 ---------------------------------------- 29.30/8.41 29.30/8.41 (82) QDPSizeChangeProof (EQUIVALENT) 29.30/8.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. 29.30/8.41 29.30/8.41 From the DPs we obtained the following set of size-change graphs: 29.30/8.41 *F371_IN(.(T70, T71)) -> F371_IN(T71) 29.30/8.41 The graph contains the following edges 1 > 1 29.30/8.41 29.30/8.41 29.30/8.41 ---------------------------------------- 29.30/8.41 29.30/8.41 (83) 29.30/8.41 YES 29.30/8.41 29.30/8.41 ---------------------------------------- 29.30/8.41 29.30/8.41 (84) 29.30/8.41 Obligation: 29.30/8.41 Q DP problem: 29.30/8.41 The TRS P consists of the following rules: 29.30/8.41 29.30/8.41 F2_IN(T17) -> F158_IN(T17) 29.30/8.41 F158_IN(T17) -> U6^1(f365_in(T17), T17) 29.30/8.41 U6^1(f365_out1, T17) -> F2_IN(T17) 29.30/8.41 29.30/8.41 The TRS R consists of the following rules: 29.30/8.41 29.30/8.41 f2_in(T17) -> U1(f158_in(T17), T17) 29.30/8.41 U1(f158_out1, T17) -> f2_out1 29.30/8.41 f2_in(T141) -> f2_out1 29.30/8.41 f371_in(.(T61, T62)) -> f371_out1(T61, T62) 29.30/8.41 f371_in(.(T70, T71)) -> U2(f371_in(T71), .(T70, T71)) 29.30/8.41 U2(f371_out1(T72, X74), .(T70, T71)) -> f371_out1(T72, .(T70, X74)) 29.30/8.41 f372_in(T94) -> U3(f411_in(T94), T94) 29.30/8.41 U3(f411_out1(T95, T96), T94) -> f372_out1(.(T95, T96)) 29.30/8.41 f372_in(T135) -> f372_out1([]) 29.30/8.41 f415_in(.(T114, T115)) -> f415_out1(T114) 29.30/8.41 f415_in(.(T123, T124)) -> U4(f415_in(T124), .(T123, T124)) 29.30/8.41 U4(f415_out1(T125), .(T123, T124)) -> f415_out1(T125) 29.30/8.41 f365_in(T40) -> U5(f369_in(T40), T40) 29.30/8.41 U5(f369_out1(T41, X41, T42), T40) -> f365_out1 29.30/8.41 f158_in(T17) -> U6(f365_in(T17), T17) 29.30/8.41 U6(f365_out1, T17) -> U7(f2_in(T17), T17) 29.30/8.41 U7(f2_out1, T17) -> f158_out1 29.30/8.41 f369_in(T40) -> U8(f371_in(T40), T40) 29.30/8.41 U8(f371_out1(T41, T47), T40) -> U9(f372_in(T47), T40, T41, T47) 29.30/8.41 U9(f372_out1(T48), T40, T41, T47) -> f369_out1(T41, T47, T48) 29.30/8.41 f411_in(T94) -> U10(f415_in(T94), T94) 29.30/8.41 U10(f415_out1(T95), T94) -> U11(f372_in(T94), T94, T95) 29.30/8.41 U11(f372_out1(T101), T94, T95) -> f411_out1(T95, T101) 29.30/8.41 29.30/8.41 Q is empty. 29.30/8.41 We have to consider all minimal (P,Q,R)-chains. 29.30/8.41 ---------------------------------------- 29.30/8.41 29.30/8.41 (85) NonTerminationLoopProof (COMPLETE) 29.30/8.41 We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. 29.30/8.41 Found a loop by narrowing to the left: 29.30/8.41 29.30/8.41 s = F158_IN(.(T61, T62)) evaluates to t =F158_IN(.(T61, T62)) 29.30/8.41 29.30/8.41 Thus s starts an infinite chain as s semiunifies with t with the following substitutions: 29.30/8.41 * Matcher: [ ] 29.30/8.41 * Semiunifier: [ ] 29.30/8.41 29.30/8.41 -------------------------------------------------------------------------------- 29.30/8.41 Rewriting sequence 29.30/8.41 29.30/8.41 F158_IN(.(T61, T62)) -> U6^1(f365_in(.(T61, T62)), .(T61, T62)) 29.30/8.41 with rule F158_IN(T17) -> U6^1(f365_in(T17), T17) at position [] and matcher [T17 / .(T61, T62)] 29.30/8.41 29.30/8.41 U6^1(f365_in(.(T61, T62)), .(T61, T62)) -> U6^1(U5(f369_in(.(T61, T62)), .(T61, T62)), .(T61, T62)) 29.30/8.41 with rule f365_in(T40') -> U5(f369_in(T40'), T40') at position [0] and matcher [T40' / .(T61, T62)] 29.30/8.41 29.30/8.41 U6^1(U5(f369_in(.(T61, T62)), .(T61, T62)), .(T61, T62)) -> U6^1(U5(U8(f371_in(.(T61, T62)), .(T61, T62)), .(T61, T62)), .(T61, T62)) 29.30/8.41 with rule f369_in(T40') -> U8(f371_in(T40'), T40') at position [0,0] and matcher [T40' / .(T61, T62)] 29.30/8.41 29.30/8.41 U6^1(U5(U8(f371_in(.(T61, T62)), .(T61, T62)), .(T61, T62)), .(T61, T62)) -> U6^1(U5(U8(f371_out1(T61, T62), .(T61, T62)), .(T61, T62)), .(T61, T62)) 29.30/8.41 with rule f371_in(.(T61', T62')) -> f371_out1(T61', T62') at position [0,0,0] and matcher [T61' / T61, T62' / T62] 29.30/8.41 29.30/8.41 U6^1(U5(U8(f371_out1(T61, T62), .(T61, T62)), .(T61, T62)), .(T61, T62)) -> U6^1(U5(U9(f372_in(T62), .(T61, T62), T61, T62), .(T61, T62)), .(T61, T62)) 29.30/8.41 with rule U8(f371_out1(T41, T47'), T40'') -> U9(f372_in(T47'), T40'', T41, T47') at position [0,0] and matcher [T41 / T61, T47' / T62, T40'' / .(T61, T62)] 29.30/8.41 29.30/8.41 U6^1(U5(U9(f372_in(T62), .(T61, T62), T61, T62), .(T61, T62)), .(T61, T62)) -> U6^1(U5(U9(f372_out1([]), .(T61, T62), T61, T62), .(T61, T62)), .(T61, T62)) 29.30/8.41 with rule f372_in(T135) -> f372_out1([]) at position [0,0,0] and matcher [T135 / T62] 29.30/8.41 29.30/8.41 U6^1(U5(U9(f372_out1([]), .(T61, T62), T61, T62), .(T61, T62)), .(T61, T62)) -> U6^1(U5(f369_out1(T61, T62, []), .(T61, T62)), .(T61, T62)) 29.30/8.41 with rule U9(f372_out1(T48), T40', T41', T47) -> f369_out1(T41', T47, T48) at position [0,0] and matcher [T48 / [], T40' / .(T61, T62), T41' / T61, T47 / T62] 29.30/8.41 29.30/8.41 U6^1(U5(f369_out1(T61, T62, []), .(T61, T62)), .(T61, T62)) -> U6^1(f365_out1, .(T61, T62)) 29.30/8.41 with rule U5(f369_out1(T41, X41, T42), T40) -> f365_out1 at position [0] and matcher [T41 / T61, X41 / T62, T42 / [], T40 / .(T61, T62)] 29.30/8.41 29.30/8.41 U6^1(f365_out1, .(T61, T62)) -> F2_IN(.(T61, T62)) 29.30/8.41 with rule U6^1(f365_out1, T17') -> F2_IN(T17') at position [] and matcher [T17' / .(T61, T62)] 29.30/8.41 29.30/8.41 F2_IN(.(T61, T62)) -> F158_IN(.(T61, T62)) 29.30/8.41 with rule F2_IN(T17) -> F158_IN(T17) 29.30/8.41 29.30/8.41 Now applying the matcher to the start term leads to a term which is equal to the last term in the rewriting sequence 29.30/8.41 29.30/8.41 29.30/8.41 All these steps are and every following step will be a correct step w.r.t to Q. 29.30/8.41 29.30/8.41 29.30/8.41 29.30/8.41 29.30/8.41 ---------------------------------------- 29.30/8.41 29.30/8.41 (86) 29.30/8.41 NO 29.30/8.41 29.30/8.41 ---------------------------------------- 29.30/8.41 29.30/8.41 (87) PrologToDTProblemTransformerProof (SOUND) 29.30/8.41 Built DT problem from termination graph DT10. 29.30/8.41 29.30/8.41 { 29.30/8.41 "root": 1, 29.30/8.41 "program": { 29.30/8.41 "directives": [], 29.30/8.41 "clauses": [ 29.30/8.41 [ 29.30/8.41 "(color_map (. Region Regions) Colors)", 29.30/8.41 "(',' (color_region Region Colors) (color_map Regions Colors))" 29.30/8.41 ], 29.30/8.41 [ 29.30/8.41 "(color_map ([]) Colors)", 29.30/8.41 null 29.30/8.41 ], 29.30/8.41 [ 29.30/8.41 "(color_region (region Name Color Neighbors) Colors)", 29.30/8.41 "(',' (select Color Colors Colors1) (members Neighbors Colors1))" 29.30/8.41 ], 29.30/8.41 [ 29.30/8.41 "(select X (. X Xs) Xs)", 29.30/8.41 null 29.30/8.41 ], 29.30/8.41 [ 29.30/8.41 "(select X (. Y Ys) (. Y Zs))", 29.30/8.41 "(select X Ys Zs)" 29.30/8.41 ], 29.30/8.41 [ 29.30/8.41 "(members (. X Xs) Ys)", 29.30/8.41 "(',' (member X Ys) (members Xs Ys))" 29.30/8.41 ], 29.30/8.41 [ 29.30/8.41 "(members ([]) Ys)", 29.30/8.41 null 29.30/8.41 ], 29.30/8.41 [ 29.30/8.41 "(member X (. X X1))", 29.30/8.41 null 29.30/8.41 ], 29.30/8.41 [ 29.30/8.41 "(member X (. X2 Xs))", 29.30/8.41 "(member X Xs)" 29.30/8.41 ] 29.30/8.41 ] 29.30/8.41 }, 29.30/8.41 "graph": { 29.30/8.41 "nodes": { 29.30/8.41 "391": { 29.30/8.41 "goal": [{ 29.30/8.41 "clause": -1, 29.30/8.41 "scope": -1, 29.30/8.41 "term": "(',' (',' (select T31 T30 X31) (members T32 X31)) (color_map T33 T30))" 29.30/8.41 }], 29.30/8.41 "kb": { 29.30/8.41 "nonunifying": [], 29.30/8.41 "intvars": {}, 29.30/8.41 "arithmetic": { 29.30/8.41 "type": "PlainIntegerRelationState", 29.30/8.41 "relations": [] 29.30/8.41 }, 29.30/8.41 "ground": ["T30"], 29.30/8.41 "free": ["X31"], 29.30/8.41 "exprvars": [] 29.30/8.41 } 29.30/8.41 }, 29.30/8.41 "type": "Nodes", 29.30/8.41 "392": { 29.30/8.41 "goal": [], 29.30/8.41 "kb": { 29.30/8.41 "nonunifying": [], 29.30/8.41 "intvars": {}, 29.30/8.41 "arithmetic": { 29.30/8.41 "type": "PlainIntegerRelationState", 29.30/8.41 "relations": [] 29.30/8.41 }, 29.30/8.41 "ground": [], 29.30/8.41 "free": [], 29.30/8.41 "exprvars": [] 29.30/8.41 } 29.30/8.41 }, 29.30/8.41 "491": { 29.30/8.41 "goal": [{ 29.30/8.41 "clause": -1, 29.30/8.41 "scope": -1, 29.30/8.41 "term": "(member T121 T120)" 29.30/8.41 }], 29.30/8.41 "kb": { 29.30/8.41 "nonunifying": [], 29.30/8.41 "intvars": {}, 29.30/8.41 "arithmetic": { 29.30/8.41 "type": "PlainIntegerRelationState", 29.30/8.41 "relations": [] 29.30/8.41 }, 29.30/8.41 "ground": ["T120"], 29.30/8.41 "free": [], 29.30/8.41 "exprvars": [] 29.30/8.41 } 29.30/8.41 }, 29.30/8.41 "492": { 29.30/8.41 "goal": [], 29.30/8.41 "kb": { 29.30/8.41 "nonunifying": [], 29.30/8.41 "intvars": {}, 29.30/8.41 "arithmetic": { 29.30/8.41 "type": "PlainIntegerRelationState", 29.30/8.41 "relations": [] 29.30/8.41 }, 29.30/8.41 "ground": [], 29.30/8.41 "free": [], 29.30/8.41 "exprvars": [] 29.30/8.41 } 29.30/8.41 }, 29.30/8.41 "395": { 29.30/8.41 "goal": [{ 29.30/8.41 "clause": -1, 29.30/8.41 "scope": -1, 29.30/8.41 "term": "(select T31 T30 X31)" 29.30/8.41 }], 29.30/8.41 "kb": { 29.30/8.41 "nonunifying": [], 29.30/8.41 "intvars": {}, 29.30/8.41 "arithmetic": { 29.30/8.41 "type": "PlainIntegerRelationState", 29.30/8.41 "relations": [] 29.30/8.41 }, 29.30/8.41 "ground": ["T30"], 29.30/8.41 "free": ["X31"], 29.30/8.41 "exprvars": [] 29.30/8.41 } 29.30/8.41 }, 29.30/8.41 "396": { 29.30/8.41 "goal": [{ 29.30/8.41 "clause": -1, 29.30/8.41 "scope": -1, 29.30/8.41 "term": "(',' (members T39 T38) (color_map T40 T30))" 29.30/8.41 }], 29.30/8.41 "kb": { 29.30/8.41 "nonunifying": [], 29.30/8.41 "intvars": {}, 29.30/8.41 "arithmetic": { 29.30/8.41 "type": "PlainIntegerRelationState", 29.30/8.41 "relations": [] 29.30/8.41 }, 29.30/8.41 "ground": [ 29.30/8.41 "T30", 29.30/8.41 "T38" 29.30/8.41 ], 29.30/8.41 "free": [], 29.30/8.41 "exprvars": [] 29.30/8.41 } 29.30/8.41 }, 29.30/8.41 "397": { 29.30/8.41 "goal": [ 29.30/8.41 { 29.30/8.41 "clause": 3, 29.30/8.41 "scope": 3, 29.30/8.41 "term": "(select T31 T30 X31)" 29.30/8.41 }, 29.30/8.41 { 29.30/8.41 "clause": 4, 29.30/8.41 "scope": 3, 29.30/8.41 "term": "(select T31 T30 X31)" 29.30/8.41 } 29.30/8.41 ], 29.30/8.41 "kb": { 29.30/8.41 "nonunifying": [], 29.30/8.41 "intvars": {}, 29.30/8.41 "arithmetic": { 29.30/8.41 "type": "PlainIntegerRelationState", 29.30/8.41 "relations": [] 29.30/8.41 }, 29.30/8.41 "ground": ["T30"], 29.30/8.41 "free": ["X31"], 29.30/8.41 "exprvars": [] 29.30/8.41 } 29.30/8.41 }, 29.30/8.41 "496": { 29.30/8.41 "goal": [{ 29.30/8.41 "clause": -1, 29.30/8.41 "scope": -1, 29.30/8.41 "term": "(true)" 29.30/8.41 }], 29.30/8.41 "kb": { 29.30/8.41 "nonunifying": [], 29.30/8.41 "intvars": {}, 29.30/8.41 "arithmetic": { 29.30/8.41 "type": "PlainIntegerRelationState", 29.30/8.41 "relations": [] 29.30/8.41 }, 29.30/8.41 "ground": [], 29.30/8.41 "free": [], 29.30/8.41 "exprvars": [] 29.30/8.41 } 29.30/8.41 }, 29.30/8.41 "398": { 29.30/8.41 "goal": [{ 29.30/8.41 "clause": 3, 29.30/8.41 "scope": 3, 29.30/8.41 "term": "(select T31 T30 X31)" 29.30/8.41 }], 29.30/8.41 "kb": { 29.30/8.41 "nonunifying": [], 29.30/8.41 "intvars": {}, 29.30/8.41 "arithmetic": { 29.30/8.41 "type": "PlainIntegerRelationState", 29.30/8.41 "relations": [] 29.30/8.41 }, 29.30/8.41 "ground": ["T30"], 29.30/8.41 "free": ["X31"], 29.30/8.41 "exprvars": [] 29.30/8.41 } 29.30/8.41 }, 29.30/8.41 "497": { 29.30/8.41 "goal": [], 29.30/8.41 "kb": { 29.30/8.41 "nonunifying": [], 29.30/8.41 "intvars": {}, 29.30/8.41 "arithmetic": { 29.30/8.41 "type": "PlainIntegerRelationState", 29.30/8.41 "relations": [] 29.30/8.41 }, 29.30/8.41 "ground": [], 29.30/8.41 "free": [], 29.30/8.41 "exprvars": [] 29.30/8.41 } 29.30/8.41 }, 29.30/8.41 "399": { 29.30/8.41 "goal": [{ 29.30/8.41 "clause": 4, 29.30/8.41 "scope": 3, 29.30/8.41 "term": "(select T31 T30 X31)" 29.30/8.41 }], 29.30/8.41 "kb": { 29.30/8.41 "nonunifying": [], 29.30/8.41 "intvars": {}, 29.30/8.41 "arithmetic": { 29.30/8.41 "type": "PlainIntegerRelationState", 29.30/8.41 "relations": [] 29.30/8.41 }, 29.30/8.41 "ground": ["T30"], 29.30/8.41 "free": ["X31"], 29.30/8.41 "exprvars": [] 29.30/8.41 } 29.30/8.41 }, 29.30/8.41 "410": { 29.30/8.41 "goal": [ 29.30/8.41 { 29.30/8.41 "clause": 5, 29.30/8.41 "scope": 4, 29.30/8.41 "term": "(members T39 T38)" 29.30/8.41 }, 29.30/8.41 { 29.30/8.41 "clause": 6, 29.30/8.41 "scope": 4, 29.30/8.41 "term": "(members T39 T38)" 29.30/8.41 } 29.30/8.41 ], 29.30/8.41 "kb": { 29.30/8.41 "nonunifying": [], 29.30/8.41 "intvars": {}, 29.30/8.41 "arithmetic": { 29.30/8.41 "type": "PlainIntegerRelationState", 29.30/8.41 "relations": [] 29.30/8.41 }, 29.30/8.41 "ground": ["T38"], 29.30/8.41 "free": [], 29.30/8.41 "exprvars": [] 29.30/8.41 } 29.30/8.41 }, 29.30/8.41 "498": { 29.30/8.41 "goal": [], 29.30/8.41 "kb": { 29.30/8.41 "nonunifying": [], 29.30/8.41 "intvars": {}, 29.30/8.41 "arithmetic": { 29.30/8.41 "type": "PlainIntegerRelationState", 29.30/8.41 "relations": [] 29.30/8.41 }, 29.30/8.41 "ground": [], 29.30/8.41 "free": [], 29.30/8.41 "exprvars": [] 29.30/8.41 } 29.30/8.41 }, 29.30/8.41 "499": { 29.30/8.41 "goal": [{ 29.30/8.41 "clause": 1, 29.30/8.41 "scope": 1, 29.30/8.41 "term": "(color_map T1 T8)" 29.30/8.41 }], 29.30/8.41 "kb": { 29.30/8.41 "nonunifying": [], 29.30/8.41 "intvars": {}, 29.30/8.41 "arithmetic": { 29.30/8.41 "type": "PlainIntegerRelationState", 29.30/8.41 "relations": [] 29.30/8.41 }, 29.30/8.41 "ground": ["T8"], 29.30/8.41 "free": [], 29.30/8.41 "exprvars": [] 29.30/8.41 } 29.30/8.41 }, 29.30/8.41 "413": { 29.30/8.41 "goal": [{ 29.30/8.41 "clause": 5, 29.30/8.41 "scope": 4, 29.30/8.41 "term": "(members T39 T38)" 29.30/8.41 }], 29.30/8.41 "kb": { 29.30/8.41 "nonunifying": [], 29.30/8.41 "intvars": {}, 29.30/8.41 "arithmetic": { 29.30/8.41 "type": "PlainIntegerRelationState", 29.30/8.41 "relations": [] 29.30/8.41 }, 29.30/8.41 "ground": ["T38"], 29.30/8.41 "free": [], 29.30/8.41 "exprvars": [] 29.30/8.41 } 29.30/8.41 }, 29.30/8.41 "414": { 29.30/8.41 "goal": [{ 29.30/8.41 "clause": 6, 29.30/8.41 "scope": 4, 29.30/8.41 "term": "(members T39 T38)" 29.30/8.41 }], 29.30/8.41 "kb": { 29.30/8.41 "nonunifying": [], 29.30/8.41 "intvars": {}, 29.30/8.41 "arithmetic": { 29.30/8.41 "type": "PlainIntegerRelationState", 29.30/8.41 "relations": [] 29.30/8.41 }, 29.30/8.41 "ground": ["T38"], 29.30/8.41 "free": [], 29.30/8.41 "exprvars": [] 29.30/8.41 } 29.30/8.41 }, 29.30/8.41 "417": { 29.30/8.41 "goal": [{ 29.30/8.41 "clause": -1, 29.30/8.41 "scope": -1, 29.30/8.41 "term": "(',' (member T91 T90) (members T92 T90))" 29.30/8.41 }], 29.30/8.41 "kb": { 29.30/8.41 "nonunifying": [], 29.30/8.41 "intvars": {}, 29.30/8.41 "arithmetic": { 29.30/8.41 "type": "PlainIntegerRelationState", 29.30/8.41 "relations": [] 29.30/8.41 }, 29.30/8.41 "ground": ["T90"], 29.30/8.41 "free": [], 29.30/8.41 "exprvars": [] 29.30/8.41 } 29.30/8.41 }, 29.30/8.41 "418": { 29.30/8.41 "goal": [], 29.30/8.41 "kb": { 29.30/8.41 "nonunifying": [], 29.30/8.41 "intvars": {}, 29.30/8.41 "arithmetic": { 29.30/8.41 "type": "PlainIntegerRelationState", 29.30/8.41 "relations": [] 29.30/8.41 }, 29.30/8.41 "ground": [], 29.30/8.41 "free": [], 29.30/8.41 "exprvars": [] 29.30/8.41 } 29.30/8.41 }, 29.30/8.41 "381": { 29.30/8.41 "goal": [ 29.30/8.41 { 29.30/8.41 "clause": -1, 29.30/8.41 "scope": -1, 29.30/8.41 "term": "(',' (color_region T9 T8) (color_map T10 T8))" 29.30/8.41 }, 29.30/8.41 { 29.30/8.41 "clause": 1, 29.30/8.41 "scope": 1, 29.30/8.41 "term": "(color_map T1 T8)" 29.30/8.41 } 29.30/8.41 ], 29.30/8.41 "kb": { 29.30/8.41 "nonunifying": [], 29.30/8.41 "intvars": {}, 29.30/8.41 "arithmetic": { 29.30/8.41 "type": "PlainIntegerRelationState", 29.30/8.41 "relations": [] 29.30/8.41 }, 29.30/8.41 "ground": ["T8"], 29.30/8.41 "free": [], 29.30/8.41 "exprvars": [] 29.30/8.41 } 29.30/8.41 }, 29.30/8.41 "382": { 29.30/8.41 "goal": [{ 29.30/8.41 "clause": 1, 29.30/8.41 "scope": 1, 29.30/8.41 "term": "(color_map T1 T2)" 29.30/8.41 }], 29.30/8.41 "kb": { 29.30/8.41 "nonunifying": [[ 29.30/8.41 "(color_map T1 T2)", 29.30/8.41 "(color_map (. X6 X7) X8)" 29.30/8.41 ]], 29.30/8.41 "intvars": {}, 29.30/8.41 "arithmetic": { 29.30/8.41 "type": "PlainIntegerRelationState", 29.30/8.41 "relations": [] 29.30/8.41 }, 29.30/8.41 "ground": ["T2"], 29.30/8.41 "free": [ 29.30/8.41 "X6", 29.30/8.41 "X7", 29.30/8.41 "X8" 29.30/8.41 ], 29.30/8.41 "exprvars": [] 29.30/8.41 } 29.30/8.41 }, 29.30/8.41 "383": { 29.30/8.41 "goal": [ 29.30/8.41 { 29.30/8.41 "clause": 2, 29.30/8.41 "scope": 2, 29.30/8.41 "term": "(',' (color_region T9 T8) (color_map T10 T8))" 29.30/8.41 }, 29.30/8.41 { 29.30/8.41 "clause": -1, 29.30/8.41 "scope": 2, 29.30/8.41 "term": null 29.30/8.41 }, 29.30/8.41 { 29.30/8.41 "clause": 1, 29.30/8.41 "scope": 1, 29.30/8.41 "term": "(color_map T1 T8)" 29.30/8.41 } 29.30/8.41 ], 29.30/8.41 "kb": { 29.30/8.41 "nonunifying": [], 29.30/8.41 "intvars": {}, 29.30/8.41 "arithmetic": { 29.30/8.41 "type": "PlainIntegerRelationState", 29.30/8.41 "relations": [] 29.30/8.41 }, 29.30/8.41 "ground": ["T8"], 29.30/8.41 "free": [], 29.30/8.41 "exprvars": [] 29.30/8.41 } 29.30/8.41 }, 29.30/8.41 "482": { 29.30/8.41 "goal": [ 29.30/8.41 { 29.30/8.41 "clause": 7, 29.30/8.41 "scope": 5, 29.30/8.41 "term": "(member T91 T90)" 29.30/8.41 }, 29.30/8.41 { 29.30/8.41 "clause": 8, 29.30/8.41 "scope": 5, 29.30/8.41 "term": "(member T91 T90)" 29.30/8.41 } 29.30/8.41 ], 29.30/8.41 "kb": { 29.30/8.41 "nonunifying": [], 29.30/8.41 "intvars": {}, 29.30/8.41 "arithmetic": { 29.30/8.41 "type": "PlainIntegerRelationState", 29.30/8.41 "relations": [] 29.30/8.41 }, 29.30/8.41 "ground": ["T90"], 29.30/8.41 "free": [], 29.30/8.41 "exprvars": [] 29.30/8.41 } 29.30/8.41 }, 29.30/8.41 "384": { 29.30/8.41 "goal": [{ 29.30/8.41 "clause": 2, 29.30/8.41 "scope": 2, 29.30/8.41 "term": "(',' (color_region T9 T8) (color_map T10 T8))" 29.30/8.41 }], 29.30/8.41 "kb": { 29.30/8.41 "nonunifying": [], 29.30/8.41 "intvars": {}, 29.30/8.41 "arithmetic": { 29.30/8.41 "type": "PlainIntegerRelationState", 29.30/8.41 "relations": [] 29.30/8.41 }, 29.30/8.41 "ground": ["T8"], 29.30/8.41 "free": [], 29.30/8.41 "exprvars": [] 29.30/8.41 } 29.30/8.41 }, 29.30/8.41 "483": { 29.30/8.41 "goal": [{ 29.30/8.41 "clause": 7, 29.30/8.41 "scope": 5, 29.30/8.41 "term": "(member T91 T90)" 29.30/8.41 }], 29.30/8.41 "kb": { 29.30/8.41 "nonunifying": [], 29.30/8.41 "intvars": {}, 29.30/8.41 "arithmetic": { 29.30/8.41 "type": "PlainIntegerRelationState", 29.30/8.41 "relations": [] 29.30/8.41 }, 29.30/8.41 "ground": ["T90"], 29.30/8.41 "free": [], 29.30/8.41 "exprvars": [] 29.30/8.41 } 29.30/8.41 }, 29.30/8.41 "385": { 29.30/8.41 "goal": [ 29.30/8.41 { 29.30/8.41 "clause": -1, 29.30/8.41 "scope": 2, 29.30/8.41 "term": null 29.30/8.41 }, 29.30/8.41 { 29.30/8.41 "clause": 1, 29.30/8.41 "scope": 1, 29.30/8.41 "term": "(color_map T1 T8)" 29.30/8.41 } 29.30/8.41 ], 29.30/8.41 "kb": { 29.30/8.41 "nonunifying": [], 29.30/8.41 "intvars": {}, 29.30/8.41 "arithmetic": { 29.30/8.41 "type": "PlainIntegerRelationState", 29.30/8.41 "relations": [] 29.30/8.41 }, 29.30/8.41 "ground": ["T8"], 29.30/8.41 "free": [], 29.30/8.41 "exprvars": [] 29.30/8.41 } 29.30/8.41 }, 29.30/8.41 "484": { 29.30/8.41 "goal": [{ 29.30/8.41 "clause": 8, 29.30/8.41 "scope": 5, 29.30/8.41 "term": "(member T91 T90)" 29.30/8.41 }], 29.30/8.41 "kb": { 29.30/8.41 "nonunifying": [], 29.30/8.41 "intvars": {}, 29.30/8.41 "arithmetic": { 29.30/8.41 "type": "PlainIntegerRelationState", 29.30/8.41 "relations": [] 29.30/8.41 }, 29.30/8.41 "ground": ["T90"], 29.30/8.41 "free": [], 29.30/8.41 "exprvars": [] 29.30/8.41 } 29.30/8.41 }, 29.30/8.41 "1": { 29.30/8.41 "goal": [{ 29.30/8.41 "clause": -1, 29.30/8.41 "scope": -1, 29.30/8.41 "term": "(color_map T1 T2)" 29.30/8.41 }], 29.30/8.41 "kb": { 29.30/8.41 "nonunifying": [], 29.30/8.41 "intvars": {}, 29.30/8.41 "arithmetic": { 29.30/8.41 "type": "PlainIntegerRelationState", 29.30/8.41 "relations": [] 29.30/8.41 }, 29.30/8.41 "ground": ["T2"], 29.30/8.41 "free": [], 29.30/8.41 "exprvars": [] 29.30/8.41 } 29.30/8.41 }, 29.30/8.41 "485": { 29.30/8.41 "goal": [{ 29.30/8.41 "clause": -1, 29.30/8.41 "scope": -1, 29.30/8.41 "term": "(true)" 29.30/8.41 }], 29.30/8.41 "kb": { 29.30/8.41 "nonunifying": [], 29.30/8.41 "intvars": {}, 29.30/8.41 "arithmetic": { 29.30/8.41 "type": "PlainIntegerRelationState", 29.30/8.41 "relations": [] 29.30/8.41 }, 29.30/8.41 "ground": [], 29.30/8.41 "free": [], 29.30/8.41 "exprvars": [] 29.30/8.41 } 29.30/8.41 }, 29.30/8.41 "486": { 29.30/8.41 "goal": [], 29.30/8.41 "kb": { 29.30/8.41 "nonunifying": [], 29.30/8.41 "intvars": {}, 29.30/8.41 "arithmetic": { 29.30/8.41 "type": "PlainIntegerRelationState", 29.30/8.41 "relations": [] 29.30/8.41 }, 29.30/8.41 "ground": [], 29.30/8.41 "free": [], 29.30/8.41 "exprvars": [] 29.30/8.41 } 29.30/8.41 }, 29.30/8.41 "400": { 29.30/8.41 "goal": [{ 29.30/8.41 "clause": -1, 29.30/8.41 "scope": -1, 29.30/8.41 "term": "(true)" 29.30/8.41 }], 29.30/8.41 "kb": { 29.30/8.41 "nonunifying": [], 29.30/8.41 "intvars": {}, 29.30/8.41 "arithmetic": { 29.30/8.41 "type": "PlainIntegerRelationState", 29.30/8.41 "relations": [] 29.30/8.41 }, 29.30/8.41 "ground": [], 29.30/8.41 "free": [], 29.30/8.41 "exprvars": [] 29.30/8.41 } 29.30/8.41 }, 29.30/8.41 "422": { 29.30/8.41 "goal": [{ 29.30/8.41 "clause": -1, 29.30/8.41 "scope": -1, 29.30/8.41 "term": "(member T91 T90)" 29.30/8.41 }], 29.30/8.41 "kb": { 29.30/8.41 "nonunifying": [], 29.30/8.41 "intvars": {}, 29.30/8.41 "arithmetic": { 29.30/8.41 "type": "PlainIntegerRelationState", 29.30/8.41 "relations": [] 29.30/8.41 }, 29.30/8.41 "ground": ["T90"], 29.30/8.41 "free": [], 29.30/8.41 "exprvars": [] 29.30/8.41 } 29.30/8.41 }, 29.30/8.41 "488": { 29.30/8.41 "goal": [], 29.30/8.41 "kb": { 29.30/8.41 "nonunifying": [], 29.30/8.41 "intvars": {}, 29.30/8.41 "arithmetic": { 29.30/8.41 "type": "PlainIntegerRelationState", 29.30/8.41 "relations": [] 29.30/8.41 }, 29.30/8.41 "ground": [], 29.30/8.41 "free": [], 29.30/8.41 "exprvars": [] 29.30/8.41 } 29.30/8.41 }, 29.30/8.41 "368": { 29.30/8.41 "goal": [ 29.30/8.41 { 29.30/8.41 "clause": 0, 29.30/8.41 "scope": 1, 29.30/8.41 "term": "(color_map T1 T2)" 29.30/8.41 }, 29.30/8.41 { 29.30/8.41 "clause": 1, 29.30/8.41 "scope": 1, 29.30/8.41 "term": "(color_map T1 T2)" 29.30/8.41 } 29.30/8.41 ], 29.30/8.41 "kb": { 29.30/8.41 "nonunifying": [], 29.30/8.41 "intvars": {}, 29.30/8.41 "arithmetic": { 29.30/8.41 "type": "PlainIntegerRelationState", 29.30/8.41 "relations": [] 29.30/8.41 }, 29.30/8.41 "ground": ["T2"], 29.30/8.41 "free": [], 29.30/8.41 "exprvars": [] 29.30/8.41 } 29.30/8.41 }, 29.30/8.41 "401": { 29.30/8.41 "goal": [], 29.30/8.41 "kb": { 29.30/8.41 "nonunifying": [], 29.30/8.41 "intvars": {}, 29.30/8.41 "arithmetic": { 29.30/8.41 "type": "PlainIntegerRelationState", 29.30/8.41 "relations": [] 29.30/8.41 }, 29.30/8.41 "ground": [], 29.30/8.41 "free": [], 29.30/8.41 "exprvars": [] 29.30/8.41 } 29.30/8.41 }, 29.30/8.41 "423": { 29.30/8.41 "goal": [{ 29.30/8.41 "clause": -1, 29.30/8.41 "scope": -1, 29.30/8.41 "term": "(members T97 T90)" 29.30/8.41 }], 29.30/8.41 "kb": { 29.30/8.41 "nonunifying": [], 29.30/8.41 "intvars": {}, 29.30/8.41 "arithmetic": { 29.30/8.41 "type": "PlainIntegerRelationState", 29.30/8.41 "relations": [] 29.30/8.41 }, 29.30/8.41 "ground": ["T90"], 29.30/8.41 "free": [], 29.30/8.41 "exprvars": [] 29.30/8.41 } 29.30/8.41 }, 29.30/8.41 "500": { 29.30/8.41 "goal": [{ 29.30/8.41 "clause": -1, 29.30/8.41 "scope": -1, 29.30/8.41 "term": "(true)" 29.30/8.41 }], 29.30/8.41 "kb": { 29.30/8.41 "nonunifying": [], 29.30/8.41 "intvars": {}, 29.30/8.41 "arithmetic": { 29.30/8.41 "type": "PlainIntegerRelationState", 29.30/8.41 "relations": [] 29.30/8.41 }, 29.30/8.41 "ground": [], 29.30/8.41 "free": [], 29.30/8.41 "exprvars": [] 29.30/8.41 } 29.30/8.41 }, 29.30/8.41 "402": { 29.30/8.41 "goal": [], 29.30/8.41 "kb": { 29.30/8.41 "nonunifying": [], 29.30/8.41 "intvars": {}, 29.30/8.41 "arithmetic": { 29.30/8.41 "type": "PlainIntegerRelationState", 29.30/8.41 "relations": [] 29.30/8.41 }, 29.30/8.41 "ground": [], 29.30/8.41 "free": [], 29.30/8.41 "exprvars": [] 29.30/8.41 } 29.30/8.41 }, 29.30/8.41 "501": { 29.30/8.41 "goal": [], 29.30/8.41 "kb": { 29.30/8.41 "nonunifying": [], 29.30/8.41 "intvars": {}, 29.30/8.41 "arithmetic": { 29.30/8.41 "type": "PlainIntegerRelationState", 29.30/8.41 "relations": [] 29.30/8.41 }, 29.30/8.41 "ground": [], 29.30/8.41 "free": [], 29.30/8.41 "exprvars": [] 29.30/8.41 } 29.30/8.41 }, 29.30/8.41 "403": { 29.30/8.41 "goal": [{ 29.30/8.41 "clause": -1, 29.30/8.41 "scope": -1, 29.30/8.41 "term": "(select T64 T63 X64)" 29.30/8.41 }], 29.30/8.41 "kb": { 29.30/8.41 "nonunifying": [], 29.30/8.41 "intvars": {}, 29.30/8.41 "arithmetic": { 29.30/8.41 "type": "PlainIntegerRelationState", 29.30/8.41 "relations": [] 29.30/8.41 }, 29.30/8.41 "ground": ["T63"], 29.30/8.41 "free": ["X64"], 29.30/8.41 "exprvars": [] 29.30/8.41 } 29.30/8.41 }, 29.30/8.41 "502": { 29.30/8.41 "goal": [], 29.30/8.41 "kb": { 29.30/8.41 "nonunifying": [], 29.30/8.41 "intvars": {}, 29.30/8.41 "arithmetic": { 29.30/8.41 "type": "PlainIntegerRelationState", 29.30/8.41 "relations": [] 29.30/8.41 }, 29.30/8.41 "ground": [], 29.30/8.41 "free": [], 29.30/8.41 "exprvars": [] 29.30/8.41 } 29.30/8.41 }, 29.30/8.41 "404": { 29.30/8.41 "goal": [], 29.30/8.41 "kb": { 29.30/8.41 "nonunifying": [], 29.30/8.41 "intvars": {}, 29.30/8.41 "arithmetic": { 29.30/8.41 "type": "PlainIntegerRelationState", 29.30/8.41 "relations": [] 29.30/8.41 }, 29.30/8.41 "ground": [], 29.30/8.41 "free": [], 29.30/8.41 "exprvars": [] 29.30/8.41 } 29.30/8.41 }, 29.30/8.41 "503": { 29.30/8.41 "goal": [{ 29.30/8.41 "clause": -1, 29.30/8.41 "scope": -1, 29.30/8.41 "term": "(true)" 29.30/8.41 }], 29.30/8.41 "kb": { 29.30/8.41 "nonunifying": [], 29.30/8.41 "intvars": {}, 29.30/8.41 "arithmetic": { 29.30/8.41 "type": "PlainIntegerRelationState", 29.30/8.41 "relations": [] 29.30/8.41 }, 29.30/8.41 "ground": [], 29.30/8.41 "free": [], 29.30/8.41 "exprvars": [] 29.30/8.41 } 29.30/8.41 }, 29.30/8.41 "504": { 29.30/8.41 "goal": [], 29.30/8.41 "kb": { 29.30/8.41 "nonunifying": [], 29.30/8.41 "intvars": {}, 29.30/8.41 "arithmetic": { 29.30/8.41 "type": "PlainIntegerRelationState", 29.30/8.41 "relations": [] 29.30/8.41 }, 29.30/8.41 "ground": [], 29.30/8.41 "free": [], 29.30/8.41 "exprvars": [] 29.30/8.41 } 29.30/8.41 }, 29.30/8.41 "505": { 29.30/8.41 "goal": [], 29.30/8.41 "kb": { 29.30/8.41 "nonunifying": [], 29.30/8.41 "intvars": {}, 29.30/8.41 "arithmetic": { 29.30/8.41 "type": "PlainIntegerRelationState", 29.30/8.41 "relations": [] 29.30/8.41 }, 29.30/8.41 "ground": [], 29.30/8.41 "free": [], 29.30/8.41 "exprvars": [] 29.30/8.41 } 29.30/8.41 }, 29.30/8.41 "408": { 29.30/8.41 "goal": [{ 29.30/8.41 "clause": -1, 29.30/8.41 "scope": -1, 29.30/8.41 "term": "(members T39 T38)" 29.30/8.41 }], 29.30/8.41 "kb": { 29.30/8.41 "nonunifying": [], 29.30/8.41 "intvars": {}, 29.30/8.41 "arithmetic": { 29.30/8.41 "type": "PlainIntegerRelationState", 29.30/8.41 "relations": [] 29.30/8.41 }, 29.30/8.41 "ground": ["T38"], 29.30/8.41 "free": [], 29.30/8.41 "exprvars": [] 29.30/8.41 } 29.30/8.41 }, 29.30/8.41 "409": { 29.30/8.41 "goal": [{ 29.30/8.41 "clause": -1, 29.30/8.41 "scope": -1, 29.30/8.42 "term": "(color_map T72 T30)" 29.30/8.42 }], 29.30/8.42 "kb": { 29.30/8.42 "nonunifying": [], 29.30/8.42 "intvars": {}, 29.30/8.42 "arithmetic": { 29.30/8.42 "type": "PlainIntegerRelationState", 29.30/8.42 "relations": [] 29.30/8.42 }, 29.30/8.42 "ground": ["T30"], 29.30/8.42 "free": [], 29.30/8.42 "exprvars": [] 29.30/8.42 } 29.30/8.42 } 29.30/8.42 }, 29.30/8.42 "edges": [ 29.30/8.42 { 29.30/8.42 "from": 1, 29.30/8.42 "to": 368, 29.30/8.42 "label": "CASE" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 368, 29.30/8.42 "to": 381, 29.30/8.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" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 368, 29.30/8.42 "to": 382, 29.30/8.42 "label": "EVAL-BACKTRACK" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 381, 29.30/8.42 "to": 383, 29.30/8.42 "label": "CASE" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 382, 29.30/8.42 "to": 503, 29.30/8.42 "label": "EVAL with clause\ncolor_map([], X134).\nand substitutionT1 -> [],\nT2 -> T139,\nX134 -> T139" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 382, 29.30/8.42 "to": 504, 29.30/8.42 "label": "EVAL-BACKTRACK" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 383, 29.30/8.42 "to": 384, 29.30/8.42 "label": "PARALLEL" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 383, 29.30/8.42 "to": 385, 29.30/8.42 "label": "PARALLEL" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 384, 29.30/8.42 "to": 391, 29.30/8.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" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 384, 29.30/8.42 "to": 392, 29.30/8.42 "label": "EVAL-BACKTRACK" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 385, 29.30/8.42 "to": 499, 29.30/8.42 "label": "FAILURE" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 391, 29.30/8.42 "to": 395, 29.30/8.42 "label": "SPLIT 1" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 391, 29.30/8.42 "to": 396, 29.30/8.42 "label": "SPLIT 2\nnew knowledge:\nT31 is ground\nT30 is ground\nT38 is ground\nreplacements:X31 -> T38,\nT32 -> T39,\nT33 -> T40" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 395, 29.30/8.42 "to": 397, 29.30/8.42 "label": "CASE" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 396, 29.30/8.42 "to": 408, 29.30/8.42 "label": "SPLIT 1" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 396, 29.30/8.42 "to": 409, 29.30/8.42 "label": "SPLIT 2\nnew knowledge:\nT39 is ground\nT38 is ground\nreplacements:T40 -> T72" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 397, 29.30/8.42 "to": 398, 29.30/8.42 "label": "PARALLEL" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 397, 29.30/8.42 "to": 399, 29.30/8.42 "label": "PARALLEL" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 398, 29.30/8.42 "to": 400, 29.30/8.42 "label": "EVAL with clause\nselect(X48, .(X48, X49), X49).\nand substitutionT31 -> T53,\nX48 -> T53,\nX49 -> T54,\nT30 -> .(T53, T54),\nX31 -> T54" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 398, 29.30/8.42 "to": 401, 29.30/8.42 "label": "EVAL-BACKTRACK" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 399, 29.30/8.42 "to": 403, 29.30/8.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" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 399, 29.30/8.42 "to": 404, 29.30/8.42 "label": "EVAL-BACKTRACK" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 400, 29.30/8.42 "to": 402, 29.30/8.42 "label": "SUCCESS" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 403, 29.30/8.42 "to": 395, 29.30/8.42 "label": "INSTANCE with matching:\nT31 -> T64\nT30 -> T63\nX31 -> X64" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 408, 29.30/8.42 "to": 410, 29.30/8.42 "label": "CASE" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 409, 29.30/8.42 "to": 1, 29.30/8.42 "label": "INSTANCE with matching:\nT1 -> T72\nT2 -> T30" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 410, 29.30/8.42 "to": 413, 29.30/8.42 "label": "PARALLEL" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 410, 29.30/8.42 "to": 414, 29.30/8.42 "label": "PARALLEL" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 413, 29.30/8.42 "to": 417, 29.30/8.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" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 413, 29.30/8.42 "to": 418, 29.30/8.42 "label": "EVAL-BACKTRACK" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 414, 29.30/8.42 "to": 496, 29.30/8.42 "label": "EVAL with clause\nmembers([], X126).\nand substitutionT39 -> [],\nT38 -> T131,\nX126 -> T131" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 414, 29.30/8.42 "to": 497, 29.30/8.42 "label": "EVAL-BACKTRACK" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 417, 29.30/8.42 "to": 422, 29.30/8.42 "label": "SPLIT 1" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 417, 29.30/8.42 "to": 423, 29.30/8.42 "label": "SPLIT 2\nnew knowledge:\nT91 is ground\nT90 is ground\nreplacements:T92 -> T97" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 422, 29.30/8.42 "to": 482, 29.30/8.42 "label": "CASE" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 423, 29.30/8.42 "to": 408, 29.30/8.42 "label": "INSTANCE with matching:\nT39 -> T97\nT38 -> T90" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 482, 29.30/8.42 "to": 483, 29.30/8.42 "label": "PARALLEL" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 482, 29.30/8.42 "to": 484, 29.30/8.42 "label": "PARALLEL" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 483, 29.30/8.42 "to": 485, 29.30/8.42 "label": "EVAL with clause\nmember(X106, .(X106, X107)).\nand substitutionT91 -> T110,\nX106 -> T110,\nX107 -> T111,\nT90 -> .(T110, T111)" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 483, 29.30/8.42 "to": 486, 29.30/8.42 "label": "EVAL-BACKTRACK" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 484, 29.30/8.42 "to": 491, 29.30/8.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" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 484, 29.30/8.42 "to": 492, 29.30/8.42 "label": "EVAL-BACKTRACK" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 485, 29.30/8.42 "to": 488, 29.30/8.42 "label": "SUCCESS" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 491, 29.30/8.42 "to": 422, 29.30/8.42 "label": "INSTANCE with matching:\nT91 -> T121\nT90 -> T120" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 496, 29.30/8.42 "to": 498, 29.30/8.42 "label": "SUCCESS" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 499, 29.30/8.42 "to": 500, 29.30/8.42 "label": "EVAL with clause\ncolor_map([], X132).\nand substitutionT1 -> [],\nT8 -> T137,\nX132 -> T137" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 499, 29.30/8.42 "to": 501, 29.30/8.42 "label": "EVAL-BACKTRACK" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 500, 29.30/8.42 "to": 502, 29.30/8.42 "label": "SUCCESS" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 503, 29.30/8.42 "to": 505, 29.30/8.42 "label": "SUCCESS" 29.30/8.42 } 29.30/8.42 ], 29.30/8.42 "type": "Graph" 29.30/8.42 } 29.30/8.42 } 29.30/8.42 29.30/8.42 ---------------------------------------- 29.30/8.42 29.30/8.42 (88) 29.30/8.42 Obligation: 29.30/8.42 Triples: 29.30/8.42 29.30/8.42 selectA(X1, .(X2, X3), .(X2, X4)) :- selectA(X1, X3, X4). 29.30/8.42 membersC(.(X1, X2), X3) :- memberD(X1, X3). 29.30/8.42 membersC(.(X1, X2), X3) :- ','(membercD(X1, X3), membersC(X2, X3)). 29.30/8.42 memberD(X1, .(X2, X3)) :- memberD(X1, X3). 29.30/8.42 color_mapB(.(region(X1, X2, X3), X4), X5) :- selectA(X2, X5, X6). 29.30/8.42 color_mapB(.(region(X1, X2, X3), X4), X5) :- ','(selectcA(X2, X5, X6), membersC(X3, X6)). 29.30/8.42 color_mapB(.(region(X1, X2, X3), X4), X5) :- ','(selectcA(X2, X5, X6), ','(memberscC(X3, X6), color_mapB(X4, X5))). 29.30/8.42 29.30/8.42 Clauses: 29.30/8.42 29.30/8.42 selectcA(X1, .(X1, X2), X2). 29.30/8.42 selectcA(X1, .(X2, X3), .(X2, X4)) :- selectcA(X1, X3, X4). 29.30/8.42 color_mapcB(.(region(X1, X2, X3), X4), X5) :- ','(selectcA(X2, X5, X6), ','(memberscC(X3, X6), color_mapcB(X4, X5))). 29.30/8.42 color_mapcB([], X1). 29.30/8.42 color_mapcB([], X1). 29.30/8.42 memberscC(.(X1, X2), X3) :- ','(membercD(X1, X3), memberscC(X2, X3)). 29.30/8.42 memberscC([], X1). 29.30/8.42 membercD(X1, .(X1, X2)). 29.30/8.42 membercD(X1, .(X2, X3)) :- membercD(X1, X3). 29.30/8.42 29.30/8.42 Afs: 29.30/8.42 29.30/8.42 color_mapB(x1, x2) = color_mapB(x2) 29.30/8.42 29.30/8.42 29.30/8.42 ---------------------------------------- 29.30/8.42 29.30/8.42 (89) TriplesToPiDPProof (SOUND) 29.30/8.42 We use the technique of [DT09]. With regard to the inferred argument filtering the predicates were used in the following modes: 29.30/8.42 29.30/8.42 color_mapB_in_2: (f,b) 29.30/8.42 29.30/8.42 selectA_in_3: (f,b,f) 29.30/8.42 29.30/8.42 selectcA_in_3: (f,b,f) 29.30/8.42 29.30/8.42 membersC_in_2: (f,b) 29.30/8.42 29.30/8.42 memberD_in_2: (f,b) 29.30/8.42 29.30/8.42 membercD_in_2: (f,b) 29.30/8.42 29.30/8.42 memberscC_in_2: (f,b) 29.30/8.42 29.30/8.42 Transforming TRIPLES into the following Term Rewriting System: 29.30/8.42 29.30/8.42 Pi DP problem: 29.30/8.42 The TRS P consists of the following rules: 29.30/8.42 29.30/8.42 COLOR_MAPB_IN_AG(.(region(X1, X2, X3), X4), X5) -> U6_AG(X1, X2, X3, X4, X5, selectA_in_aga(X2, X5, X6)) 29.30/8.42 COLOR_MAPB_IN_AG(.(region(X1, X2, X3), X4), X5) -> SELECTA_IN_AGA(X2, X5, X6) 29.30/8.42 SELECTA_IN_AGA(X1, .(X2, X3), .(X2, X4)) -> U1_AGA(X1, X2, X3, X4, selectA_in_aga(X1, X3, X4)) 29.30/8.42 SELECTA_IN_AGA(X1, .(X2, X3), .(X2, X4)) -> SELECTA_IN_AGA(X1, X3, X4) 29.30/8.42 COLOR_MAPB_IN_AG(.(region(X1, X2, X3), X4), X5) -> U7_AG(X1, X2, X3, X4, X5, selectcA_in_aga(X2, X5, X6)) 29.30/8.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)) 29.30/8.42 U7_AG(X1, X2, X3, X4, X5, selectcA_out_aga(X2, X5, X6)) -> MEMBERSC_IN_AG(X3, X6) 29.30/8.42 MEMBERSC_IN_AG(.(X1, X2), X3) -> U2_AG(X1, X2, X3, memberD_in_ag(X1, X3)) 29.30/8.42 MEMBERSC_IN_AG(.(X1, X2), X3) -> MEMBERD_IN_AG(X1, X3) 29.30/8.42 MEMBERD_IN_AG(X1, .(X2, X3)) -> U5_AG(X1, X2, X3, memberD_in_ag(X1, X3)) 29.30/8.42 MEMBERD_IN_AG(X1, .(X2, X3)) -> MEMBERD_IN_AG(X1, X3) 29.30/8.42 MEMBERSC_IN_AG(.(X1, X2), X3) -> U3_AG(X1, X2, X3, membercD_in_ag(X1, X3)) 29.30/8.42 U3_AG(X1, X2, X3, membercD_out_ag(X1, X3)) -> U4_AG(X1, X2, X3, membersC_in_ag(X2, X3)) 29.30/8.42 U3_AG(X1, X2, X3, membercD_out_ag(X1, X3)) -> MEMBERSC_IN_AG(X2, X3) 29.30/8.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)) 29.30/8.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)) 29.30/8.42 U9_AG(X1, X2, X3, X4, X5, memberscC_out_ag(X3, X6)) -> COLOR_MAPB_IN_AG(X4, X5) 29.30/8.42 29.30/8.42 The TRS R consists of the following rules: 29.30/8.42 29.30/8.42 selectcA_in_aga(X1, .(X1, X2), X2) -> selectcA_out_aga(X1, .(X1, X2), X2) 29.30/8.42 selectcA_in_aga(X1, .(X2, X3), .(X2, X4)) -> U12_aga(X1, X2, X3, X4, selectcA_in_aga(X1, X3, X4)) 29.30/8.42 U12_aga(X1, X2, X3, X4, selectcA_out_aga(X1, X3, X4)) -> selectcA_out_aga(X1, .(X2, X3), .(X2, X4)) 29.30/8.42 membercD_in_ag(X1, .(X1, X2)) -> membercD_out_ag(X1, .(X1, X2)) 29.30/8.42 membercD_in_ag(X1, .(X2, X3)) -> U18_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 29.30/8.42 U18_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> membercD_out_ag(X1, .(X2, X3)) 29.30/8.42 memberscC_in_ag(.(X1, X2), X3) -> U16_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 29.30/8.42 U16_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> U17_ag(X1, X2, X3, memberscC_in_ag(X2, X3)) 29.30/8.42 memberscC_in_ag([], X1) -> memberscC_out_ag([], X1) 29.30/8.42 U17_ag(X1, X2, X3, memberscC_out_ag(X2, X3)) -> memberscC_out_ag(.(X1, X2), X3) 29.30/8.42 29.30/8.42 The argument filtering Pi contains the following mapping: 29.30/8.42 color_mapB_in_ag(x1, x2) = color_mapB_in_ag(x2) 29.30/8.42 29.30/8.42 selectA_in_aga(x1, x2, x3) = selectA_in_aga(x2) 29.30/8.42 29.30/8.42 .(x1, x2) = .(x1, x2) 29.30/8.42 29.30/8.42 region(x1, x2, x3) = region(x2, x3) 29.30/8.42 29.30/8.42 selectcA_in_aga(x1, x2, x3) = selectcA_in_aga(x2) 29.30/8.42 29.30/8.42 selectcA_out_aga(x1, x2, x3) = selectcA_out_aga(x1, x2, x3) 29.30/8.42 29.30/8.42 U12_aga(x1, x2, x3, x4, x5) = U12_aga(x2, x3, x5) 29.30/8.42 29.30/8.42 membersC_in_ag(x1, x2) = membersC_in_ag(x2) 29.30/8.42 29.30/8.42 memberD_in_ag(x1, x2) = memberD_in_ag(x2) 29.30/8.42 29.30/8.42 membercD_in_ag(x1, x2) = membercD_in_ag(x2) 29.30/8.42 29.30/8.42 membercD_out_ag(x1, x2) = membercD_out_ag(x1, x2) 29.30/8.42 29.30/8.42 U18_ag(x1, x2, x3, x4) = U18_ag(x2, x3, x4) 29.30/8.42 29.30/8.42 memberscC_in_ag(x1, x2) = memberscC_in_ag(x2) 29.30/8.42 29.30/8.42 U16_ag(x1, x2, x3, x4) = U16_ag(x3, x4) 29.30/8.42 29.30/8.42 U17_ag(x1, x2, x3, x4) = U17_ag(x1, x3, x4) 29.30/8.42 29.30/8.42 memberscC_out_ag(x1, x2) = memberscC_out_ag(x1, x2) 29.30/8.42 29.30/8.42 COLOR_MAPB_IN_AG(x1, x2) = COLOR_MAPB_IN_AG(x2) 29.30/8.42 29.30/8.42 U6_AG(x1, x2, x3, x4, x5, x6) = U6_AG(x5, x6) 29.30/8.42 29.30/8.42 SELECTA_IN_AGA(x1, x2, x3) = SELECTA_IN_AGA(x2) 29.30/8.42 29.30/8.42 U1_AGA(x1, x2, x3, x4, x5) = U1_AGA(x2, x3, x5) 29.30/8.42 29.30/8.42 U7_AG(x1, x2, x3, x4, x5, x6) = U7_AG(x5, x6) 29.30/8.42 29.30/8.42 U8_AG(x1, x2, x3, x4, x5, x6) = U8_AG(x5, x6) 29.30/8.42 29.30/8.42 MEMBERSC_IN_AG(x1, x2) = MEMBERSC_IN_AG(x2) 29.30/8.42 29.30/8.42 U2_AG(x1, x2, x3, x4) = U2_AG(x3, x4) 29.30/8.42 29.30/8.42 MEMBERD_IN_AG(x1, x2) = MEMBERD_IN_AG(x2) 29.30/8.42 29.30/8.42 U5_AG(x1, x2, x3, x4) = U5_AG(x2, x3, x4) 29.30/8.42 29.30/8.42 U3_AG(x1, x2, x3, x4) = U3_AG(x3, x4) 29.30/8.42 29.30/8.42 U4_AG(x1, x2, x3, x4) = U4_AG(x3, x4) 29.30/8.42 29.30/8.42 U9_AG(x1, x2, x3, x4, x5, x6) = U9_AG(x5, x6) 29.30/8.42 29.30/8.42 U10_AG(x1, x2, x3, x4, x5, x6) = U10_AG(x5, x6) 29.30/8.42 29.30/8.42 29.30/8.42 We have to consider all (P,R,Pi)-chains 29.30/8.42 29.30/8.42 29.30/8.42 Infinitary Constructor Rewriting Termination of PiDP implies Termination of TRIPLES 29.30/8.42 29.30/8.42 29.30/8.42 29.30/8.42 ---------------------------------------- 29.30/8.42 29.30/8.42 (90) 29.30/8.42 Obligation: 29.30/8.42 Pi DP problem: 29.30/8.42 The TRS P consists of the following rules: 29.30/8.42 29.30/8.42 COLOR_MAPB_IN_AG(.(region(X1, X2, X3), X4), X5) -> U6_AG(X1, X2, X3, X4, X5, selectA_in_aga(X2, X5, X6)) 29.30/8.42 COLOR_MAPB_IN_AG(.(region(X1, X2, X3), X4), X5) -> SELECTA_IN_AGA(X2, X5, X6) 29.30/8.42 SELECTA_IN_AGA(X1, .(X2, X3), .(X2, X4)) -> U1_AGA(X1, X2, X3, X4, selectA_in_aga(X1, X3, X4)) 29.30/8.42 SELECTA_IN_AGA(X1, .(X2, X3), .(X2, X4)) -> SELECTA_IN_AGA(X1, X3, X4) 29.30/8.42 COLOR_MAPB_IN_AG(.(region(X1, X2, X3), X4), X5) -> U7_AG(X1, X2, X3, X4, X5, selectcA_in_aga(X2, X5, X6)) 29.30/8.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)) 29.30/8.42 U7_AG(X1, X2, X3, X4, X5, selectcA_out_aga(X2, X5, X6)) -> MEMBERSC_IN_AG(X3, X6) 29.30/8.42 MEMBERSC_IN_AG(.(X1, X2), X3) -> U2_AG(X1, X2, X3, memberD_in_ag(X1, X3)) 29.30/8.42 MEMBERSC_IN_AG(.(X1, X2), X3) -> MEMBERD_IN_AG(X1, X3) 29.30/8.42 MEMBERD_IN_AG(X1, .(X2, X3)) -> U5_AG(X1, X2, X3, memberD_in_ag(X1, X3)) 29.30/8.42 MEMBERD_IN_AG(X1, .(X2, X3)) -> MEMBERD_IN_AG(X1, X3) 29.30/8.42 MEMBERSC_IN_AG(.(X1, X2), X3) -> U3_AG(X1, X2, X3, membercD_in_ag(X1, X3)) 29.30/8.42 U3_AG(X1, X2, X3, membercD_out_ag(X1, X3)) -> U4_AG(X1, X2, X3, membersC_in_ag(X2, X3)) 29.30/8.42 U3_AG(X1, X2, X3, membercD_out_ag(X1, X3)) -> MEMBERSC_IN_AG(X2, X3) 29.30/8.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)) 29.30/8.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)) 29.30/8.42 U9_AG(X1, X2, X3, X4, X5, memberscC_out_ag(X3, X6)) -> COLOR_MAPB_IN_AG(X4, X5) 29.30/8.42 29.30/8.42 The TRS R consists of the following rules: 29.30/8.42 29.30/8.42 selectcA_in_aga(X1, .(X1, X2), X2) -> selectcA_out_aga(X1, .(X1, X2), X2) 29.30/8.42 selectcA_in_aga(X1, .(X2, X3), .(X2, X4)) -> U12_aga(X1, X2, X3, X4, selectcA_in_aga(X1, X3, X4)) 29.30/8.42 U12_aga(X1, X2, X3, X4, selectcA_out_aga(X1, X3, X4)) -> selectcA_out_aga(X1, .(X2, X3), .(X2, X4)) 29.30/8.42 membercD_in_ag(X1, .(X1, X2)) -> membercD_out_ag(X1, .(X1, X2)) 29.30/8.42 membercD_in_ag(X1, .(X2, X3)) -> U18_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 29.30/8.42 U18_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> membercD_out_ag(X1, .(X2, X3)) 29.30/8.42 memberscC_in_ag(.(X1, X2), X3) -> U16_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 29.30/8.42 U16_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> U17_ag(X1, X2, X3, memberscC_in_ag(X2, X3)) 29.30/8.42 memberscC_in_ag([], X1) -> memberscC_out_ag([], X1) 29.30/8.42 U17_ag(X1, X2, X3, memberscC_out_ag(X2, X3)) -> memberscC_out_ag(.(X1, X2), X3) 29.30/8.42 29.30/8.42 The argument filtering Pi contains the following mapping: 29.30/8.42 color_mapB_in_ag(x1, x2) = color_mapB_in_ag(x2) 29.30/8.42 29.30/8.42 selectA_in_aga(x1, x2, x3) = selectA_in_aga(x2) 29.30/8.42 29.30/8.42 .(x1, x2) = .(x1, x2) 29.30/8.42 29.30/8.42 region(x1, x2, x3) = region(x2, x3) 29.30/8.42 29.30/8.42 selectcA_in_aga(x1, x2, x3) = selectcA_in_aga(x2) 29.30/8.42 29.30/8.42 selectcA_out_aga(x1, x2, x3) = selectcA_out_aga(x1, x2, x3) 29.30/8.42 29.30/8.42 U12_aga(x1, x2, x3, x4, x5) = U12_aga(x2, x3, x5) 29.30/8.42 29.30/8.42 membersC_in_ag(x1, x2) = membersC_in_ag(x2) 29.30/8.42 29.30/8.42 memberD_in_ag(x1, x2) = memberD_in_ag(x2) 29.30/8.42 29.30/8.42 membercD_in_ag(x1, x2) = membercD_in_ag(x2) 29.30/8.42 29.30/8.42 membercD_out_ag(x1, x2) = membercD_out_ag(x1, x2) 29.30/8.42 29.30/8.42 U18_ag(x1, x2, x3, x4) = U18_ag(x2, x3, x4) 29.30/8.42 29.30/8.42 memberscC_in_ag(x1, x2) = memberscC_in_ag(x2) 29.30/8.42 29.30/8.42 U16_ag(x1, x2, x3, x4) = U16_ag(x3, x4) 29.30/8.42 29.30/8.42 U17_ag(x1, x2, x3, x4) = U17_ag(x1, x3, x4) 29.30/8.42 29.30/8.42 memberscC_out_ag(x1, x2) = memberscC_out_ag(x1, x2) 29.30/8.42 29.30/8.42 COLOR_MAPB_IN_AG(x1, x2) = COLOR_MAPB_IN_AG(x2) 29.30/8.42 29.30/8.42 U6_AG(x1, x2, x3, x4, x5, x6) = U6_AG(x5, x6) 29.30/8.42 29.30/8.42 SELECTA_IN_AGA(x1, x2, x3) = SELECTA_IN_AGA(x2) 29.30/8.42 29.30/8.42 U1_AGA(x1, x2, x3, x4, x5) = U1_AGA(x2, x3, x5) 29.30/8.42 29.30/8.42 U7_AG(x1, x2, x3, x4, x5, x6) = U7_AG(x5, x6) 29.30/8.42 29.30/8.42 U8_AG(x1, x2, x3, x4, x5, x6) = U8_AG(x5, x6) 29.30/8.42 29.30/8.42 MEMBERSC_IN_AG(x1, x2) = MEMBERSC_IN_AG(x2) 29.30/8.42 29.30/8.42 U2_AG(x1, x2, x3, x4) = U2_AG(x3, x4) 29.30/8.42 29.30/8.42 MEMBERD_IN_AG(x1, x2) = MEMBERD_IN_AG(x2) 29.30/8.42 29.30/8.42 U5_AG(x1, x2, x3, x4) = U5_AG(x2, x3, x4) 29.30/8.42 29.30/8.42 U3_AG(x1, x2, x3, x4) = U3_AG(x3, x4) 29.30/8.42 29.30/8.42 U4_AG(x1, x2, x3, x4) = U4_AG(x3, x4) 29.30/8.42 29.30/8.42 U9_AG(x1, x2, x3, x4, x5, x6) = U9_AG(x5, x6) 29.30/8.42 29.30/8.42 U10_AG(x1, x2, x3, x4, x5, x6) = U10_AG(x5, x6) 29.30/8.42 29.30/8.42 29.30/8.42 We have to consider all (P,R,Pi)-chains 29.30/8.42 ---------------------------------------- 29.30/8.42 29.30/8.42 (91) DependencyGraphProof (EQUIVALENT) 29.30/8.42 The approximation of the Dependency Graph [LOPSTR] contains 4 SCCs with 10 less nodes. 29.30/8.42 ---------------------------------------- 29.30/8.42 29.30/8.42 (92) 29.30/8.42 Complex Obligation (AND) 29.30/8.42 29.30/8.42 ---------------------------------------- 29.30/8.42 29.30/8.42 (93) 29.30/8.42 Obligation: 29.30/8.42 Pi DP problem: 29.30/8.42 The TRS P consists of the following rules: 29.30/8.42 29.30/8.42 MEMBERD_IN_AG(X1, .(X2, X3)) -> MEMBERD_IN_AG(X1, X3) 29.30/8.42 29.30/8.42 The TRS R consists of the following rules: 29.30/8.42 29.30/8.42 selectcA_in_aga(X1, .(X1, X2), X2) -> selectcA_out_aga(X1, .(X1, X2), X2) 29.30/8.42 selectcA_in_aga(X1, .(X2, X3), .(X2, X4)) -> U12_aga(X1, X2, X3, X4, selectcA_in_aga(X1, X3, X4)) 29.30/8.42 U12_aga(X1, X2, X3, X4, selectcA_out_aga(X1, X3, X4)) -> selectcA_out_aga(X1, .(X2, X3), .(X2, X4)) 29.30/8.42 membercD_in_ag(X1, .(X1, X2)) -> membercD_out_ag(X1, .(X1, X2)) 29.30/8.42 membercD_in_ag(X1, .(X2, X3)) -> U18_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 29.30/8.42 U18_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> membercD_out_ag(X1, .(X2, X3)) 29.30/8.42 memberscC_in_ag(.(X1, X2), X3) -> U16_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 29.30/8.42 U16_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> U17_ag(X1, X2, X3, memberscC_in_ag(X2, X3)) 29.30/8.42 memberscC_in_ag([], X1) -> memberscC_out_ag([], X1) 29.30/8.42 U17_ag(X1, X2, X3, memberscC_out_ag(X2, X3)) -> memberscC_out_ag(.(X1, X2), X3) 29.30/8.42 29.30/8.42 The argument filtering Pi contains the following mapping: 29.30/8.42 .(x1, x2) = .(x1, x2) 29.30/8.42 29.30/8.42 selectcA_in_aga(x1, x2, x3) = selectcA_in_aga(x2) 29.30/8.42 29.30/8.42 selectcA_out_aga(x1, x2, x3) = selectcA_out_aga(x1, x2, x3) 29.30/8.42 29.30/8.42 U12_aga(x1, x2, x3, x4, x5) = U12_aga(x2, x3, x5) 29.30/8.42 29.30/8.42 membercD_in_ag(x1, x2) = membercD_in_ag(x2) 29.30/8.42 29.30/8.42 membercD_out_ag(x1, x2) = membercD_out_ag(x1, x2) 29.30/8.42 29.30/8.42 U18_ag(x1, x2, x3, x4) = U18_ag(x2, x3, x4) 29.30/8.42 29.30/8.42 memberscC_in_ag(x1, x2) = memberscC_in_ag(x2) 29.30/8.42 29.30/8.42 U16_ag(x1, x2, x3, x4) = U16_ag(x3, x4) 29.30/8.42 29.30/8.42 U17_ag(x1, x2, x3, x4) = U17_ag(x1, x3, x4) 29.30/8.42 29.30/8.42 memberscC_out_ag(x1, x2) = memberscC_out_ag(x1, x2) 29.30/8.42 29.30/8.42 MEMBERD_IN_AG(x1, x2) = MEMBERD_IN_AG(x2) 29.30/8.42 29.30/8.42 29.30/8.42 We have to consider all (P,R,Pi)-chains 29.30/8.42 ---------------------------------------- 29.30/8.42 29.30/8.42 (94) UsableRulesProof (EQUIVALENT) 29.30/8.42 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 29.30/8.42 ---------------------------------------- 29.30/8.42 29.30/8.42 (95) 29.30/8.42 Obligation: 29.30/8.42 Pi DP problem: 29.30/8.42 The TRS P consists of the following rules: 29.30/8.42 29.30/8.42 MEMBERD_IN_AG(X1, .(X2, X3)) -> MEMBERD_IN_AG(X1, X3) 29.30/8.42 29.30/8.42 R is empty. 29.30/8.42 The argument filtering Pi contains the following mapping: 29.30/8.42 .(x1, x2) = .(x1, x2) 29.30/8.42 29.30/8.42 MEMBERD_IN_AG(x1, x2) = MEMBERD_IN_AG(x2) 29.30/8.42 29.30/8.42 29.30/8.42 We have to consider all (P,R,Pi)-chains 29.30/8.42 ---------------------------------------- 29.30/8.42 29.30/8.42 (96) PiDPToQDPProof (SOUND) 29.30/8.42 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 29.30/8.42 ---------------------------------------- 29.30/8.42 29.30/8.42 (97) 29.30/8.42 Obligation: 29.30/8.42 Q DP problem: 29.30/8.42 The TRS P consists of the following rules: 29.30/8.42 29.30/8.42 MEMBERD_IN_AG(.(X2, X3)) -> MEMBERD_IN_AG(X3) 29.30/8.42 29.30/8.42 R is empty. 29.30/8.42 Q is empty. 29.30/8.42 We have to consider all (P,Q,R)-chains. 29.30/8.42 ---------------------------------------- 29.30/8.42 29.30/8.42 (98) QDPSizeChangeProof (EQUIVALENT) 29.30/8.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. 29.30/8.42 29.30/8.42 From the DPs we obtained the following set of size-change graphs: 29.30/8.42 *MEMBERD_IN_AG(.(X2, X3)) -> MEMBERD_IN_AG(X3) 29.30/8.42 The graph contains the following edges 1 > 1 29.30/8.42 29.30/8.42 29.30/8.42 ---------------------------------------- 29.30/8.42 29.30/8.42 (99) 29.30/8.42 YES 29.30/8.42 29.30/8.42 ---------------------------------------- 29.30/8.42 29.30/8.42 (100) 29.30/8.42 Obligation: 29.30/8.42 Pi DP problem: 29.30/8.42 The TRS P consists of the following rules: 29.30/8.42 29.30/8.42 MEMBERSC_IN_AG(.(X1, X2), X3) -> U3_AG(X1, X2, X3, membercD_in_ag(X1, X3)) 29.30/8.42 U3_AG(X1, X2, X3, membercD_out_ag(X1, X3)) -> MEMBERSC_IN_AG(X2, X3) 29.30/8.42 29.30/8.42 The TRS R consists of the following rules: 29.30/8.42 29.30/8.42 selectcA_in_aga(X1, .(X1, X2), X2) -> selectcA_out_aga(X1, .(X1, X2), X2) 29.30/8.42 selectcA_in_aga(X1, .(X2, X3), .(X2, X4)) -> U12_aga(X1, X2, X3, X4, selectcA_in_aga(X1, X3, X4)) 29.30/8.42 U12_aga(X1, X2, X3, X4, selectcA_out_aga(X1, X3, X4)) -> selectcA_out_aga(X1, .(X2, X3), .(X2, X4)) 29.30/8.42 membercD_in_ag(X1, .(X1, X2)) -> membercD_out_ag(X1, .(X1, X2)) 29.30/8.42 membercD_in_ag(X1, .(X2, X3)) -> U18_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 29.30/8.42 U18_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> membercD_out_ag(X1, .(X2, X3)) 29.30/8.42 memberscC_in_ag(.(X1, X2), X3) -> U16_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 29.30/8.42 U16_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> U17_ag(X1, X2, X3, memberscC_in_ag(X2, X3)) 29.30/8.42 memberscC_in_ag([], X1) -> memberscC_out_ag([], X1) 29.30/8.42 U17_ag(X1, X2, X3, memberscC_out_ag(X2, X3)) -> memberscC_out_ag(.(X1, X2), X3) 29.30/8.42 29.30/8.42 The argument filtering Pi contains the following mapping: 29.30/8.42 .(x1, x2) = .(x1, x2) 29.30/8.42 29.30/8.42 selectcA_in_aga(x1, x2, x3) = selectcA_in_aga(x2) 29.30/8.42 29.30/8.42 selectcA_out_aga(x1, x2, x3) = selectcA_out_aga(x1, x2, x3) 29.30/8.42 29.30/8.42 U12_aga(x1, x2, x3, x4, x5) = U12_aga(x2, x3, x5) 29.30/8.42 29.30/8.42 membercD_in_ag(x1, x2) = membercD_in_ag(x2) 29.30/8.42 29.30/8.42 membercD_out_ag(x1, x2) = membercD_out_ag(x1, x2) 29.30/8.42 29.30/8.42 U18_ag(x1, x2, x3, x4) = U18_ag(x2, x3, x4) 29.30/8.42 29.30/8.42 memberscC_in_ag(x1, x2) = memberscC_in_ag(x2) 29.30/8.42 29.30/8.42 U16_ag(x1, x2, x3, x4) = U16_ag(x3, x4) 29.30/8.42 29.30/8.42 U17_ag(x1, x2, x3, x4) = U17_ag(x1, x3, x4) 29.30/8.42 29.30/8.42 memberscC_out_ag(x1, x2) = memberscC_out_ag(x1, x2) 29.30/8.42 29.30/8.42 MEMBERSC_IN_AG(x1, x2) = MEMBERSC_IN_AG(x2) 29.30/8.42 29.30/8.42 U3_AG(x1, x2, x3, x4) = U3_AG(x3, x4) 29.30/8.42 29.30/8.42 29.30/8.42 We have to consider all (P,R,Pi)-chains 29.30/8.42 ---------------------------------------- 29.30/8.42 29.30/8.42 (101) UsableRulesProof (EQUIVALENT) 29.30/8.42 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 29.30/8.42 ---------------------------------------- 29.30/8.42 29.30/8.42 (102) 29.30/8.42 Obligation: 29.30/8.42 Pi DP problem: 29.30/8.42 The TRS P consists of the following rules: 29.30/8.42 29.30/8.42 MEMBERSC_IN_AG(.(X1, X2), X3) -> U3_AG(X1, X2, X3, membercD_in_ag(X1, X3)) 29.30/8.42 U3_AG(X1, X2, X3, membercD_out_ag(X1, X3)) -> MEMBERSC_IN_AG(X2, X3) 29.30/8.42 29.30/8.42 The TRS R consists of the following rules: 29.30/8.42 29.30/8.42 membercD_in_ag(X1, .(X1, X2)) -> membercD_out_ag(X1, .(X1, X2)) 29.30/8.42 membercD_in_ag(X1, .(X2, X3)) -> U18_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 29.30/8.42 U18_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> membercD_out_ag(X1, .(X2, X3)) 29.30/8.42 29.30/8.42 The argument filtering Pi contains the following mapping: 29.30/8.42 .(x1, x2) = .(x1, x2) 29.30/8.42 29.30/8.42 membercD_in_ag(x1, x2) = membercD_in_ag(x2) 29.30/8.42 29.30/8.42 membercD_out_ag(x1, x2) = membercD_out_ag(x1, x2) 29.30/8.42 29.30/8.42 U18_ag(x1, x2, x3, x4) = U18_ag(x2, x3, x4) 29.30/8.42 29.30/8.42 MEMBERSC_IN_AG(x1, x2) = MEMBERSC_IN_AG(x2) 29.30/8.42 29.30/8.42 U3_AG(x1, x2, x3, x4) = U3_AG(x3, x4) 29.30/8.42 29.30/8.42 29.30/8.42 We have to consider all (P,R,Pi)-chains 29.30/8.42 ---------------------------------------- 29.30/8.42 29.30/8.42 (103) PiDPToQDPProof (SOUND) 29.30/8.42 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 29.30/8.42 ---------------------------------------- 29.30/8.42 29.30/8.42 (104) 29.30/8.42 Obligation: 29.30/8.42 Q DP problem: 29.30/8.42 The TRS P consists of the following rules: 29.30/8.42 29.30/8.42 MEMBERSC_IN_AG(X3) -> U3_AG(X3, membercD_in_ag(X3)) 29.30/8.42 U3_AG(X3, membercD_out_ag(X1, X3)) -> MEMBERSC_IN_AG(X3) 29.30/8.42 29.30/8.42 The TRS R consists of the following rules: 29.30/8.42 29.30/8.42 membercD_in_ag(.(X1, X2)) -> membercD_out_ag(X1, .(X1, X2)) 29.30/8.42 membercD_in_ag(.(X2, X3)) -> U18_ag(X2, X3, membercD_in_ag(X3)) 29.30/8.42 U18_ag(X2, X3, membercD_out_ag(X1, X3)) -> membercD_out_ag(X1, .(X2, X3)) 29.30/8.42 29.30/8.42 The set Q consists of the following terms: 29.30/8.42 29.30/8.42 membercD_in_ag(x0) 29.30/8.42 U18_ag(x0, x1, x2) 29.30/8.42 29.30/8.42 We have to consider all (P,Q,R)-chains. 29.30/8.42 ---------------------------------------- 29.30/8.42 29.30/8.42 (105) TransformationProof (SOUND) 29.30/8.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]: 29.30/8.42 29.30/8.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)))) 29.30/8.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)))) 29.30/8.42 29.30/8.42 29.30/8.42 ---------------------------------------- 29.30/8.42 29.30/8.42 (106) 29.30/8.42 Obligation: 29.30/8.42 Q DP problem: 29.30/8.42 The TRS P consists of the following rules: 29.30/8.42 29.30/8.42 U3_AG(X3, membercD_out_ag(X1, X3)) -> MEMBERSC_IN_AG(X3) 29.30/8.42 MEMBERSC_IN_AG(.(x0, x1)) -> U3_AG(.(x0, x1), membercD_out_ag(x0, .(x0, x1))) 29.30/8.42 MEMBERSC_IN_AG(.(x0, x1)) -> U3_AG(.(x0, x1), U18_ag(x0, x1, membercD_in_ag(x1))) 29.30/8.42 29.30/8.42 The TRS R consists of the following rules: 29.30/8.42 29.30/8.42 membercD_in_ag(.(X1, X2)) -> membercD_out_ag(X1, .(X1, X2)) 29.30/8.42 membercD_in_ag(.(X2, X3)) -> U18_ag(X2, X3, membercD_in_ag(X3)) 29.30/8.42 U18_ag(X2, X3, membercD_out_ag(X1, X3)) -> membercD_out_ag(X1, .(X2, X3)) 29.30/8.42 29.30/8.42 The set Q consists of the following terms: 29.30/8.42 29.30/8.42 membercD_in_ag(x0) 29.30/8.42 U18_ag(x0, x1, x2) 29.30/8.42 29.30/8.42 We have to consider all (P,Q,R)-chains. 29.30/8.42 ---------------------------------------- 29.30/8.42 29.30/8.42 (107) TransformationProof (EQUIVALENT) 29.30/8.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]: 29.30/8.42 29.30/8.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))) 29.30/8.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))) 29.30/8.42 29.30/8.42 29.30/8.42 ---------------------------------------- 29.30/8.42 29.30/8.42 (108) 29.30/8.42 Obligation: 29.30/8.42 Q DP problem: 29.30/8.42 The TRS P consists of the following rules: 29.30/8.42 29.30/8.42 MEMBERSC_IN_AG(.(x0, x1)) -> U3_AG(.(x0, x1), membercD_out_ag(x0, .(x0, x1))) 29.30/8.42 MEMBERSC_IN_AG(.(x0, x1)) -> U3_AG(.(x0, x1), U18_ag(x0, x1, membercD_in_ag(x1))) 29.30/8.42 U3_AG(.(z0, z1), membercD_out_ag(z0, .(z0, z1))) -> MEMBERSC_IN_AG(.(z0, z1)) 29.30/8.42 U3_AG(.(z0, z1), membercD_out_ag(x1, .(z0, z1))) -> MEMBERSC_IN_AG(.(z0, z1)) 29.30/8.42 29.30/8.42 The TRS R consists of the following rules: 29.30/8.42 29.30/8.42 membercD_in_ag(.(X1, X2)) -> membercD_out_ag(X1, .(X1, X2)) 29.30/8.42 membercD_in_ag(.(X2, X3)) -> U18_ag(X2, X3, membercD_in_ag(X3)) 29.30/8.42 U18_ag(X2, X3, membercD_out_ag(X1, X3)) -> membercD_out_ag(X1, .(X2, X3)) 29.30/8.42 29.30/8.42 The set Q consists of the following terms: 29.30/8.42 29.30/8.42 membercD_in_ag(x0) 29.30/8.42 U18_ag(x0, x1, x2) 29.30/8.42 29.30/8.42 We have to consider all (P,Q,R)-chains. 29.30/8.42 ---------------------------------------- 29.30/8.42 29.30/8.42 (109) 29.30/8.42 Obligation: 29.30/8.42 Pi DP problem: 29.30/8.42 The TRS P consists of the following rules: 29.30/8.42 29.30/8.42 SELECTA_IN_AGA(X1, .(X2, X3), .(X2, X4)) -> SELECTA_IN_AGA(X1, X3, X4) 29.30/8.42 29.30/8.42 The TRS R consists of the following rules: 29.30/8.42 29.30/8.42 selectcA_in_aga(X1, .(X1, X2), X2) -> selectcA_out_aga(X1, .(X1, X2), X2) 29.30/8.42 selectcA_in_aga(X1, .(X2, X3), .(X2, X4)) -> U12_aga(X1, X2, X3, X4, selectcA_in_aga(X1, X3, X4)) 29.30/8.42 U12_aga(X1, X2, X3, X4, selectcA_out_aga(X1, X3, X4)) -> selectcA_out_aga(X1, .(X2, X3), .(X2, X4)) 29.30/8.42 membercD_in_ag(X1, .(X1, X2)) -> membercD_out_ag(X1, .(X1, X2)) 29.30/8.42 membercD_in_ag(X1, .(X2, X3)) -> U18_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 29.30/8.42 U18_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> membercD_out_ag(X1, .(X2, X3)) 29.30/8.42 memberscC_in_ag(.(X1, X2), X3) -> U16_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 29.30/8.42 U16_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> U17_ag(X1, X2, X3, memberscC_in_ag(X2, X3)) 29.30/8.42 memberscC_in_ag([], X1) -> memberscC_out_ag([], X1) 29.30/8.42 U17_ag(X1, X2, X3, memberscC_out_ag(X2, X3)) -> memberscC_out_ag(.(X1, X2), X3) 29.30/8.42 29.30/8.42 The argument filtering Pi contains the following mapping: 29.30/8.42 .(x1, x2) = .(x1, x2) 29.30/8.42 29.30/8.42 selectcA_in_aga(x1, x2, x3) = selectcA_in_aga(x2) 29.30/8.42 29.30/8.42 selectcA_out_aga(x1, x2, x3) = selectcA_out_aga(x1, x2, x3) 29.30/8.42 29.30/8.42 U12_aga(x1, x2, x3, x4, x5) = U12_aga(x2, x3, x5) 29.30/8.42 29.30/8.42 membercD_in_ag(x1, x2) = membercD_in_ag(x2) 29.30/8.42 29.30/8.42 membercD_out_ag(x1, x2) = membercD_out_ag(x1, x2) 29.30/8.42 29.30/8.42 U18_ag(x1, x2, x3, x4) = U18_ag(x2, x3, x4) 29.30/8.42 29.30/8.42 memberscC_in_ag(x1, x2) = memberscC_in_ag(x2) 29.30/8.42 29.30/8.42 U16_ag(x1, x2, x3, x4) = U16_ag(x3, x4) 29.30/8.42 29.30/8.42 U17_ag(x1, x2, x3, x4) = U17_ag(x1, x3, x4) 29.30/8.42 29.30/8.42 memberscC_out_ag(x1, x2) = memberscC_out_ag(x1, x2) 29.30/8.42 29.30/8.42 SELECTA_IN_AGA(x1, x2, x3) = SELECTA_IN_AGA(x2) 29.30/8.42 29.30/8.42 29.30/8.42 We have to consider all (P,R,Pi)-chains 29.30/8.42 ---------------------------------------- 29.30/8.42 29.30/8.42 (110) UsableRulesProof (EQUIVALENT) 29.30/8.42 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 29.30/8.42 ---------------------------------------- 29.30/8.42 29.30/8.42 (111) 29.30/8.42 Obligation: 29.30/8.42 Pi DP problem: 29.30/8.42 The TRS P consists of the following rules: 29.30/8.42 29.30/8.42 SELECTA_IN_AGA(X1, .(X2, X3), .(X2, X4)) -> SELECTA_IN_AGA(X1, X3, X4) 29.30/8.42 29.30/8.42 R is empty. 29.30/8.42 The argument filtering Pi contains the following mapping: 29.30/8.42 .(x1, x2) = .(x1, x2) 29.30/8.42 29.30/8.42 SELECTA_IN_AGA(x1, x2, x3) = SELECTA_IN_AGA(x2) 29.30/8.42 29.30/8.42 29.30/8.42 We have to consider all (P,R,Pi)-chains 29.30/8.42 ---------------------------------------- 29.30/8.42 29.30/8.42 (112) 29.30/8.42 Obligation: 29.30/8.42 Pi DP problem: 29.30/8.42 The TRS P consists of the following rules: 29.30/8.42 29.30/8.42 COLOR_MAPB_IN_AG(.(region(X1, X2, X3), X4), X5) -> U7_AG(X1, X2, X3, X4, X5, selectcA_in_aga(X2, X5, X6)) 29.30/8.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)) 29.30/8.42 U9_AG(X1, X2, X3, X4, X5, memberscC_out_ag(X3, X6)) -> COLOR_MAPB_IN_AG(X4, X5) 29.30/8.42 29.30/8.42 The TRS R consists of the following rules: 29.30/8.42 29.30/8.42 selectcA_in_aga(X1, .(X1, X2), X2) -> selectcA_out_aga(X1, .(X1, X2), X2) 29.30/8.42 selectcA_in_aga(X1, .(X2, X3), .(X2, X4)) -> U12_aga(X1, X2, X3, X4, selectcA_in_aga(X1, X3, X4)) 29.30/8.42 U12_aga(X1, X2, X3, X4, selectcA_out_aga(X1, X3, X4)) -> selectcA_out_aga(X1, .(X2, X3), .(X2, X4)) 29.30/8.42 membercD_in_ag(X1, .(X1, X2)) -> membercD_out_ag(X1, .(X1, X2)) 29.30/8.42 membercD_in_ag(X1, .(X2, X3)) -> U18_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 29.30/8.42 U18_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> membercD_out_ag(X1, .(X2, X3)) 29.30/8.42 memberscC_in_ag(.(X1, X2), X3) -> U16_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 29.30/8.42 U16_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> U17_ag(X1, X2, X3, memberscC_in_ag(X2, X3)) 29.30/8.42 memberscC_in_ag([], X1) -> memberscC_out_ag([], X1) 29.30/8.42 U17_ag(X1, X2, X3, memberscC_out_ag(X2, X3)) -> memberscC_out_ag(.(X1, X2), X3) 29.30/8.42 29.30/8.42 The argument filtering Pi contains the following mapping: 29.30/8.42 .(x1, x2) = .(x1, x2) 29.30/8.42 29.30/8.42 region(x1, x2, x3) = region(x2, x3) 29.30/8.42 29.30/8.42 selectcA_in_aga(x1, x2, x3) = selectcA_in_aga(x2) 29.30/8.42 29.30/8.42 selectcA_out_aga(x1, x2, x3) = selectcA_out_aga(x1, x2, x3) 29.30/8.42 29.30/8.42 U12_aga(x1, x2, x3, x4, x5) = U12_aga(x2, x3, x5) 29.30/8.42 29.30/8.42 membercD_in_ag(x1, x2) = membercD_in_ag(x2) 29.30/8.42 29.30/8.42 membercD_out_ag(x1, x2) = membercD_out_ag(x1, x2) 29.30/8.42 29.30/8.42 U18_ag(x1, x2, x3, x4) = U18_ag(x2, x3, x4) 29.30/8.42 29.30/8.42 memberscC_in_ag(x1, x2) = memberscC_in_ag(x2) 29.30/8.42 29.30/8.42 U16_ag(x1, x2, x3, x4) = U16_ag(x3, x4) 29.30/8.42 29.30/8.42 U17_ag(x1, x2, x3, x4) = U17_ag(x1, x3, x4) 29.30/8.42 29.30/8.42 memberscC_out_ag(x1, x2) = memberscC_out_ag(x1, x2) 29.30/8.42 29.30/8.42 COLOR_MAPB_IN_AG(x1, x2) = COLOR_MAPB_IN_AG(x2) 29.30/8.42 29.30/8.42 U7_AG(x1, x2, x3, x4, x5, x6) = U7_AG(x5, x6) 29.30/8.42 29.30/8.42 U9_AG(x1, x2, x3, x4, x5, x6) = U9_AG(x5, x6) 29.30/8.42 29.30/8.42 29.30/8.42 We have to consider all (P,R,Pi)-chains 29.30/8.42 ---------------------------------------- 29.30/8.42 29.30/8.42 (113) PrologToIRSwTTransformerProof (SOUND) 29.30/8.42 Transformed Prolog program to IRSwT according to method in Master Thesis of A. Weinert 29.30/8.42 29.30/8.42 { 29.30/8.42 "root": 3, 29.30/8.42 "program": { 29.30/8.42 "directives": [], 29.30/8.42 "clauses": [ 29.30/8.42 [ 29.30/8.42 "(color_map (. Region Regions) Colors)", 29.30/8.42 "(',' (color_region Region Colors) (color_map Regions Colors))" 29.30/8.42 ], 29.30/8.42 [ 29.30/8.42 "(color_map ([]) Colors)", 29.30/8.42 null 29.30/8.42 ], 29.30/8.42 [ 29.30/8.42 "(color_region (region Name Color Neighbors) Colors)", 29.30/8.42 "(',' (select Color Colors Colors1) (members Neighbors Colors1))" 29.30/8.42 ], 29.30/8.42 [ 29.30/8.42 "(select X (. X Xs) Xs)", 29.30/8.42 null 29.30/8.42 ], 29.30/8.42 [ 29.30/8.42 "(select X (. Y Ys) (. Y Zs))", 29.30/8.42 "(select X Ys Zs)" 29.30/8.42 ], 29.30/8.42 [ 29.30/8.42 "(members (. X Xs) Ys)", 29.30/8.42 "(',' (member X Ys) (members Xs Ys))" 29.30/8.42 ], 29.30/8.42 [ 29.30/8.42 "(members ([]) Ys)", 29.30/8.42 null 29.30/8.42 ], 29.30/8.42 [ 29.30/8.42 "(member X (. X X1))", 29.30/8.42 null 29.30/8.42 ], 29.30/8.42 [ 29.30/8.42 "(member X (. X2 Xs))", 29.30/8.42 "(member X Xs)" 29.30/8.42 ] 29.30/8.42 ] 29.30/8.42 }, 29.30/8.42 "graph": { 29.30/8.42 "nodes": { 29.30/8.42 "23": { 29.30/8.42 "goal": [{ 29.30/8.42 "clause": 0, 29.30/8.42 "scope": 1, 29.30/8.42 "term": "(color_map T1 T2)" 29.30/8.42 }], 29.30/8.42 "kb": { 29.30/8.42 "nonunifying": [], 29.30/8.42 "intvars": {}, 29.30/8.42 "arithmetic": { 29.30/8.42 "type": "PlainIntegerRelationState", 29.30/8.42 "relations": [] 29.30/8.42 }, 29.30/8.42 "ground": ["T2"], 29.30/8.42 "free": [], 29.30/8.42 "exprvars": [] 29.30/8.42 } 29.30/8.42 }, 29.30/8.42 "24": { 29.30/8.42 "goal": [{ 29.30/8.42 "clause": 1, 29.30/8.42 "scope": 1, 29.30/8.42 "term": "(color_map T1 T2)" 29.30/8.42 }], 29.30/8.42 "kb": { 29.30/8.42 "nonunifying": [], 29.30/8.42 "intvars": {}, 29.30/8.42 "arithmetic": { 29.30/8.42 "type": "PlainIntegerRelationState", 29.30/8.42 "relations": [] 29.30/8.42 }, 29.30/8.42 "ground": ["T2"], 29.30/8.42 "free": [], 29.30/8.42 "exprvars": [] 29.30/8.42 } 29.30/8.42 }, 29.30/8.42 "390": { 29.30/8.42 "goal": [], 29.30/8.42 "kb": { 29.30/8.42 "nonunifying": [], 29.30/8.42 "intvars": {}, 29.30/8.42 "arithmetic": { 29.30/8.42 "type": "PlainIntegerRelationState", 29.30/8.42 "relations": [] 29.30/8.42 }, 29.30/8.42 "ground": [], 29.30/8.42 "free": [], 29.30/8.42 "exprvars": [] 29.30/8.42 } 29.30/8.42 }, 29.30/8.42 "490": { 29.30/8.42 "goal": [], 29.30/8.42 "kb": { 29.30/8.42 "nonunifying": [], 29.30/8.42 "intvars": {}, 29.30/8.42 "arithmetic": { 29.30/8.42 "type": "PlainIntegerRelationState", 29.30/8.42 "relations": [] 29.30/8.42 }, 29.30/8.42 "ground": [], 29.30/8.42 "free": [], 29.30/8.42 "exprvars": [] 29.30/8.42 } 29.30/8.42 }, 29.30/8.42 "type": "Nodes", 29.30/8.42 "393": { 29.30/8.42 "goal": [{ 29.30/8.42 "clause": -1, 29.30/8.42 "scope": -1, 29.30/8.42 "term": "(select T72 T71 X74)" 29.30/8.42 }], 29.30/8.42 "kb": { 29.30/8.42 "nonunifying": [], 29.30/8.42 "intvars": {}, 29.30/8.42 "arithmetic": { 29.30/8.42 "type": "PlainIntegerRelationState", 29.30/8.42 "relations": [] 29.30/8.42 }, 29.30/8.42 "ground": ["T71"], 29.30/8.42 "free": ["X74"], 29.30/8.42 "exprvars": [] 29.30/8.42 } 29.30/8.42 }, 29.30/8.42 "470": { 29.30/8.42 "goal": [{ 29.30/8.42 "clause": -1, 29.30/8.42 "scope": -1, 29.30/8.42 "term": "(',' (member T95 T94) (members T96 T94))" 29.30/8.42 }], 29.30/8.42 "kb": { 29.30/8.42 "nonunifying": [], 29.30/8.42 "intvars": {}, 29.30/8.42 "arithmetic": { 29.30/8.42 "type": "PlainIntegerRelationState", 29.30/8.42 "relations": [] 29.30/8.42 }, 29.30/8.42 "ground": ["T94"], 29.30/8.42 "free": [], 29.30/8.42 "exprvars": [] 29.30/8.42 } 29.30/8.42 }, 29.30/8.42 "196": { 29.30/8.42 "goal": [{ 29.30/8.42 "clause": -1, 29.30/8.42 "scope": -1, 29.30/8.42 "term": "(color_region T18 T17)" 29.30/8.42 }], 29.30/8.42 "kb": { 29.30/8.42 "nonunifying": [], 29.30/8.42 "intvars": {}, 29.30/8.42 "arithmetic": { 29.30/8.42 "type": "PlainIntegerRelationState", 29.30/8.42 "relations": [] 29.30/8.42 }, 29.30/8.42 "ground": ["T17"], 29.30/8.42 "free": [], 29.30/8.42 "exprvars": [] 29.30/8.42 } 29.30/8.42 }, 29.30/8.42 "394": { 29.30/8.42 "goal": [], 29.30/8.42 "kb": { 29.30/8.42 "nonunifying": [], 29.30/8.42 "intvars": {}, 29.30/8.42 "arithmetic": { 29.30/8.42 "type": "PlainIntegerRelationState", 29.30/8.42 "relations": [] 29.30/8.42 }, 29.30/8.42 "ground": [], 29.30/8.42 "free": [], 29.30/8.42 "exprvars": [] 29.30/8.42 } 29.30/8.42 }, 29.30/8.42 "471": { 29.30/8.42 "goal": [], 29.30/8.42 "kb": { 29.30/8.42 "nonunifying": [], 29.30/8.42 "intvars": {}, 29.30/8.42 "arithmetic": { 29.30/8.42 "type": "PlainIntegerRelationState", 29.30/8.42 "relations": [] 29.30/8.42 }, 29.30/8.42 "ground": [], 29.30/8.42 "free": [], 29.30/8.42 "exprvars": [] 29.30/8.42 } 29.30/8.42 }, 29.30/8.42 "493": { 29.30/8.42 "goal": [{ 29.30/8.42 "clause": -1, 29.30/8.42 "scope": -1, 29.30/8.42 "term": "(true)" 29.30/8.42 }], 29.30/8.42 "kb": { 29.30/8.42 "nonunifying": [], 29.30/8.42 "intvars": {}, 29.30/8.42 "arithmetic": { 29.30/8.42 "type": "PlainIntegerRelationState", 29.30/8.42 "relations": [] 29.30/8.42 }, 29.30/8.42 "ground": [], 29.30/8.42 "free": [], 29.30/8.42 "exprvars": [] 29.30/8.42 } 29.30/8.42 }, 29.30/8.42 "472": { 29.30/8.42 "goal": [{ 29.30/8.42 "clause": -1, 29.30/8.42 "scope": -1, 29.30/8.42 "term": "(member T95 T94)" 29.30/8.42 }], 29.30/8.42 "kb": { 29.30/8.42 "nonunifying": [], 29.30/8.42 "intvars": {}, 29.30/8.42 "arithmetic": { 29.30/8.42 "type": "PlainIntegerRelationState", 29.30/8.42 "relations": [] 29.30/8.42 }, 29.30/8.42 "ground": ["T94"], 29.30/8.42 "free": [], 29.30/8.42 "exprvars": [] 29.30/8.42 } 29.30/8.42 }, 29.30/8.42 "494": { 29.30/8.42 "goal": [], 29.30/8.42 "kb": { 29.30/8.42 "nonunifying": [], 29.30/8.42 "intvars": {}, 29.30/8.42 "arithmetic": { 29.30/8.42 "type": "PlainIntegerRelationState", 29.30/8.42 "relations": [] 29.30/8.42 }, 29.30/8.42 "ground": [], 29.30/8.42 "free": [], 29.30/8.42 "exprvars": [] 29.30/8.42 } 29.30/8.42 }, 29.30/8.42 "352": { 29.30/8.42 "goal": [{ 29.30/8.42 "clause": -1, 29.30/8.42 "scope": -1, 29.30/8.42 "term": "(',' (select T41 T40 X41) (members T42 X41))" 29.30/8.42 }], 29.30/8.42 "kb": { 29.30/8.42 "nonunifying": [], 29.30/8.42 "intvars": {}, 29.30/8.42 "arithmetic": { 29.30/8.42 "type": "PlainIntegerRelationState", 29.30/8.42 "relations": [] 29.30/8.42 }, 29.30/8.42 "ground": ["T40"], 29.30/8.42 "free": ["X41"], 29.30/8.42 "exprvars": [] 29.30/8.42 } 29.30/8.42 }, 29.30/8.42 "473": { 29.30/8.42 "goal": [{ 29.30/8.42 "clause": -1, 29.30/8.42 "scope": -1, 29.30/8.42 "term": "(members T101 T94)" 29.30/8.42 }], 29.30/8.42 "kb": { 29.30/8.42 "nonunifying": [], 29.30/8.42 "intvars": {}, 29.30/8.42 "arithmetic": { 29.30/8.42 "type": "PlainIntegerRelationState", 29.30/8.42 "relations": [] 29.30/8.42 }, 29.30/8.42 "ground": ["T94"], 29.30/8.42 "free": [], 29.30/8.42 "exprvars": [] 29.30/8.42 } 29.30/8.42 }, 29.30/8.42 "495": { 29.30/8.42 "goal": [], 29.30/8.42 "kb": { 29.30/8.42 "nonunifying": [], 29.30/8.42 "intvars": {}, 29.30/8.42 "arithmetic": { 29.30/8.42 "type": "PlainIntegerRelationState", 29.30/8.42 "relations": [] 29.30/8.42 }, 29.30/8.42 "ground": [], 29.30/8.42 "free": [], 29.30/8.42 "exprvars": [] 29.30/8.42 } 29.30/8.42 }, 29.30/8.42 "474": { 29.30/8.42 "goal": [ 29.30/8.42 { 29.30/8.42 "clause": 7, 29.30/8.42 "scope": 5, 29.30/8.42 "term": "(member T95 T94)" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "clause": 8, 29.30/8.42 "scope": 5, 29.30/8.42 "term": "(member T95 T94)" 29.30/8.42 } 29.30/8.42 ], 29.30/8.42 "kb": { 29.30/8.42 "nonunifying": [], 29.30/8.42 "intvars": {}, 29.30/8.42 "arithmetic": { 29.30/8.42 "type": "PlainIntegerRelationState", 29.30/8.42 "relations": [] 29.30/8.42 }, 29.30/8.42 "ground": ["T94"], 29.30/8.42 "free": [], 29.30/8.42 "exprvars": [] 29.30/8.42 } 29.30/8.42 }, 29.30/8.42 "354": { 29.30/8.42 "goal": [], 29.30/8.42 "kb": { 29.30/8.42 "nonunifying": [], 29.30/8.42 "intvars": {}, 29.30/8.42 "arithmetic": { 29.30/8.42 "type": "PlainIntegerRelationState", 29.30/8.42 "relations": [] 29.30/8.42 }, 29.30/8.42 "ground": [], 29.30/8.42 "free": [], 29.30/8.42 "exprvars": [] 29.30/8.42 } 29.30/8.42 }, 29.30/8.42 "475": { 29.30/8.42 "goal": [{ 29.30/8.42 "clause": 7, 29.30/8.42 "scope": 5, 29.30/8.42 "term": "(member T95 T94)" 29.30/8.42 }], 29.30/8.42 "kb": { 29.30/8.42 "nonunifying": [], 29.30/8.42 "intvars": {}, 29.30/8.42 "arithmetic": { 29.30/8.42 "type": "PlainIntegerRelationState", 29.30/8.42 "relations": [] 29.30/8.42 }, 29.30/8.42 "ground": ["T94"], 29.30/8.42 "free": [], 29.30/8.42 "exprvars": [] 29.30/8.42 } 29.30/8.42 }, 29.30/8.42 "476": { 29.30/8.42 "goal": [{ 29.30/8.42 "clause": 8, 29.30/8.42 "scope": 5, 29.30/8.42 "term": "(member T95 T94)" 29.30/8.42 }], 29.30/8.42 "kb": { 29.30/8.42 "nonunifying": [], 29.30/8.42 "intvars": {}, 29.30/8.42 "arithmetic": { 29.30/8.42 "type": "PlainIntegerRelationState", 29.30/8.42 "relations": [] 29.30/8.42 }, 29.30/8.42 "ground": ["T94"], 29.30/8.42 "free": [], 29.30/8.42 "exprvars": [] 29.30/8.42 } 29.30/8.42 }, 29.30/8.42 "114": { 29.30/8.42 "goal": [], 29.30/8.42 "kb": { 29.30/8.42 "nonunifying": [], 29.30/8.42 "intvars": {}, 29.30/8.42 "arithmetic": { 29.30/8.42 "type": "PlainIntegerRelationState", 29.30/8.42 "relations": [] 29.30/8.42 }, 29.30/8.42 "ground": [], 29.30/8.42 "free": [], 29.30/8.42 "exprvars": [] 29.30/8.42 } 29.30/8.42 }, 29.30/8.42 "477": { 29.30/8.42 "goal": [{ 29.30/8.42 "clause": -1, 29.30/8.42 "scope": -1, 29.30/8.42 "term": "(true)" 29.30/8.42 }], 29.30/8.42 "kb": { 29.30/8.42 "nonunifying": [], 29.30/8.42 "intvars": {}, 29.30/8.42 "arithmetic": { 29.30/8.42 "type": "PlainIntegerRelationState", 29.30/8.42 "relations": [] 29.30/8.42 }, 29.30/8.42 "ground": [], 29.30/8.42 "free": [], 29.30/8.42 "exprvars": [] 29.30/8.42 } 29.30/8.42 }, 29.30/8.42 "379": { 29.30/8.42 "goal": [{ 29.30/8.42 "clause": 3, 29.30/8.42 "scope": 3, 29.30/8.42 "term": "(select T41 T40 X41)" 29.30/8.42 }], 29.30/8.42 "kb": { 29.30/8.42 "nonunifying": [], 29.30/8.42 "intvars": {}, 29.30/8.42 "arithmetic": { 29.30/8.42 "type": "PlainIntegerRelationState", 29.30/8.42 "relations": [] 29.30/8.42 }, 29.30/8.42 "ground": ["T40"], 29.30/8.42 "free": ["X41"], 29.30/8.42 "exprvars": [] 29.30/8.42 } 29.30/8.42 }, 29.30/8.42 "478": { 29.30/8.42 "goal": [], 29.30/8.42 "kb": { 29.30/8.42 "nonunifying": [], 29.30/8.42 "intvars": {}, 29.30/8.42 "arithmetic": { 29.30/8.42 "type": "PlainIntegerRelationState", 29.30/8.42 "relations": [] 29.30/8.42 }, 29.30/8.42 "ground": [], 29.30/8.42 "free": [], 29.30/8.42 "exprvars": [] 29.30/8.42 } 29.30/8.42 }, 29.30/8.42 "479": { 29.30/8.42 "goal": [], 29.30/8.42 "kb": { 29.30/8.42 "nonunifying": [], 29.30/8.42 "intvars": {}, 29.30/8.42 "arithmetic": { 29.30/8.42 "type": "PlainIntegerRelationState", 29.30/8.42 "relations": [] 29.30/8.42 }, 29.30/8.42 "ground": [], 29.30/8.42 "free": [], 29.30/8.42 "exprvars": [] 29.30/8.42 } 29.30/8.42 }, 29.30/8.42 "359": { 29.30/8.42 "goal": [{ 29.30/8.42 "clause": -1, 29.30/8.42 "scope": -1, 29.30/8.42 "term": "(select T41 T40 X41)" 29.30/8.42 }], 29.30/8.42 "kb": { 29.30/8.42 "nonunifying": [], 29.30/8.42 "intvars": {}, 29.30/8.42 "arithmetic": { 29.30/8.42 "type": "PlainIntegerRelationState", 29.30/8.42 "relations": [] 29.30/8.42 }, 29.30/8.42 "ground": ["T40"], 29.30/8.42 "free": ["X41"], 29.30/8.42 "exprvars": [] 29.30/8.42 } 29.30/8.42 }, 29.30/8.42 "318": { 29.30/8.42 "goal": [{ 29.30/8.42 "clause": 2, 29.30/8.42 "scope": 2, 29.30/8.42 "term": "(color_region T18 T17)" 29.30/8.42 }], 29.30/8.42 "kb": { 29.30/8.42 "nonunifying": [], 29.30/8.42 "intvars": {}, 29.30/8.42 "arithmetic": { 29.30/8.42 "type": "PlainIntegerRelationState", 29.30/8.42 "relations": [] 29.30/8.42 }, 29.30/8.42 "ground": ["T17"], 29.30/8.42 "free": [], 29.30/8.42 "exprvars": [] 29.30/8.42 } 29.30/8.42 }, 29.30/8.42 "380": { 29.30/8.42 "goal": [{ 29.30/8.42 "clause": 4, 29.30/8.42 "scope": 3, 29.30/8.42 "term": "(select T41 T40 X41)" 29.30/8.42 }], 29.30/8.42 "kb": { 29.30/8.42 "nonunifying": [], 29.30/8.42 "intvars": {}, 29.30/8.42 "arithmetic": { 29.30/8.42 "type": "PlainIntegerRelationState", 29.30/8.42 "relations": [] 29.30/8.42 }, 29.30/8.42 "ground": ["T40"], 29.30/8.42 "free": ["X41"], 29.30/8.42 "exprvars": [] 29.30/8.42 } 29.30/8.42 }, 29.30/8.42 "480": { 29.30/8.42 "goal": [{ 29.30/8.42 "clause": -1, 29.30/8.42 "scope": -1, 29.30/8.42 "term": "(member T125 T124)" 29.30/8.42 }], 29.30/8.42 "kb": { 29.30/8.42 "nonunifying": [], 29.30/8.42 "intvars": {}, 29.30/8.42 "arithmetic": { 29.30/8.42 "type": "PlainIntegerRelationState", 29.30/8.42 "relations": [] 29.30/8.42 }, 29.30/8.42 "ground": ["T124"], 29.30/8.42 "free": [], 29.30/8.42 "exprvars": [] 29.30/8.42 } 29.30/8.42 }, 29.30/8.42 "360": { 29.30/8.42 "goal": [{ 29.30/8.42 "clause": -1, 29.30/8.42 "scope": -1, 29.30/8.42 "term": "(members T48 T47)" 29.30/8.42 }], 29.30/8.42 "kb": { 29.30/8.42 "nonunifying": [], 29.30/8.42 "intvars": {}, 29.30/8.42 "arithmetic": { 29.30/8.42 "type": "PlainIntegerRelationState", 29.30/8.42 "relations": [] 29.30/8.42 }, 29.30/8.42 "ground": ["T47"], 29.30/8.42 "free": [], 29.30/8.42 "exprvars": [] 29.30/8.42 } 29.30/8.42 }, 29.30/8.42 "481": { 29.30/8.42 "goal": [], 29.30/8.42 "kb": { 29.30/8.42 "nonunifying": [], 29.30/8.42 "intvars": {}, 29.30/8.42 "arithmetic": { 29.30/8.42 "type": "PlainIntegerRelationState", 29.30/8.42 "relations": [] 29.30/8.42 }, 29.30/8.42 "ground": [], 29.30/8.42 "free": [], 29.30/8.42 "exprvars": [] 29.30/8.42 } 29.30/8.42 }, 29.30/8.42 "364": { 29.30/8.42 "goal": [ 29.30/8.42 { 29.30/8.42 "clause": 3, 29.30/8.42 "scope": 3, 29.30/8.42 "term": "(select T41 T40 X41)" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "clause": 4, 29.30/8.42 "scope": 3, 29.30/8.42 "term": "(select T41 T40 X41)" 29.30/8.42 } 29.30/8.42 ], 29.30/8.42 "kb": { 29.30/8.42 "nonunifying": [], 29.30/8.42 "intvars": {}, 29.30/8.42 "arithmetic": { 29.30/8.42 "type": "PlainIntegerRelationState", 29.30/8.42 "relations": [] 29.30/8.42 }, 29.30/8.42 "ground": ["T40"], 29.30/8.42 "free": ["X41"], 29.30/8.42 "exprvars": [] 29.30/8.42 } 29.30/8.42 }, 29.30/8.42 "387": { 29.30/8.42 "goal": [{ 29.30/8.42 "clause": -1, 29.30/8.42 "scope": -1, 29.30/8.42 "term": "(true)" 29.30/8.42 }], 29.30/8.42 "kb": { 29.30/8.42 "nonunifying": [], 29.30/8.42 "intvars": {}, 29.30/8.42 "arithmetic": { 29.30/8.42 "type": "PlainIntegerRelationState", 29.30/8.42 "relations": [] 29.30/8.42 }, 29.30/8.42 "ground": [], 29.30/8.42 "free": [], 29.30/8.42 "exprvars": [] 29.30/8.42 } 29.30/8.42 }, 29.30/8.42 "3": { 29.30/8.42 "goal": [{ 29.30/8.42 "clause": -1, 29.30/8.42 "scope": -1, 29.30/8.42 "term": "(color_map T1 T2)" 29.30/8.42 }], 29.30/8.42 "kb": { 29.30/8.42 "nonunifying": [], 29.30/8.42 "intvars": {}, 29.30/8.42 "arithmetic": { 29.30/8.42 "type": "PlainIntegerRelationState", 29.30/8.42 "relations": [] 29.30/8.42 }, 29.30/8.42 "ground": ["T2"], 29.30/8.42 "free": [], 29.30/8.42 "exprvars": [] 29.30/8.42 } 29.30/8.42 }, 29.30/8.42 "465": { 29.30/8.42 "goal": [{ 29.30/8.42 "clause": 5, 29.30/8.42 "scope": 4, 29.30/8.42 "term": "(members T48 T47)" 29.30/8.42 }], 29.30/8.42 "kb": { 29.30/8.42 "nonunifying": [], 29.30/8.42 "intvars": {}, 29.30/8.42 "arithmetic": { 29.30/8.42 "type": "PlainIntegerRelationState", 29.30/8.42 "relations": [] 29.30/8.42 }, 29.30/8.42 "ground": ["T47"], 29.30/8.42 "free": [], 29.30/8.42 "exprvars": [] 29.30/8.42 } 29.30/8.42 }, 29.30/8.42 "487": { 29.30/8.42 "goal": [{ 29.30/8.42 "clause": -1, 29.30/8.42 "scope": -1, 29.30/8.42 "term": "(true)" 29.30/8.42 }], 29.30/8.42 "kb": { 29.30/8.42 "nonunifying": [], 29.30/8.42 "intvars": {}, 29.30/8.42 "arithmetic": { 29.30/8.42 "type": "PlainIntegerRelationState", 29.30/8.42 "relations": [] 29.30/8.42 }, 29.30/8.42 "ground": [], 29.30/8.42 "free": [], 29.30/8.42 "exprvars": [] 29.30/8.42 } 29.30/8.42 }, 29.30/8.42 "389": { 29.30/8.42 "goal": [], 29.30/8.42 "kb": { 29.30/8.42 "nonunifying": [], 29.30/8.42 "intvars": {}, 29.30/8.42 "arithmetic": { 29.30/8.42 "type": "PlainIntegerRelationState", 29.30/8.42 "relations": [] 29.30/8.42 }, 29.30/8.42 "ground": [], 29.30/8.42 "free": [], 29.30/8.42 "exprvars": [] 29.30/8.42 } 29.30/8.42 }, 29.30/8.42 "466": { 29.30/8.42 "goal": [{ 29.30/8.42 "clause": 6, 29.30/8.42 "scope": 4, 29.30/8.42 "term": "(members T48 T47)" 29.30/8.42 }], 29.30/8.42 "kb": { 29.30/8.42 "nonunifying": [], 29.30/8.42 "intvars": {}, 29.30/8.42 "arithmetic": { 29.30/8.42 "type": "PlainIntegerRelationState", 29.30/8.42 "relations": [] 29.30/8.42 }, 29.30/8.42 "ground": ["T47"], 29.30/8.42 "free": [], 29.30/8.42 "exprvars": [] 29.30/8.42 } 29.30/8.42 }, 29.30/8.42 "203": { 29.30/8.42 "goal": [{ 29.30/8.42 "clause": -1, 29.30/8.42 "scope": -1, 29.30/8.42 "term": "(color_map T24 T17)" 29.30/8.42 }], 29.30/8.42 "kb": { 29.30/8.42 "nonunifying": [], 29.30/8.42 "intvars": {}, 29.30/8.42 "arithmetic": { 29.30/8.42 "type": "PlainIntegerRelationState", 29.30/8.42 "relations": [] 29.30/8.42 }, 29.30/8.42 "ground": ["T17"], 29.30/8.42 "free": [], 29.30/8.42 "exprvars": [] 29.30/8.42 } 29.30/8.42 }, 29.30/8.42 "445": { 29.30/8.42 "goal": [ 29.30/8.42 { 29.30/8.42 "clause": 5, 29.30/8.42 "scope": 4, 29.30/8.42 "term": "(members T48 T47)" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "clause": 6, 29.30/8.42 "scope": 4, 29.30/8.42 "term": "(members T48 T47)" 29.30/8.42 } 29.30/8.42 ], 29.30/8.42 "kb": { 29.30/8.42 "nonunifying": [], 29.30/8.42 "intvars": {}, 29.30/8.42 "arithmetic": { 29.30/8.42 "type": "PlainIntegerRelationState", 29.30/8.42 "relations": [] 29.30/8.42 }, 29.30/8.42 "ground": ["T47"], 29.30/8.42 "free": [], 29.30/8.42 "exprvars": [] 29.30/8.42 } 29.30/8.42 }, 29.30/8.42 "489": { 29.30/8.42 "goal": [], 29.30/8.42 "kb": { 29.30/8.42 "nonunifying": [], 29.30/8.42 "intvars": {}, 29.30/8.42 "arithmetic": { 29.30/8.42 "type": "PlainIntegerRelationState", 29.30/8.42 "relations": [] 29.30/8.42 }, 29.30/8.42 "ground": [], 29.30/8.42 "free": [], 29.30/8.42 "exprvars": [] 29.30/8.42 } 29.30/8.42 }, 29.30/8.42 "105": { 29.30/8.42 "goal": [{ 29.30/8.42 "clause": -1, 29.30/8.42 "scope": -1, 29.30/8.42 "term": "(',' (color_region T18 T17) (color_map T19 T17))" 29.30/8.42 }], 29.30/8.42 "kb": { 29.30/8.42 "nonunifying": [], 29.30/8.42 "intvars": {}, 29.30/8.42 "arithmetic": { 29.30/8.42 "type": "PlainIntegerRelationState", 29.30/8.42 "relations": [] 29.30/8.42 }, 29.30/8.42 "ground": ["T17"], 29.30/8.42 "free": [], 29.30/8.42 "exprvars": [] 29.30/8.42 } 29.30/8.42 }, 29.30/8.42 "9": { 29.30/8.42 "goal": [ 29.30/8.42 { 29.30/8.42 "clause": 0, 29.30/8.42 "scope": 1, 29.30/8.42 "term": "(color_map T1 T2)" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "clause": 1, 29.30/8.42 "scope": 1, 29.30/8.42 "term": "(color_map T1 T2)" 29.30/8.42 } 29.30/8.42 ], 29.30/8.42 "kb": { 29.30/8.42 "nonunifying": [], 29.30/8.42 "intvars": {}, 29.30/8.42 "arithmetic": { 29.30/8.42 "type": "PlainIntegerRelationState", 29.30/8.42 "relations": [] 29.30/8.42 }, 29.30/8.42 "ground": ["T2"], 29.30/8.42 "free": [], 29.30/8.42 "exprvars": [] 29.30/8.42 } 29.30/8.42 } 29.30/8.42 }, 29.30/8.42 "edges": [ 29.30/8.42 { 29.30/8.42 "from": 3, 29.30/8.42 "to": 9, 29.30/8.42 "label": "CASE" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 9, 29.30/8.42 "to": 23, 29.30/8.42 "label": "PARALLEL" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 9, 29.30/8.42 "to": 24, 29.30/8.42 "label": "PARALLEL" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 23, 29.30/8.42 "to": 105, 29.30/8.42 "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" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 23, 29.30/8.42 "to": 114, 29.30/8.42 "label": "EVAL-BACKTRACK" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 24, 29.30/8.42 "to": 493, 29.30/8.42 "label": "EVAL with clause\ncolor_map([], X139).\nand substitutionT1 -> [],\nT2 -> T141,\nX139 -> T141" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 24, 29.30/8.42 "to": 494, 29.30/8.42 "label": "EVAL-BACKTRACK" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 105, 29.30/8.42 "to": 196, 29.30/8.42 "label": "SPLIT 1" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 105, 29.30/8.42 "to": 203, 29.30/8.42 "label": "SPLIT 2\nnew knowledge:\nT17 is ground\nreplacements:T19 -> T24" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 196, 29.30/8.42 "to": 318, 29.30/8.42 "label": "CASE" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 203, 29.30/8.42 "to": 3, 29.30/8.42 "label": "INSTANCE with matching:\nT1 -> T24\nT2 -> T17" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 318, 29.30/8.42 "to": 352, 29.30/8.42 "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" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 318, 29.30/8.42 "to": 354, 29.30/8.42 "label": "EVAL-BACKTRACK" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 352, 29.30/8.42 "to": 359, 29.30/8.42 "label": "SPLIT 1" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 352, 29.30/8.42 "to": 360, 29.30/8.42 "label": "SPLIT 2\nnew knowledge:\nT41 is ground\nT40 is ground\nT47 is ground\nreplacements:X41 -> T47,\nT42 -> T48" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 359, 29.30/8.42 "to": 364, 29.30/8.42 "label": "CASE" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 360, 29.30/8.42 "to": 445, 29.30/8.42 "label": "CASE" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 364, 29.30/8.42 "to": 379, 29.30/8.42 "label": "PARALLEL" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 364, 29.30/8.42 "to": 380, 29.30/8.42 "label": "PARALLEL" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 379, 29.30/8.42 "to": 387, 29.30/8.42 "label": "EVAL with clause\nselect(X58, .(X58, X59), X59).\nand substitutionT41 -> T61,\nX58 -> T61,\nX59 -> T62,\nT40 -> .(T61, T62),\nX41 -> T62" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 379, 29.30/8.42 "to": 389, 29.30/8.42 "label": "EVAL-BACKTRACK" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 380, 29.30/8.42 "to": 393, 29.30/8.42 "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" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 380, 29.30/8.42 "to": 394, 29.30/8.42 "label": "EVAL-BACKTRACK" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 387, 29.30/8.42 "to": 390, 29.30/8.42 "label": "SUCCESS" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 393, 29.30/8.42 "to": 359, 29.30/8.42 "label": "INSTANCE with matching:\nT41 -> T72\nT40 -> T71\nX41 -> X74" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 445, 29.30/8.42 "to": 465, 29.30/8.42 "label": "PARALLEL" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 445, 29.30/8.42 "to": 466, 29.30/8.42 "label": "PARALLEL" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 465, 29.30/8.42 "to": 470, 29.30/8.42 "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" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 465, 29.30/8.42 "to": 471, 29.30/8.42 "label": "EVAL-BACKTRACK" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 466, 29.30/8.42 "to": 487, 29.30/8.42 "label": "EVAL with clause\nmembers([], X133).\nand substitutionT48 -> [],\nT47 -> T135,\nX133 -> T135" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 466, 29.30/8.42 "to": 489, 29.30/8.42 "label": "EVAL-BACKTRACK" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 470, 29.30/8.42 "to": 472, 29.30/8.42 "label": "SPLIT 1" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 470, 29.30/8.42 "to": 473, 29.30/8.42 "label": "SPLIT 2\nnew knowledge:\nT95 is ground\nT94 is ground\nreplacements:T96 -> T101" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 472, 29.30/8.42 "to": 474, 29.30/8.42 "label": "CASE" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 473, 29.30/8.42 "to": 360, 29.30/8.42 "label": "INSTANCE with matching:\nT48 -> T101\nT47 -> T94" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 474, 29.30/8.42 "to": 475, 29.30/8.42 "label": "PARALLEL" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 474, 29.30/8.42 "to": 476, 29.30/8.42 "label": "PARALLEL" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 475, 29.30/8.42 "to": 477, 29.30/8.42 "label": "EVAL with clause\nmember(X113, .(X113, X114)).\nand substitutionT95 -> T114,\nX113 -> T114,\nX114 -> T115,\nT94 -> .(T114, T115)" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 475, 29.30/8.42 "to": 478, 29.30/8.42 "label": "EVAL-BACKTRACK" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 476, 29.30/8.42 "to": 480, 29.30/8.42 "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" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 476, 29.30/8.42 "to": 481, 29.30/8.42 "label": "EVAL-BACKTRACK" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 477, 29.30/8.42 "to": 479, 29.30/8.42 "label": "SUCCESS" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 480, 29.30/8.42 "to": 472, 29.30/8.42 "label": "INSTANCE with matching:\nT95 -> T125\nT94 -> T124" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 487, 29.30/8.42 "to": 490, 29.30/8.42 "label": "SUCCESS" 29.30/8.42 }, 29.30/8.42 { 29.30/8.42 "from": 493, 29.30/8.42 "to": 495, 29.30/8.42 "label": "SUCCESS" 29.30/8.42 } 29.30/8.42 ], 29.30/8.42 "type": "Graph" 29.30/8.42 } 29.30/8.42 } 29.30/8.42 29.30/8.42 ---------------------------------------- 29.30/8.42 29.30/8.42 (114) 29.30/8.42 Complex Obligation (AND) 29.30/8.42 29.30/8.42 ---------------------------------------- 29.30/8.42 29.30/8.42 (115) 29.30/8.42 Obligation: 29.30/8.42 Rules: 29.30/8.42 f474_in(T94) -> f475_in(T94) :|: TRUE 29.30/8.42 f475_out(x) -> f474_out(x) :|: TRUE 29.30/8.42 f476_out(x1) -> f474_out(x1) :|: TRUE 29.30/8.42 f474_in(x2) -> f476_in(x2) :|: TRUE 29.30/8.42 f481_out -> f476_out(x3) :|: TRUE 29.30/8.42 f476_in(x4) -> f481_in :|: TRUE 29.30/8.42 f476_in(.(T123, T124)) -> f480_in(T124) :|: TRUE 29.30/8.42 f480_out(x5) -> f476_out(.(x6, x5)) :|: TRUE 29.30/8.42 f472_in(x7) -> f474_in(x7) :|: TRUE 29.30/8.42 f474_out(x8) -> f472_out(x8) :|: TRUE 29.30/8.42 f472_out(x9) -> f480_out(x9) :|: TRUE 29.30/8.42 f480_in(x10) -> f472_in(x10) :|: TRUE 29.30/8.42 f9_out(T2) -> f3_out(T2) :|: TRUE 29.30/8.42 f3_in(x11) -> f9_in(x11) :|: TRUE 29.30/8.42 f24_out(x12) -> f9_out(x12) :|: TRUE 29.30/8.42 f23_out(x13) -> f9_out(x13) :|: TRUE 29.30/8.42 f9_in(x14) -> f23_in(x14) :|: TRUE 29.30/8.42 f9_in(x15) -> f24_in(x15) :|: TRUE 29.30/8.42 f23_in(T17) -> f105_in(T17) :|: TRUE 29.30/8.42 f23_in(x16) -> f114_in :|: TRUE 29.30/8.42 f105_out(x17) -> f23_out(x17) :|: TRUE 29.30/8.42 f114_out -> f23_out(x18) :|: TRUE 29.30/8.42 f105_in(x19) -> f196_in(x19) :|: TRUE 29.30/8.42 f196_out(x20) -> f203_in(x20) :|: TRUE 29.30/8.42 f203_out(x21) -> f105_out(x21) :|: TRUE 29.30/8.42 f196_in(x22) -> f318_in(x22) :|: TRUE 29.30/8.42 f318_out(x23) -> f196_out(x23) :|: TRUE 29.30/8.42 f352_out(T40) -> f318_out(T40) :|: TRUE 29.30/8.42 f318_in(x24) -> f352_in(x24) :|: TRUE 29.30/8.42 f354_out -> f318_out(x25) :|: TRUE 29.30/8.42 f318_in(x26) -> f354_in :|: TRUE 29.30/8.42 f352_in(x27) -> f359_in(x27) :|: TRUE 29.30/8.42 f359_out(x28) -> f360_in(x29) :|: TRUE 29.30/8.42 f360_out(x30) -> f352_out(x31) :|: TRUE 29.30/8.42 f445_out(T47) -> f360_out(T47) :|: TRUE 29.30/8.42 f360_in(x32) -> f445_in(x32) :|: TRUE 29.30/8.42 f466_out(x33) -> f445_out(x33) :|: TRUE 29.30/8.42 f445_in(x34) -> f465_in(x34) :|: TRUE 29.30/8.42 f465_out(x35) -> f445_out(x35) :|: TRUE 29.30/8.42 f445_in(x36) -> f466_in(x36) :|: TRUE 29.30/8.42 f465_in(x37) -> f470_in(x37) :|: TRUE 29.30/8.42 f470_out(x38) -> f465_out(x38) :|: TRUE 29.30/8.42 f471_out -> f465_out(x39) :|: TRUE 29.30/8.42 f465_in(x40) -> f471_in :|: TRUE 29.30/8.42 f472_out(x41) -> f473_in(x41) :|: TRUE 29.30/8.42 f470_in(x42) -> f472_in(x42) :|: TRUE 29.30/8.42 f473_out(x43) -> f470_out(x43) :|: TRUE 29.30/8.42 Start term: f3_in(T2) 29.30/8.42 29.30/8.42 ---------------------------------------- 29.30/8.42 29.30/8.42 (116) IRSwTSimpleDependencyGraphProof (EQUIVALENT) 29.30/8.42 Constructed simple dependency graph. 29.30/8.42 29.30/8.42 Simplified to the following IRSwTs: 29.30/8.42 29.30/8.42 29.30/8.42 ---------------------------------------- 29.30/8.42 29.30/8.42 (117) 29.30/8.42 TRUE 29.30/8.42 29.30/8.42 ---------------------------------------- 29.30/8.42 29.30/8.42 (118) 29.30/8.42 Obligation: 29.30/8.42 Rules: 29.30/8.42 f481_out -> f476_out(T94) :|: TRUE 29.30/8.42 f476_in(x) -> f481_in :|: TRUE 29.30/8.42 f476_in(.(T123, T124)) -> f480_in(T124) :|: TRUE 29.30/8.42 f480_out(x1) -> f476_out(.(x2, x1)) :|: TRUE 29.30/8.42 f472_in(x3) -> f474_in(x3) :|: TRUE 29.30/8.42 f474_out(x4) -> f472_out(x4) :|: TRUE 29.30/8.42 f445_out(T47) -> f360_out(T47) :|: TRUE 29.30/8.42 f360_in(x5) -> f445_in(x5) :|: TRUE 29.30/8.42 f477_in -> f477_out :|: TRUE 29.30/8.42 f465_in(x6) -> f470_in(x6) :|: TRUE 29.30/8.42 f470_out(x7) -> f465_out(x7) :|: TRUE 29.30/8.42 f471_out -> f465_out(x8) :|: TRUE 29.30/8.42 f465_in(x9) -> f471_in :|: TRUE 29.30/8.42 f474_in(x10) -> f475_in(x10) :|: TRUE 29.30/8.42 f475_out(x11) -> f474_out(x11) :|: TRUE 29.30/8.42 f476_out(x12) -> f474_out(x12) :|: TRUE 29.30/8.42 f474_in(x13) -> f476_in(x13) :|: TRUE 29.30/8.42 f472_out(x14) -> f473_in(x14) :|: TRUE 29.30/8.42 f470_in(x15) -> f472_in(x15) :|: TRUE 29.30/8.42 f473_out(x16) -> f470_out(x16) :|: TRUE 29.30/8.42 f466_out(x17) -> f445_out(x17) :|: TRUE 29.30/8.42 f445_in(x18) -> f465_in(x18) :|: TRUE 29.30/8.42 f465_out(x19) -> f445_out(x19) :|: TRUE 29.30/8.42 f445_in(x20) -> f466_in(x20) :|: TRUE 29.30/8.42 f473_in(x21) -> f360_in(x21) :|: TRUE 29.30/8.42 f360_out(x22) -> f473_out(x22) :|: TRUE 29.30/8.42 f472_out(x23) -> f480_out(x23) :|: TRUE 29.30/8.42 f480_in(x24) -> f472_in(x24) :|: TRUE 29.30/8.42 f475_in(.(T114, T115)) -> f477_in :|: TRUE 29.30/8.42 f475_in(x25) -> f478_in :|: TRUE 29.30/8.42 f478_out -> f475_out(x26) :|: TRUE 29.30/8.42 f477_out -> f475_out(.(x27, x28)) :|: TRUE 29.30/8.42 f9_out(T2) -> f3_out(T2) :|: TRUE 29.30/8.42 f3_in(x29) -> f9_in(x29) :|: TRUE 29.30/8.42 f24_out(x30) -> f9_out(x30) :|: TRUE 29.30/8.42 f23_out(x31) -> f9_out(x31) :|: TRUE 29.30/8.42 f9_in(x32) -> f23_in(x32) :|: TRUE 29.30/8.42 f9_in(x33) -> f24_in(x33) :|: TRUE 29.30/8.42 f23_in(T17) -> f105_in(T17) :|: TRUE 29.30/8.42 f23_in(x34) -> f114_in :|: TRUE 29.30/8.42 f105_out(x35) -> f23_out(x35) :|: TRUE 29.30/8.42 f114_out -> f23_out(x36) :|: TRUE 29.30/8.42 f105_in(x37) -> f196_in(x37) :|: TRUE 29.30/8.42 f196_out(x38) -> f203_in(x38) :|: TRUE 29.30/8.42 f203_out(x39) -> f105_out(x39) :|: TRUE 29.30/8.42 f196_in(x40) -> f318_in(x40) :|: TRUE 29.30/8.42 f318_out(x41) -> f196_out(x41) :|: TRUE 29.30/8.42 f352_out(T40) -> f318_out(T40) :|: TRUE 29.30/8.42 f318_in(x42) -> f352_in(x42) :|: TRUE 29.30/8.42 f354_out -> f318_out(x43) :|: TRUE 29.30/8.42 f318_in(x44) -> f354_in :|: TRUE 29.30/8.42 f352_in(x45) -> f359_in(x45) :|: TRUE 29.30/8.42 f359_out(x46) -> f360_in(x47) :|: TRUE 29.30/8.42 f360_out(x48) -> f352_out(x49) :|: TRUE 29.30/8.42 Start term: f3_in(T2) 29.30/8.42 29.30/8.42 ---------------------------------------- 29.30/8.42 29.30/8.42 (119) IRSwTSimpleDependencyGraphProof (EQUIVALENT) 29.30/8.42 Constructed simple dependency graph. 29.30/8.42 29.30/8.42 Simplified to the following IRSwTs: 29.30/8.42 29.30/8.42 29.30/8.42 ---------------------------------------- 29.30/8.42 29.30/8.42 (120) 29.30/8.42 TRUE 29.30/8.42 29.30/8.42 ---------------------------------------- 29.30/8.42 29.30/8.42 (121) 29.30/8.42 Obligation: 29.30/8.42 Rules: 29.30/8.42 f393_in(T71) -> f359_in(T71) :|: TRUE 29.30/8.42 f359_out(x) -> f393_out(x) :|: TRUE 29.30/8.42 f380_in(.(x1, x2)) -> f393_in(x2) :|: TRUE 29.30/8.42 f393_out(x3) -> f380_out(.(x4, x3)) :|: TRUE 29.30/8.42 f380_in(T40) -> f394_in :|: TRUE 29.30/8.42 f394_out -> f380_out(x5) :|: TRUE 29.30/8.42 f380_out(x6) -> f364_out(x6) :|: TRUE 29.30/8.42 f364_in(x7) -> f379_in(x7) :|: TRUE 29.30/8.42 f379_out(x8) -> f364_out(x8) :|: TRUE 29.30/8.42 f364_in(x9) -> f380_in(x9) :|: TRUE 29.30/8.42 f364_out(x10) -> f359_out(x10) :|: TRUE 29.30/8.42 f359_in(x11) -> f364_in(x11) :|: TRUE 29.30/8.42 f9_out(T2) -> f3_out(T2) :|: TRUE 29.30/8.42 f3_in(x12) -> f9_in(x12) :|: TRUE 29.30/8.42 f24_out(x13) -> f9_out(x13) :|: TRUE 29.30/8.42 f23_out(x14) -> f9_out(x14) :|: TRUE 29.30/8.42 f9_in(x15) -> f23_in(x15) :|: TRUE 29.30/8.42 f9_in(x16) -> f24_in(x16) :|: TRUE 29.30/8.42 f23_in(T17) -> f105_in(T17) :|: TRUE 29.30/8.42 f23_in(x17) -> f114_in :|: TRUE 29.30/8.42 f105_out(x18) -> f23_out(x18) :|: TRUE 29.30/8.43 f114_out -> f23_out(x19) :|: TRUE 29.30/8.43 f105_in(x20) -> f196_in(x20) :|: TRUE 29.30/8.43 f196_out(x21) -> f203_in(x21) :|: TRUE 29.30/8.43 f203_out(x22) -> f105_out(x22) :|: TRUE 29.30/8.43 f196_in(x23) -> f318_in(x23) :|: TRUE 29.30/8.43 f318_out(x24) -> f196_out(x24) :|: TRUE 29.30/8.43 f352_out(x25) -> f318_out(x25) :|: TRUE 29.30/8.43 f318_in(x26) -> f352_in(x26) :|: TRUE 29.30/8.43 f354_out -> f318_out(x27) :|: TRUE 29.30/8.43 f318_in(x28) -> f354_in :|: TRUE 29.30/8.43 f352_in(x29) -> f359_in(x29) :|: TRUE 29.30/8.43 f359_out(x30) -> f360_in(x31) :|: TRUE 29.30/8.43 f360_out(x32) -> f352_out(x33) :|: TRUE 29.30/8.43 Start term: f3_in(T2) 29.30/8.43 29.30/8.43 ---------------------------------------- 29.30/8.43 29.30/8.43 (122) IRSwTSimpleDependencyGraphProof (EQUIVALENT) 29.30/8.43 Constructed simple dependency graph. 29.30/8.43 29.30/8.43 Simplified to the following IRSwTs: 29.30/8.43 29.30/8.43 intTRSProblem: 29.30/8.43 f393_in(T71) -> f359_in(T71) :|: TRUE 29.30/8.43 f380_in(.(x1, x2)) -> f393_in(x2) :|: TRUE 29.30/8.43 f364_in(x9) -> f380_in(x9) :|: TRUE 29.30/8.43 f359_in(x11) -> f364_in(x11) :|: TRUE 29.30/8.43 29.30/8.43 29.30/8.43 ---------------------------------------- 29.30/8.43 29.30/8.43 (123) 29.30/8.43 Obligation: 29.30/8.43 Rules: 29.30/8.43 f393_in(T71) -> f359_in(T71) :|: TRUE 29.30/8.43 f380_in(.(x1, x2)) -> f393_in(x2) :|: TRUE 29.30/8.43 f364_in(x9) -> f380_in(x9) :|: TRUE 29.30/8.43 f359_in(x11) -> f364_in(x11) :|: TRUE 29.30/8.43 29.30/8.43 ---------------------------------------- 29.30/8.43 29.30/8.43 (124) IntTRSCompressionProof (EQUIVALENT) 29.30/8.43 Compressed rules. 29.30/8.43 ---------------------------------------- 29.30/8.43 29.30/8.43 (125) 29.30/8.43 Obligation: 29.30/8.43 Rules: 29.30/8.43 f364_in(.(x1:0, x2:0)) -> f364_in(x2:0) :|: TRUE 29.30/8.43 29.30/8.43 ---------------------------------------- 29.30/8.43 29.30/8.43 (126) IRSFormatTransformerProof (EQUIVALENT) 29.30/8.43 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 29.30/8.43 ---------------------------------------- 29.30/8.43 29.30/8.43 (127) 29.30/8.43 Obligation: 29.30/8.43 Rules: 29.30/8.43 f364_in(.(x1:0, x2:0)) -> f364_in(x2:0) :|: TRUE 29.30/8.43 29.30/8.43 ---------------------------------------- 29.30/8.43 29.30/8.43 (128) IRSwTTerminationDigraphProof (EQUIVALENT) 29.30/8.43 Constructed termination digraph! 29.30/8.43 Nodes: 29.30/8.43 (1) f364_in(.(x1:0, x2:0)) -> f364_in(x2:0) :|: TRUE 29.30/8.43 29.30/8.43 Arcs: 29.30/8.43 (1) -> (1) 29.30/8.43 29.30/8.43 This digraph is fully evaluated! 29.30/8.43 ---------------------------------------- 29.30/8.43 29.30/8.43 (129) 29.30/8.43 Obligation: 29.30/8.43 29.30/8.43 Termination digraph: 29.30/8.43 Nodes: 29.30/8.43 (1) f364_in(.(x1:0, x2:0)) -> f364_in(x2:0) :|: TRUE 29.30/8.43 29.30/8.43 Arcs: 29.30/8.43 (1) -> (1) 29.30/8.43 29.30/8.43 This digraph is fully evaluated! 29.30/8.43 29.30/8.43 ---------------------------------------- 29.30/8.43 29.30/8.43 (130) IntTRSUnneededArgumentFilterProof (EQUIVALENT) 29.30/8.43 Some arguments are removed because they cannot influence termination. We removed arguments according to the following replacements: 29.30/8.43 29.30/8.43 .(x1, x2) -> .(x2) 29.30/8.43 29.30/8.43 ---------------------------------------- 29.30/8.43 29.30/8.43 (131) 29.30/8.43 Obligation: 29.30/8.43 Rules: 29.30/8.43 f364_in(.(x2:0)) -> f364_in(x2:0) :|: TRUE 29.30/8.43 29.30/8.43 ---------------------------------------- 29.30/8.43 29.30/8.43 (132) TempFilterProof (SOUND) 29.30/8.43 Used the following sort dictionary for filtering: 29.30/8.43 f364_in(VARIABLE) 29.30/8.43 .(VARIABLE) 29.30/8.43 Removed predefined arithmetic. 29.30/8.43 ---------------------------------------- 29.30/8.43 29.30/8.43 (133) 29.30/8.43 Obligation: 29.30/8.43 Rules: 29.30/8.43 f364_in(.(x2:0)) -> f364_in(x2:0) 29.30/8.43 29.30/8.43 ---------------------------------------- 29.30/8.43 29.30/8.43 (134) IRSwTToQDPProof (SOUND) 29.30/8.43 Removed the integers and created a QDP-Problem. 29.30/8.43 ---------------------------------------- 29.30/8.43 29.30/8.43 (135) 29.30/8.43 Obligation: 29.30/8.43 Q DP problem: 29.30/8.43 The TRS P consists of the following rules: 29.30/8.43 29.30/8.43 f364_in(.(x2:0)) -> f364_in(x2:0) 29.30/8.43 29.30/8.43 R is empty. 29.30/8.43 Q is empty. 29.30/8.43 We have to consider all (P,Q,R)-chains. 29.30/8.43 ---------------------------------------- 29.30/8.43 29.30/8.43 (136) QDPSizeChangeProof (EQUIVALENT) 29.30/8.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. 29.30/8.43 29.30/8.43 From the DPs we obtained the following set of size-change graphs: 29.30/8.43 *f364_in(.(x2:0)) -> f364_in(x2:0) 29.30/8.43 The graph contains the following edges 1 > 1 29.30/8.43 29.30/8.43 29.30/8.43 ---------------------------------------- 29.30/8.43 29.30/8.43 (137) 29.30/8.43 YES 29.30/8.43 29.30/8.43 ---------------------------------------- 29.30/8.43 29.30/8.43 (138) 29.30/8.43 Obligation: 29.30/8.43 Rules: 29.30/8.43 f472_in(T94) -> f474_in(T94) :|: TRUE 29.30/8.43 f474_out(x) -> f472_out(x) :|: TRUE 29.30/8.43 f380_out(T40) -> f364_out(T40) :|: TRUE 29.30/8.43 f364_in(x1) -> f379_in(x1) :|: TRUE 29.30/8.43 f379_out(x2) -> f364_out(x2) :|: TRUE 29.30/8.43 f364_in(x3) -> f380_in(x3) :|: TRUE 29.30/8.43 f105_in(T17) -> f196_in(T17) :|: TRUE 29.30/8.43 f196_out(x4) -> f203_in(x4) :|: TRUE 29.30/8.43 f203_out(x5) -> f105_out(x5) :|: TRUE 29.30/8.43 f196_in(x6) -> f318_in(x6) :|: TRUE 29.30/8.43 f318_out(x7) -> f196_out(x7) :|: TRUE 29.30/8.43 f487_in -> f487_out :|: TRUE 29.30/8.43 f393_in(T71) -> f359_in(T71) :|: TRUE 29.30/8.43 f359_out(x8) -> f393_out(x8) :|: TRUE 29.30/8.43 f387_in -> f387_out :|: TRUE 29.30/8.43 f352_in(x9) -> f359_in(x9) :|: TRUE 29.30/8.43 f359_out(x10) -> f360_in(x11) :|: TRUE 29.30/8.43 f360_out(x12) -> f352_out(x13) :|: TRUE 29.30/8.43 f352_out(x14) -> f318_out(x14) :|: TRUE 29.30/8.43 f318_in(x15) -> f352_in(x15) :|: TRUE 29.30/8.43 f354_out -> f318_out(x16) :|: TRUE 29.30/8.43 f318_in(x17) -> f354_in :|: TRUE 29.30/8.43 f9_out(T2) -> f3_out(T2) :|: TRUE 29.30/8.43 f3_in(x18) -> f9_in(x18) :|: TRUE 29.30/8.43 f466_out(T47) -> f445_out(T47) :|: TRUE 29.30/8.43 f445_in(x19) -> f465_in(x19) :|: TRUE 29.30/8.43 f465_out(x20) -> f445_out(x20) :|: TRUE 29.30/8.43 f445_in(x21) -> f466_in(x21) :|: TRUE 29.30/8.43 f473_in(x22) -> f360_in(x22) :|: TRUE 29.30/8.43 f360_out(x23) -> f473_out(x23) :|: TRUE 29.30/8.43 f472_out(T124) -> f480_out(T124) :|: TRUE 29.30/8.43 f480_in(x24) -> f472_in(x24) :|: TRUE 29.30/8.43 f475_in(.(T114, T115)) -> f477_in :|: TRUE 29.30/8.43 f475_in(x25) -> f478_in :|: TRUE 29.30/8.43 f478_out -> f475_out(x26) :|: TRUE 29.30/8.43 f477_out -> f475_out(.(x27, x28)) :|: TRUE 29.30/8.43 f481_out -> f476_out(x29) :|: TRUE 29.30/8.43 f476_in(x30) -> f481_in :|: TRUE 29.30/8.43 f476_in(.(x31, x32)) -> f480_in(x32) :|: TRUE 29.30/8.43 f480_out(x33) -> f476_out(.(x34, x33)) :|: TRUE 29.30/8.43 f380_in(.(x35, x36)) -> f393_in(x36) :|: TRUE 29.30/8.43 f393_out(x37) -> f380_out(.(x38, x37)) :|: TRUE 29.30/8.43 f380_in(x39) -> f394_in :|: TRUE 29.30/8.43 f394_out -> f380_out(x40) :|: TRUE 29.30/8.43 f389_out -> f379_out(x41) :|: TRUE 29.30/8.43 f387_out -> f379_out(.(T61, T62)) :|: TRUE 29.30/8.43 f379_in(.(x42, x43)) -> f387_in :|: TRUE 29.30/8.43 f379_in(x44) -> f389_in :|: TRUE 29.30/8.43 f445_out(x45) -> f360_out(x45) :|: TRUE 29.30/8.43 f360_in(x46) -> f445_in(x46) :|: TRUE 29.30/8.43 f364_out(x47) -> f359_out(x47) :|: TRUE 29.30/8.43 f359_in(x48) -> f364_in(x48) :|: TRUE 29.30/8.43 f3_out(x49) -> f203_out(x49) :|: TRUE 29.30/8.43 f203_in(x50) -> f3_in(x50) :|: TRUE 29.30/8.43 f477_in -> f477_out :|: TRUE 29.30/8.43 f489_out -> f466_out(x51) :|: TRUE 29.30/8.43 f466_in(T135) -> f487_in :|: TRUE 29.30/8.43 f466_in(x52) -> f489_in :|: TRUE 29.30/8.43 f487_out -> f466_out(x53) :|: TRUE 29.30/8.43 f465_in(x54) -> f470_in(x54) :|: TRUE 29.30/8.43 f470_out(x55) -> f465_out(x55) :|: TRUE 29.30/8.43 f471_out -> f465_out(x56) :|: TRUE 29.30/8.43 f465_in(x57) -> f471_in :|: TRUE 29.30/8.43 f474_in(x58) -> f475_in(x58) :|: TRUE 29.30/8.43 f475_out(x59) -> f474_out(x59) :|: TRUE 29.30/8.43 f476_out(x60) -> f474_out(x60) :|: TRUE 29.30/8.43 f474_in(x61) -> f476_in(x61) :|: TRUE 29.30/8.43 f24_out(x62) -> f9_out(x62) :|: TRUE 29.30/8.43 f23_out(x63) -> f9_out(x63) :|: TRUE 29.30/8.43 f9_in(x64) -> f23_in(x64) :|: TRUE 29.30/8.43 f9_in(x65) -> f24_in(x65) :|: TRUE 29.30/8.43 f23_in(x66) -> f105_in(x66) :|: TRUE 29.30/8.43 f23_in(x67) -> f114_in :|: TRUE 29.30/8.43 f105_out(x68) -> f23_out(x68) :|: TRUE 29.30/8.43 f114_out -> f23_out(x69) :|: TRUE 29.30/8.43 f472_out(x70) -> f473_in(x70) :|: TRUE 29.30/8.43 f470_in(x71) -> f472_in(x71) :|: TRUE 29.30/8.43 f473_out(x72) -> f470_out(x72) :|: TRUE 29.30/8.43 Start term: f3_in(T2) 29.30/8.43 29.30/8.43 ---------------------------------------- 29.30/8.43 29.30/8.43 (139) IRSwTSimpleDependencyGraphProof (EQUIVALENT) 29.30/8.43 Constructed simple dependency graph. 29.30/8.43 29.30/8.43 Simplified to the following IRSwTs: 29.30/8.43 29.30/8.43 intTRSProblem: 29.30/8.43 f472_in(T94) -> f474_in(T94) :|: TRUE 29.30/8.43 f474_out(x) -> f472_out(x) :|: TRUE 29.30/8.43 f380_out(T40) -> f364_out(T40) :|: TRUE 29.30/8.43 f364_in(x1) -> f379_in(x1) :|: TRUE 29.30/8.43 f379_out(x2) -> f364_out(x2) :|: TRUE 29.30/8.43 f364_in(x3) -> f380_in(x3) :|: TRUE 29.30/8.43 f105_in(T17) -> f196_in(T17) :|: TRUE 29.30/8.43 f196_out(x4) -> f203_in(x4) :|: TRUE 29.30/8.43 f196_in(x6) -> f318_in(x6) :|: TRUE 29.30/8.43 f318_out(x7) -> f196_out(x7) :|: TRUE 29.30/8.43 f487_in -> f487_out :|: TRUE 29.30/8.43 f393_in(T71) -> f359_in(T71) :|: TRUE 29.30/8.43 f359_out(x8) -> f393_out(x8) :|: TRUE 29.30/8.43 f387_in -> f387_out :|: TRUE 29.30/8.43 f352_in(x9) -> f359_in(x9) :|: TRUE 29.30/8.43 f359_out(x10) -> f360_in(x11) :|: TRUE 29.30/8.43 f360_out(x12) -> f352_out(x13) :|: TRUE 29.30/8.43 f352_out(x14) -> f318_out(x14) :|: TRUE 29.30/8.43 f318_in(x15) -> f352_in(x15) :|: TRUE 29.30/8.43 f3_in(x18) -> f9_in(x18) :|: TRUE 29.30/8.43 f466_out(T47) -> f445_out(T47) :|: TRUE 29.30/8.43 f445_in(x19) -> f465_in(x19) :|: TRUE 29.30/8.43 f465_out(x20) -> f445_out(x20) :|: TRUE 29.30/8.43 f445_in(x21) -> f466_in(x21) :|: TRUE 29.30/8.43 f473_in(x22) -> f360_in(x22) :|: TRUE 29.30/8.43 f360_out(x23) -> f473_out(x23) :|: TRUE 29.30/8.43 f472_out(T124) -> f480_out(T124) :|: TRUE 29.30/8.43 f480_in(x24) -> f472_in(x24) :|: TRUE 29.30/8.43 f475_in(.(T114, T115)) -> f477_in :|: TRUE 29.30/8.43 f477_out -> f475_out(.(x27, x28)) :|: TRUE 29.30/8.43 f476_in(.(x31, x32)) -> f480_in(x32) :|: TRUE 29.30/8.43 f480_out(x33) -> f476_out(.(x34, x33)) :|: TRUE 29.30/8.43 f380_in(.(x35, x36)) -> f393_in(x36) :|: TRUE 29.30/8.43 f393_out(x37) -> f380_out(.(x38, x37)) :|: TRUE 29.30/8.43 f387_out -> f379_out(.(T61, T62)) :|: TRUE 29.30/8.43 f379_in(.(x42, x43)) -> f387_in :|: TRUE 29.30/8.43 f445_out(x45) -> f360_out(x45) :|: TRUE 29.30/8.43 f360_in(x46) -> f445_in(x46) :|: TRUE 29.30/8.43 f364_out(x47) -> f359_out(x47) :|: TRUE 29.30/8.43 f359_in(x48) -> f364_in(x48) :|: TRUE 29.30/8.43 f203_in(x50) -> f3_in(x50) :|: TRUE 29.30/8.43 f477_in -> f477_out :|: TRUE 29.30/8.43 f466_in(T135) -> f487_in :|: TRUE 29.30/8.43 f487_out -> f466_out(x53) :|: TRUE 29.30/8.43 f465_in(x54) -> f470_in(x54) :|: TRUE 29.30/8.43 f470_out(x55) -> f465_out(x55) :|: TRUE 29.30/8.43 f474_in(x58) -> f475_in(x58) :|: TRUE 29.30/8.43 f475_out(x59) -> f474_out(x59) :|: TRUE 29.30/8.43 f476_out(x60) -> f474_out(x60) :|: TRUE 29.30/8.43 f474_in(x61) -> f476_in(x61) :|: TRUE 29.30/8.43 f9_in(x64) -> f23_in(x64) :|: TRUE 29.30/8.43 f23_in(x66) -> f105_in(x66) :|: TRUE 29.30/8.43 f472_out(x70) -> f473_in(x70) :|: TRUE 29.30/8.43 f470_in(x71) -> f472_in(x71) :|: TRUE 29.30/8.43 f473_out(x72) -> f470_out(x72) :|: TRUE 29.30/8.43 29.30/8.43 29.30/8.43 ---------------------------------------- 29.30/8.43 29.30/8.43 (140) 29.30/8.43 Obligation: 29.30/8.43 Rules: 29.30/8.43 f472_in(T94) -> f474_in(T94) :|: TRUE 29.30/8.43 f474_out(x) -> f472_out(x) :|: TRUE 29.30/8.43 f380_out(T40) -> f364_out(T40) :|: TRUE 29.30/8.43 f364_in(x1) -> f379_in(x1) :|: TRUE 29.30/8.43 f379_out(x2) -> f364_out(x2) :|: TRUE 29.30/8.43 f364_in(x3) -> f380_in(x3) :|: TRUE 29.30/8.43 f105_in(T17) -> f196_in(T17) :|: TRUE 29.30/8.43 f196_out(x4) -> f203_in(x4) :|: TRUE 29.30/8.43 f196_in(x6) -> f318_in(x6) :|: TRUE 29.30/8.43 f318_out(x7) -> f196_out(x7) :|: TRUE 29.30/8.43 f487_in -> f487_out :|: TRUE 29.30/8.43 f393_in(T71) -> f359_in(T71) :|: TRUE 29.30/8.43 f359_out(x8) -> f393_out(x8) :|: TRUE 29.30/8.43 f387_in -> f387_out :|: TRUE 29.30/8.43 f352_in(x9) -> f359_in(x9) :|: TRUE 29.30/8.43 f359_out(x10) -> f360_in(x11) :|: TRUE 29.30/8.43 f360_out(x12) -> f352_out(x13) :|: TRUE 29.30/8.43 f352_out(x14) -> f318_out(x14) :|: TRUE 29.30/8.43 f318_in(x15) -> f352_in(x15) :|: TRUE 29.30/8.43 f3_in(x18) -> f9_in(x18) :|: TRUE 29.30/8.43 f466_out(T47) -> f445_out(T47) :|: TRUE 29.30/8.43 f445_in(x19) -> f465_in(x19) :|: TRUE 29.30/8.43 f465_out(x20) -> f445_out(x20) :|: TRUE 29.30/8.43 f445_in(x21) -> f466_in(x21) :|: TRUE 29.30/8.43 f473_in(x22) -> f360_in(x22) :|: TRUE 29.30/8.43 f360_out(x23) -> f473_out(x23) :|: TRUE 29.30/8.43 f472_out(T124) -> f480_out(T124) :|: TRUE 29.30/8.43 f480_in(x24) -> f472_in(x24) :|: TRUE 29.30/8.43 f475_in(.(T114, T115)) -> f477_in :|: TRUE 29.30/8.43 f477_out -> f475_out(.(x27, x28)) :|: TRUE 29.30/8.43 f476_in(.(x31, x32)) -> f480_in(x32) :|: TRUE 29.30/8.43 f480_out(x33) -> f476_out(.(x34, x33)) :|: TRUE 29.30/8.43 f380_in(.(x35, x36)) -> f393_in(x36) :|: TRUE 29.30/8.43 f393_out(x37) -> f380_out(.(x38, x37)) :|: TRUE 29.30/8.43 f387_out -> f379_out(.(T61, T62)) :|: TRUE 29.30/8.43 f379_in(.(x42, x43)) -> f387_in :|: TRUE 29.30/8.43 f445_out(x45) -> f360_out(x45) :|: TRUE 29.30/8.43 f360_in(x46) -> f445_in(x46) :|: TRUE 29.30/8.43 f364_out(x47) -> f359_out(x47) :|: TRUE 29.30/8.43 f359_in(x48) -> f364_in(x48) :|: TRUE 29.30/8.43 f203_in(x50) -> f3_in(x50) :|: TRUE 29.30/8.43 f477_in -> f477_out :|: TRUE 29.30/8.43 f466_in(T135) -> f487_in :|: TRUE 29.30/8.43 f487_out -> f466_out(x53) :|: TRUE 29.30/8.43 f465_in(x54) -> f470_in(x54) :|: TRUE 29.30/8.43 f470_out(x55) -> f465_out(x55) :|: TRUE 29.30/8.43 f474_in(x58) -> f475_in(x58) :|: TRUE 29.30/8.43 f475_out(x59) -> f474_out(x59) :|: TRUE 29.30/8.43 f476_out(x60) -> f474_out(x60) :|: TRUE 29.30/8.43 f474_in(x61) -> f476_in(x61) :|: TRUE 29.30/8.43 f9_in(x64) -> f23_in(x64) :|: TRUE 29.30/8.43 f23_in(x66) -> f105_in(x66) :|: TRUE 29.30/8.43 f472_out(x70) -> f473_in(x70) :|: TRUE 29.30/8.43 f470_in(x71) -> f472_in(x71) :|: TRUE 29.30/8.43 f473_out(x72) -> f470_out(x72) :|: TRUE 29.30/8.43 29.30/8.43 ---------------------------------------- 29.30/8.43 29.30/8.43 (141) IntTRSCompressionProof (EQUIVALENT) 29.30/8.43 Compressed rules. 29.30/8.43 ---------------------------------------- 29.30/8.43 29.30/8.43 (142) 29.30/8.43 Obligation: 29.30/8.43 Rules: 29.30/8.43 f472_in(.(x31:0, x32:0)) -> f472_in(x32:0) :|: TRUE 29.30/8.43 f364_in(.(x42:0, x43:0)) -> f359_out(.(T61:0, T62:0)) :|: TRUE 29.30/8.43 f474_out(x:0) -> f474_out(.(x34:0, x:0)) :|: TRUE 29.30/8.43 f364_in(.(x35:0, x36:0)) -> f364_in(x36:0) :|: TRUE 29.30/8.43 f474_out(x) -> f445_in(x) :|: TRUE 29.30/8.43 f360_out(x23:0) -> f360_out(x23:0) :|: TRUE 29.30/8.43 f472_in(.(T114:0, T115:0)) -> f474_out(.(x27:0, x28:0)) :|: TRUE 29.30/8.43 f360_out(x12:0) -> f364_in(x13:0) :|: TRUE 29.30/8.43 f445_in(x21:0) -> f360_out(x53:0) :|: TRUE 29.30/8.43 f445_in(x19:0) -> f472_in(x19:0) :|: TRUE 29.30/8.43 f359_out(x10:0) -> f445_in(x11:0) :|: TRUE 29.30/8.43 f359_out(x8:0) -> f359_out(.(x38:0, x8:0)) :|: TRUE 29.30/8.43 29.30/8.43 ---------------------------------------- 29.30/8.43 29.30/8.43 (143) IRSFormatTransformerProof (EQUIVALENT) 29.30/8.43 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 29.30/8.43 ---------------------------------------- 29.30/8.43 29.30/8.43 (144) 29.30/8.43 Obligation: 29.30/8.43 Rules: 29.30/8.43 f472_in(.(x31:0, x32:0)) -> f472_in(x32:0) :|: TRUE 29.30/8.43 f364_in(.(x42:0, x43:0)) -> f359_out(.(T61:0, T62:0)) :|: TRUE 29.30/8.43 f474_out(x:0) -> f474_out(.(x34:0, x:0)) :|: TRUE 29.30/8.43 f364_in(.(x35:0, x36:0)) -> f364_in(x36:0) :|: TRUE 29.30/8.43 f474_out(x) -> f445_in(x) :|: TRUE 29.30/8.43 f360_out(x23:0) -> f360_out(x23:0) :|: TRUE 29.30/8.43 f472_in(.(T114:0, T115:0)) -> f474_out(.(x27:0, x28:0)) :|: TRUE 29.30/8.43 f360_out(x12:0) -> f364_in(x13:0) :|: TRUE 29.30/8.43 f445_in(x21:0) -> f360_out(x53:0) :|: TRUE 29.30/8.43 f445_in(x19:0) -> f472_in(x19:0) :|: TRUE 29.30/8.43 f359_out(x10:0) -> f445_in(x11:0) :|: TRUE 29.30/8.43 f359_out(x8:0) -> f359_out(.(x38:0, x8:0)) :|: TRUE 29.30/8.43 29.30/8.43 ---------------------------------------- 29.30/8.43 29.30/8.43 (145) IRSwTTerminationDigraphProof (EQUIVALENT) 29.30/8.43 Constructed termination digraph! 29.30/8.43 Nodes: 29.30/8.43 (1) f472_in(.(x31:0, x32:0)) -> f472_in(x32:0) :|: TRUE 29.30/8.43 (2) f364_in(.(x42:0, x43:0)) -> f359_out(.(T61:0, T62:0)) :|: TRUE 29.30/8.43 (3) f474_out(x:0) -> f474_out(.(x34:0, x:0)) :|: TRUE 29.30/8.43 (4) f364_in(.(x35:0, x36:0)) -> f364_in(x36:0) :|: TRUE 29.30/8.43 (5) f474_out(x) -> f445_in(x) :|: TRUE 29.30/8.43 (6) f360_out(x23:0) -> f360_out(x23:0) :|: TRUE 29.30/8.43 (7) f472_in(.(T114:0, T115:0)) -> f474_out(.(x27:0, x28:0)) :|: TRUE 29.30/8.43 (8) f360_out(x12:0) -> f364_in(x13:0) :|: TRUE 29.30/8.43 (9) f445_in(x21:0) -> f360_out(x53:0) :|: TRUE 29.30/8.43 (10) f445_in(x19:0) -> f472_in(x19:0) :|: TRUE 29.30/8.43 (11) f359_out(x10:0) -> f445_in(x11:0) :|: TRUE 29.30/8.43 (12) f359_out(x8:0) -> f359_out(.(x38:0, x8:0)) :|: TRUE 29.30/8.43 29.30/8.43 Arcs: 29.30/8.43 (1) -> (1), (7) 29.30/8.43 (2) -> (11), (12) 29.30/8.43 (3) -> (3), (5) 29.30/8.43 (4) -> (2), (4) 29.30/8.43 (5) -> (9), (10) 29.30/8.43 (6) -> (6), (8) 29.30/8.43 (7) -> (3), (5) 29.30/8.43 (8) -> (2), (4) 29.30/8.43 (9) -> (6), (8) 29.30/8.43 (10) -> (1), (7) 29.30/8.43 (11) -> (9), (10) 29.30/8.43 (12) -> (11), (12) 29.30/8.43 29.30/8.43 This digraph is fully evaluated! 29.30/8.43 ---------------------------------------- 29.30/8.43 29.30/8.43 (146) 29.30/8.43 Obligation: 29.30/8.43 29.30/8.43 Termination digraph: 29.30/8.43 Nodes: 29.30/8.43 (1) f472_in(.(x31:0, x32:0)) -> f472_in(x32:0) :|: TRUE 29.30/8.43 (2) f445_in(x19:0) -> f472_in(x19:0) :|: TRUE 29.30/8.43 (3) f359_out(x10:0) -> f445_in(x11:0) :|: TRUE 29.30/8.43 (4) f359_out(x8:0) -> f359_out(.(x38:0, x8:0)) :|: TRUE 29.30/8.43 (5) f364_in(.(x42:0, x43:0)) -> f359_out(.(T61:0, T62:0)) :|: TRUE 29.30/8.43 (6) f364_in(.(x35:0, x36:0)) -> f364_in(x36:0) :|: TRUE 29.30/8.43 (7) f360_out(x12:0) -> f364_in(x13:0) :|: TRUE 29.30/8.43 (8) f360_out(x23:0) -> f360_out(x23:0) :|: TRUE 29.30/8.43 (9) f445_in(x21:0) -> f360_out(x53:0) :|: TRUE 29.30/8.43 (10) f474_out(x) -> f445_in(x) :|: TRUE 29.30/8.43 (11) f474_out(x:0) -> f474_out(.(x34:0, x:0)) :|: TRUE 29.30/8.43 (12) f472_in(.(T114:0, T115:0)) -> f474_out(.(x27:0, x28:0)) :|: TRUE 29.30/8.43 29.30/8.43 Arcs: 29.30/8.43 (1) -> (1), (12) 29.30/8.43 (2) -> (1), (12) 29.30/8.43 (3) -> (2), (9) 29.30/8.43 (4) -> (3), (4) 29.30/8.43 (5) -> (3), (4) 29.30/8.43 (6) -> (5), (6) 29.30/8.43 (7) -> (5), (6) 29.30/8.43 (8) -> (7), (8) 29.30/8.43 (9) -> (7), (8) 29.30/8.43 (10) -> (2), (9) 29.30/8.43 (11) -> (10), (11) 29.30/8.43 (12) -> (10), (11) 29.30/8.43 29.30/8.43 This digraph is fully evaluated! 29.30/8.43 29.30/8.43 ---------------------------------------- 29.30/8.43 29.30/8.43 (147) IntTRSUnneededArgumentFilterProof (EQUIVALENT) 29.30/8.43 Some arguments are removed because they cannot influence termination. We removed arguments according to the following replacements: 29.30/8.43 29.30/8.43 .(x1, x2) -> .(x2) 29.30/8.43 29.30/8.43 ---------------------------------------- 29.30/8.43 29.30/8.43 (148) 29.30/8.43 Obligation: 29.30/8.43 Rules: 29.30/8.43 f472_in(.(x32:0)) -> f472_in(x32:0) :|: TRUE 29.30/8.43 f445_in(x19:0) -> f472_in(x19:0) :|: TRUE 29.30/8.43 f359_out(x10:0) -> f445_in(x11:0) :|: TRUE 29.30/8.43 f359_out(x8:0) -> f359_out(.(x8:0)) :|: TRUE 29.30/8.43 f364_in(.(x43:0)) -> f359_out(.(T62:0)) :|: TRUE 29.30/8.43 f364_in(.(x36:0)) -> f364_in(x36:0) :|: TRUE 29.30/8.43 f360_out(x12:0) -> f364_in(x13:0) :|: TRUE 29.30/8.43 f360_out(x23:0) -> f360_out(x23:0) :|: TRUE 29.30/8.43 f445_in(x21:0) -> f360_out(x53:0) :|: TRUE 29.30/8.43 f474_out(x) -> f445_in(x) :|: TRUE 29.30/8.43 f474_out(x:0) -> f474_out(.(x:0)) :|: TRUE 29.30/8.43 f472_in(.(T115:0)) -> f474_out(.(x28:0)) :|: TRUE 29.60/8.53 EOF