28.84/8.52 MAYBE 29.42/8.72 proof of /export/starexec/sandbox/benchmark/theBenchmark.pl 29.42/8.72 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 29.42/8.72 29.42/8.72 29.42/8.72 Left Termination of the query pattern 29.42/8.72 29.42/8.72 color_map(a,g) 29.42/8.72 29.42/8.72 w.r.t. the given Prolog program could not be shown: 29.42/8.72 29.42/8.72 (0) Prolog 29.42/8.72 (1) PrologToPiTRSProof [SOUND, 0 ms] 29.42/8.72 (2) PiTRS 29.42/8.72 (3) DependencyPairsProof [EQUIVALENT, 16 ms] 29.42/8.72 (4) PiDP 29.42/8.72 (5) DependencyGraphProof [EQUIVALENT, 0 ms] 29.42/8.72 (6) AND 29.42/8.72 (7) PiDP 29.42/8.72 (8) UsableRulesProof [EQUIVALENT, 0 ms] 29.42/8.72 (9) PiDP 29.42/8.72 (10) PiDPToQDPProof [SOUND, 0 ms] 29.42/8.72 (11) QDP 29.42/8.72 (12) QDPSizeChangeProof [EQUIVALENT, 0 ms] 29.42/8.72 (13) YES 29.42/8.72 (14) PiDP 29.42/8.72 (15) UsableRulesProof [EQUIVALENT, 0 ms] 29.42/8.72 (16) PiDP 29.42/8.72 (17) PiDPToQDPProof [SOUND, 0 ms] 29.42/8.72 (18) QDP 29.42/8.72 (19) TransformationProof [SOUND, 0 ms] 29.42/8.72 (20) QDP 29.42/8.72 (21) TransformationProof [EQUIVALENT, 0 ms] 29.42/8.72 (22) QDP 29.42/8.72 (23) PiDP 29.42/8.72 (24) UsableRulesProof [EQUIVALENT, 0 ms] 29.42/8.72 (25) PiDP 29.42/8.72 (26) PiDP 29.42/8.72 (27) UsableRulesProof [EQUIVALENT, 0 ms] 29.42/8.72 (28) PiDP 29.42/8.72 (29) PrologToPiTRSProof [SOUND, 0 ms] 29.42/8.72 (30) PiTRS 29.42/8.72 (31) DependencyPairsProof [EQUIVALENT, 0 ms] 29.42/8.72 (32) PiDP 29.42/8.72 (33) DependencyGraphProof [EQUIVALENT, 0 ms] 29.42/8.72 (34) AND 29.42/8.72 (35) PiDP 29.42/8.72 (36) UsableRulesProof [EQUIVALENT, 0 ms] 29.42/8.72 (37) PiDP 29.42/8.72 (38) PiDPToQDPProof [SOUND, 0 ms] 29.42/8.72 (39) QDP 29.42/8.72 (40) QDPSizeChangeProof [EQUIVALENT, 0 ms] 29.42/8.72 (41) YES 29.42/8.72 (42) PiDP 29.42/8.72 (43) UsableRulesProof [EQUIVALENT, 0 ms] 29.42/8.72 (44) PiDP 29.42/8.72 (45) PiDPToQDPProof [SOUND, 0 ms] 29.42/8.72 (46) QDP 29.42/8.72 (47) TransformationProof [SOUND, 0 ms] 29.42/8.72 (48) QDP 29.42/8.72 (49) TransformationProof [EQUIVALENT, 0 ms] 29.42/8.72 (50) QDP 29.42/8.72 (51) NonTerminationLoopProof [COMPLETE, 0 ms] 29.42/8.72 (52) NO 29.42/8.72 (53) PiDP 29.42/8.72 (54) UsableRulesProof [EQUIVALENT, 0 ms] 29.42/8.72 (55) PiDP 29.42/8.72 (56) PiDPToQDPProof [SOUND, 0 ms] 29.42/8.72 (57) QDP 29.42/8.72 (58) QDPSizeChangeProof [EQUIVALENT, 0 ms] 29.42/8.72 (59) YES 29.42/8.72 (60) PiDP 29.42/8.72 (61) UsableRulesProof [EQUIVALENT, 0 ms] 29.42/8.72 (62) PiDP 29.42/8.72 (63) PiDPToQDPProof [SOUND, 0 ms] 29.42/8.72 (64) QDP 29.42/8.72 (65) PrologToTRSTransformerProof [SOUND, 0 ms] 29.42/8.72 (66) QTRS 29.42/8.72 (67) DependencyPairsProof [EQUIVALENT, 6 ms] 29.42/8.72 (68) QDP 29.42/8.72 (69) DependencyGraphProof [EQUIVALENT, 0 ms] 29.42/8.72 (70) AND 29.42/8.72 (71) QDP 29.42/8.72 (72) UsableRulesProof [EQUIVALENT, 0 ms] 29.42/8.72 (73) QDP 29.42/8.72 (74) QDPSizeChangeProof [EQUIVALENT, 0 ms] 29.42/8.72 (75) YES 29.42/8.72 (76) QDP 29.42/8.72 (77) NonTerminationLoopProof [COMPLETE, 9 ms] 29.42/8.72 (78) NO 29.42/8.72 (79) QDP 29.42/8.72 (80) UsableRulesProof [EQUIVALENT, 0 ms] 29.42/8.72 (81) QDP 29.42/8.72 (82) QDPSizeChangeProof [EQUIVALENT, 0 ms] 29.42/8.72 (83) YES 29.42/8.72 (84) QDP 29.42/8.72 (85) NonTerminationLoopProof [COMPLETE, 0 ms] 29.42/8.72 (86) NO 29.42/8.72 (87) PrologToDTProblemTransformerProof [SOUND, 37 ms] 29.42/8.72 (88) TRIPLES 29.42/8.72 (89) TriplesToPiDPProof [SOUND, 0 ms] 29.42/8.72 (90) PiDP 29.42/8.72 (91) DependencyGraphProof [EQUIVALENT, 0 ms] 29.42/8.72 (92) AND 29.42/8.72 (93) PiDP 29.42/8.72 (94) UsableRulesProof [EQUIVALENT, 0 ms] 29.42/8.72 (95) PiDP 29.42/8.72 (96) PiDPToQDPProof [SOUND, 0 ms] 29.42/8.72 (97) QDP 29.42/8.72 (98) QDPSizeChangeProof [EQUIVALENT, 0 ms] 29.42/8.72 (99) YES 29.42/8.72 (100) PiDP 29.42/8.72 (101) UsableRulesProof [EQUIVALENT, 0 ms] 29.42/8.72 (102) PiDP 29.42/8.72 (103) PiDPToQDPProof [SOUND, 0 ms] 29.42/8.72 (104) QDP 29.42/8.72 (105) TransformationProof [SOUND, 0 ms] 29.42/8.72 (106) QDP 29.42/8.72 (107) TransformationProof [EQUIVALENT, 0 ms] 29.42/8.72 (108) QDP 29.42/8.72 (109) PiDP 29.42/8.72 (110) UsableRulesProof [EQUIVALENT, 0 ms] 29.42/8.72 (111) PiDP 29.42/8.72 (112) PiDP 29.42/8.72 (113) PrologToIRSwTTransformerProof [SOUND, 26 ms] 29.42/8.72 (114) AND 29.42/8.72 (115) IRSwT 29.42/8.72 (116) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms] 29.42/8.72 (117) TRUE 29.42/8.72 (118) IRSwT 29.42/8.72 (119) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms] 29.42/8.72 (120) TRUE 29.42/8.72 (121) IRSwT 29.42/8.72 (122) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms] 29.42/8.72 (123) IRSwT 29.42/8.72 (124) IntTRSCompressionProof [EQUIVALENT, 0 ms] 29.42/8.72 (125) IRSwT 29.42/8.72 (126) IRSFormatTransformerProof [EQUIVALENT, 1 ms] 29.42/8.72 (127) IRSwT 29.42/8.72 (128) IRSwTTerminationDigraphProof [EQUIVALENT, 6 ms] 29.42/8.72 (129) IRSwT 29.42/8.72 (130) IntTRSUnneededArgumentFilterProof [EQUIVALENT, 0 ms] 29.42/8.72 (131) IRSwT 29.42/8.72 (132) TempFilterProof [SOUND, 3 ms] 29.42/8.72 (133) IRSwT 29.42/8.72 (134) IRSwTToQDPProof [SOUND, 0 ms] 29.42/8.72 (135) QDP 29.42/8.72 (136) QDPSizeChangeProof [EQUIVALENT, 0 ms] 29.42/8.72 (137) YES 29.42/8.72 (138) IRSwT 29.42/8.72 (139) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms] 29.42/8.72 (140) IRSwT 29.42/8.72 (141) IntTRSCompressionProof [EQUIVALENT, 26 ms] 29.42/8.72 (142) IRSwT 29.42/8.72 (143) IRSFormatTransformerProof [EQUIVALENT, 0 ms] 29.42/8.72 (144) IRSwT 29.42/8.72 (145) IRSwTTerminationDigraphProof [EQUIVALENT, 69 ms] 29.42/8.72 (146) IRSwT 29.42/8.72 29.42/8.72 29.42/8.72 ---------------------------------------- 29.42/8.72 29.42/8.72 (0) 29.42/8.72 Obligation: 29.42/8.72 Clauses: 29.42/8.72 29.42/8.72 color_map(.(Region, Regions), Colors) :- ','(color_region(Region, Colors), color_map(Regions, Colors)). 29.42/8.72 color_map([], Colors). 29.42/8.72 color_region(region(Name, Color, Neighbors), Colors) :- ','(select(Color, Colors, Colors1), members(Neighbors, Colors1)). 29.42/8.72 select(X, .(X, Xs), Xs). 29.42/8.72 select(X, .(Y, Ys), .(Y, Zs)) :- select(X, Ys, Zs). 29.42/8.72 members(.(X, Xs), Ys) :- ','(member(X, Ys), members(Xs, Ys)). 29.42/8.72 members([], Ys). 29.42/8.72 member(X, .(X, X1)). 29.42/8.72 member(X, .(X2, Xs)) :- member(X, Xs). 29.42/8.72 29.42/8.72 29.42/8.72 Query: color_map(a,g) 29.42/8.72 ---------------------------------------- 29.42/8.72 29.42/8.72 (1) PrologToPiTRSProof (SOUND) 29.42/8.72 We use the technique of [TOCL09]. With regard to the inferred argument filtering the predicates were used in the following modes: 29.42/8.72 29.42/8.72 color_map_in_2: (f,b) 29.42/8.72 29.42/8.72 color_region_in_2: (f,b) 29.42/8.72 29.42/8.72 select_in_3: (f,b,f) 29.42/8.72 29.42/8.72 members_in_2: (f,b) 29.42/8.72 29.42/8.72 member_in_2: (f,b) 29.42/8.72 29.42/8.72 Transforming Prolog into the following Term Rewriting System: 29.42/8.72 29.42/8.72 Pi-finite rewrite system: 29.42/8.72 The TRS R consists of the following rules: 29.42/8.72 29.42/8.72 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 29.42/8.72 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 29.42/8.72 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 29.42/8.72 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 29.42/8.72 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 29.42/8.72 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 29.42/8.72 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 29.42/8.72 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 29.42/8.72 member_in_ag(X, .(X2, Xs)) -> U8_ag(X, X2, Xs, member_in_ag(X, Xs)) 29.42/8.72 U8_ag(X, X2, Xs, member_out_ag(X, Xs)) -> member_out_ag(X, .(X2, Xs)) 29.42/8.72 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 29.42/8.72 members_in_ag([], Ys) -> members_out_ag([], Ys) 29.42/8.72 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 29.42/8.72 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 29.42/8.72 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 29.42/8.72 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 29.42/8.72 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 29.42/8.72 29.42/8.72 The argument filtering Pi contains the following mapping: 29.42/8.72 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 29.42/8.72 29.42/8.72 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 29.42/8.72 29.42/8.72 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 29.42/8.72 29.42/8.72 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x4, x5) 29.42/8.72 29.42/8.72 select_in_aga(x1, x2, x3) = select_in_aga(x2) 29.42/8.72 29.42/8.72 .(x1, x2) = .(x1, x2) 29.42/8.72 29.42/8.72 select_out_aga(x1, x2, x3) = select_out_aga(x1, x2, x3) 29.42/8.72 29.42/8.72 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x3, x5) 29.42/8.72 29.42/8.72 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x4, x5) 29.42/8.72 29.42/8.72 members_in_ag(x1, x2) = members_in_ag(x2) 29.42/8.72 29.42/8.72 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 29.42/8.72 29.42/8.72 member_in_ag(x1, x2) = member_in_ag(x2) 29.42/8.72 29.42/8.72 member_out_ag(x1, x2) = member_out_ag(x1, x2) 29.42/8.72 29.42/8.72 U8_ag(x1, x2, x3, x4) = U8_ag(x2, x3, x4) 29.42/8.72 29.42/8.72 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x3, x4) 29.42/8.72 29.42/8.72 members_out_ag(x1, x2) = members_out_ag(x1, x2) 29.42/8.72 29.42/8.72 color_region_out_ag(x1, x2) = color_region_out_ag(x1, x2) 29.42/8.72 29.42/8.72 region(x1, x2, x3) = region(x2, x3) 29.42/8.72 29.42/8.72 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x3, x4) 29.42/8.72 29.42/8.72 color_map_out_ag(x1, x2) = color_map_out_ag(x1, x2) 29.42/8.72 29.42/8.72 29.42/8.72 29.42/8.72 29.42/8.72 29.42/8.72 Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog 29.42/8.72 29.42/8.72 29.42/8.72 29.42/8.72 ---------------------------------------- 29.42/8.72 29.42/8.72 (2) 29.42/8.72 Obligation: 29.42/8.72 Pi-finite rewrite system: 29.42/8.72 The TRS R consists of the following rules: 29.42/8.72 29.42/8.72 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 29.42/8.72 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 29.42/8.72 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 29.42/8.72 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 29.42/8.72 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 29.42/8.72 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 29.42/8.72 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 29.42/8.72 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 29.42/8.72 member_in_ag(X, .(X2, Xs)) -> U8_ag(X, X2, Xs, member_in_ag(X, Xs)) 29.42/8.72 U8_ag(X, X2, Xs, member_out_ag(X, Xs)) -> member_out_ag(X, .(X2, Xs)) 29.42/8.72 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 29.42/8.72 members_in_ag([], Ys) -> members_out_ag([], Ys) 29.42/8.72 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 29.42/8.72 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 29.42/8.72 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 29.42/8.72 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 29.42/8.72 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 29.42/8.72 29.42/8.72 The argument filtering Pi contains the following mapping: 29.42/8.72 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 29.42/8.72 29.42/8.72 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 29.42/8.72 29.42/8.72 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 29.42/8.72 29.42/8.72 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x4, x5) 29.42/8.72 29.42/8.72 select_in_aga(x1, x2, x3) = select_in_aga(x2) 29.42/8.72 29.42/8.72 .(x1, x2) = .(x1, x2) 29.42/8.72 29.42/8.72 select_out_aga(x1, x2, x3) = select_out_aga(x1, x2, x3) 29.42/8.72 29.42/8.72 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x3, x5) 29.42/8.72 29.42/8.72 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x4, x5) 29.42/8.72 29.42/8.72 members_in_ag(x1, x2) = members_in_ag(x2) 29.42/8.72 29.42/8.72 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 29.42/8.72 29.42/8.72 member_in_ag(x1, x2) = member_in_ag(x2) 29.42/8.72 29.42/8.72 member_out_ag(x1, x2) = member_out_ag(x1, x2) 29.42/8.72 29.42/8.72 U8_ag(x1, x2, x3, x4) = U8_ag(x2, x3, x4) 29.42/8.72 29.42/8.72 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x3, x4) 29.42/8.72 29.42/8.72 members_out_ag(x1, x2) = members_out_ag(x1, x2) 29.42/8.72 29.42/8.72 color_region_out_ag(x1, x2) = color_region_out_ag(x1, x2) 29.42/8.72 29.42/8.72 region(x1, x2, x3) = region(x2, x3) 29.42/8.72 29.42/8.72 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x3, x4) 29.42/8.72 29.42/8.72 color_map_out_ag(x1, x2) = color_map_out_ag(x1, x2) 29.42/8.72 29.42/8.72 29.42/8.72 29.42/8.72 ---------------------------------------- 29.42/8.72 29.42/8.72 (3) DependencyPairsProof (EQUIVALENT) 29.42/8.72 Using Dependency Pairs [AG00,LOPSTR] we result in the following initial DP problem: 29.42/8.72 Pi DP problem: 29.42/8.72 The TRS P consists of the following rules: 29.42/8.72 29.42/8.72 COLOR_MAP_IN_AG(.(Region, Regions), Colors) -> U1_AG(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 29.42/8.72 COLOR_MAP_IN_AG(.(Region, Regions), Colors) -> COLOR_REGION_IN_AG(Region, Colors) 29.42/8.72 COLOR_REGION_IN_AG(region(Name, Color, Neighbors), Colors) -> U3_AG(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 29.42/8.72 COLOR_REGION_IN_AG(region(Name, Color, Neighbors), Colors) -> SELECT_IN_AGA(Color, Colors, Colors1) 29.42/8.72 SELECT_IN_AGA(X, .(Y, Ys), .(Y, Zs)) -> U5_AGA(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 29.42/8.72 SELECT_IN_AGA(X, .(Y, Ys), .(Y, Zs)) -> SELECT_IN_AGA(X, Ys, Zs) 29.42/8.72 U3_AG(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_AG(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 29.42/8.72 U3_AG(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> MEMBERS_IN_AG(Neighbors, Colors1) 29.42/8.72 MEMBERS_IN_AG(.(X, Xs), Ys) -> U6_AG(X, Xs, Ys, member_in_ag(X, Ys)) 29.42/8.72 MEMBERS_IN_AG(.(X, Xs), Ys) -> MEMBER_IN_AG(X, Ys) 29.42/8.72 MEMBER_IN_AG(X, .(X2, Xs)) -> U8_AG(X, X2, Xs, member_in_ag(X, Xs)) 29.42/8.72 MEMBER_IN_AG(X, .(X2, Xs)) -> MEMBER_IN_AG(X, Xs) 29.42/8.72 U6_AG(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_AG(X, Xs, Ys, members_in_ag(Xs, Ys)) 29.42/8.72 U6_AG(X, Xs, Ys, member_out_ag(X, Ys)) -> MEMBERS_IN_AG(Xs, Ys) 29.42/8.72 U1_AG(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_AG(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 29.42/8.72 U1_AG(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> COLOR_MAP_IN_AG(Regions, Colors) 29.42/8.72 29.42/8.72 The TRS R consists of the following rules: 29.42/8.72 29.42/8.72 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 29.42/8.72 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 29.42/8.72 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 29.42/8.72 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 29.42/8.72 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 29.42/8.72 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 29.42/8.72 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 29.42/8.72 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 29.42/8.72 member_in_ag(X, .(X2, Xs)) -> U8_ag(X, X2, Xs, member_in_ag(X, Xs)) 29.42/8.72 U8_ag(X, X2, Xs, member_out_ag(X, Xs)) -> member_out_ag(X, .(X2, Xs)) 29.42/8.72 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 29.42/8.72 members_in_ag([], Ys) -> members_out_ag([], Ys) 29.42/8.72 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 29.42/8.72 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 29.42/8.72 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 29.42/8.72 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 29.42/8.72 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 29.42/8.72 29.42/8.72 The argument filtering Pi contains the following mapping: 29.42/8.72 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 29.42/8.72 29.42/8.72 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 29.42/8.72 29.42/8.72 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 29.42/8.72 29.42/8.72 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x4, x5) 29.42/8.72 29.42/8.72 select_in_aga(x1, x2, x3) = select_in_aga(x2) 29.42/8.72 29.42/8.72 .(x1, x2) = .(x1, x2) 29.42/8.72 29.42/8.72 select_out_aga(x1, x2, x3) = select_out_aga(x1, x2, x3) 29.42/8.72 29.42/8.72 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x3, x5) 29.42/8.72 29.42/8.72 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x4, x5) 29.42/8.72 29.42/8.72 members_in_ag(x1, x2) = members_in_ag(x2) 29.42/8.72 29.42/8.72 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 29.42/8.72 29.42/8.72 member_in_ag(x1, x2) = member_in_ag(x2) 29.42/8.72 29.42/8.72 member_out_ag(x1, x2) = member_out_ag(x1, x2) 29.42/8.72 29.42/8.72 U8_ag(x1, x2, x3, x4) = U8_ag(x2, x3, x4) 29.42/8.72 29.42/8.72 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x3, x4) 29.42/8.72 29.42/8.72 members_out_ag(x1, x2) = members_out_ag(x1, x2) 29.42/8.72 29.42/8.72 color_region_out_ag(x1, x2) = color_region_out_ag(x1, x2) 29.42/8.72 29.42/8.72 region(x1, x2, x3) = region(x2, x3) 29.42/8.72 29.42/8.72 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x3, x4) 29.42/8.72 29.42/8.72 color_map_out_ag(x1, x2) = color_map_out_ag(x1, x2) 29.42/8.72 29.42/8.72 COLOR_MAP_IN_AG(x1, x2) = COLOR_MAP_IN_AG(x2) 29.42/8.72 29.42/8.72 U1_AG(x1, x2, x3, x4) = U1_AG(x3, x4) 29.42/8.72 29.42/8.72 COLOR_REGION_IN_AG(x1, x2) = COLOR_REGION_IN_AG(x2) 29.42/8.72 29.42/8.72 U3_AG(x1, x2, x3, x4, x5) = U3_AG(x4, x5) 29.42/8.72 29.42/8.72 SELECT_IN_AGA(x1, x2, x3) = SELECT_IN_AGA(x2) 29.42/8.72 29.42/8.72 U5_AGA(x1, x2, x3, x4, x5) = U5_AGA(x2, x3, x5) 29.42/8.72 29.42/8.72 U4_AG(x1, x2, x3, x4, x5) = U4_AG(x2, x4, x5) 29.42/8.72 29.42/8.72 MEMBERS_IN_AG(x1, x2) = MEMBERS_IN_AG(x2) 29.42/8.73 29.42/8.73 U6_AG(x1, x2, x3, x4) = U6_AG(x3, x4) 29.42/8.73 29.42/8.73 MEMBER_IN_AG(x1, x2) = MEMBER_IN_AG(x2) 29.42/8.73 29.42/8.73 U8_AG(x1, x2, x3, x4) = U8_AG(x2, x3, x4) 29.42/8.73 29.42/8.73 U7_AG(x1, x2, x3, x4) = U7_AG(x1, x3, x4) 29.42/8.73 29.42/8.73 U2_AG(x1, x2, x3, x4) = U2_AG(x1, x3, x4) 29.42/8.73 29.42/8.73 29.42/8.73 We have to consider all (P,R,Pi)-chains 29.42/8.73 ---------------------------------------- 29.42/8.73 29.42/8.73 (4) 29.42/8.73 Obligation: 29.42/8.73 Pi DP problem: 29.42/8.73 The TRS P consists of the following rules: 29.42/8.73 29.42/8.73 COLOR_MAP_IN_AG(.(Region, Regions), Colors) -> U1_AG(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 29.42/8.73 COLOR_MAP_IN_AG(.(Region, Regions), Colors) -> COLOR_REGION_IN_AG(Region, Colors) 29.42/8.73 COLOR_REGION_IN_AG(region(Name, Color, Neighbors), Colors) -> U3_AG(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 29.42/8.73 COLOR_REGION_IN_AG(region(Name, Color, Neighbors), Colors) -> SELECT_IN_AGA(Color, Colors, Colors1) 29.42/8.73 SELECT_IN_AGA(X, .(Y, Ys), .(Y, Zs)) -> U5_AGA(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 29.42/8.73 SELECT_IN_AGA(X, .(Y, Ys), .(Y, Zs)) -> SELECT_IN_AGA(X, Ys, Zs) 29.42/8.73 U3_AG(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_AG(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 29.42/8.73 U3_AG(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> MEMBERS_IN_AG(Neighbors, Colors1) 29.42/8.73 MEMBERS_IN_AG(.(X, Xs), Ys) -> U6_AG(X, Xs, Ys, member_in_ag(X, Ys)) 29.42/8.73 MEMBERS_IN_AG(.(X, Xs), Ys) -> MEMBER_IN_AG(X, Ys) 29.42/8.73 MEMBER_IN_AG(X, .(X2, Xs)) -> U8_AG(X, X2, Xs, member_in_ag(X, Xs)) 29.42/8.73 MEMBER_IN_AG(X, .(X2, Xs)) -> MEMBER_IN_AG(X, Xs) 29.42/8.73 U6_AG(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_AG(X, Xs, Ys, members_in_ag(Xs, Ys)) 29.42/8.73 U6_AG(X, Xs, Ys, member_out_ag(X, Ys)) -> MEMBERS_IN_AG(Xs, Ys) 29.42/8.73 U1_AG(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_AG(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 29.42/8.73 U1_AG(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> COLOR_MAP_IN_AG(Regions, Colors) 29.42/8.73 29.42/8.73 The TRS R consists of the following rules: 29.42/8.73 29.42/8.73 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 29.42/8.73 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 29.42/8.73 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 29.42/8.73 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 29.42/8.73 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 29.42/8.73 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 29.42/8.73 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 29.42/8.73 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 29.42/8.73 member_in_ag(X, .(X2, Xs)) -> U8_ag(X, X2, Xs, member_in_ag(X, Xs)) 29.42/8.73 U8_ag(X, X2, Xs, member_out_ag(X, Xs)) -> member_out_ag(X, .(X2, Xs)) 29.42/8.73 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 29.42/8.73 members_in_ag([], Ys) -> members_out_ag([], Ys) 29.42/8.73 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 29.42/8.73 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 29.42/8.73 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 29.42/8.73 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 29.42/8.73 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 29.42/8.73 29.42/8.73 The argument filtering Pi contains the following mapping: 29.42/8.73 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 29.42/8.73 29.42/8.73 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 29.42/8.73 29.42/8.73 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 29.42/8.73 29.42/8.73 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x4, x5) 29.42/8.73 29.42/8.73 select_in_aga(x1, x2, x3) = select_in_aga(x2) 29.42/8.73 29.42/8.73 .(x1, x2) = .(x1, x2) 29.42/8.73 29.42/8.73 select_out_aga(x1, x2, x3) = select_out_aga(x1, x2, x3) 29.42/8.73 29.42/8.73 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x3, x5) 29.42/8.73 29.42/8.73 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x4, x5) 29.42/8.73 29.42/8.73 members_in_ag(x1, x2) = members_in_ag(x2) 29.42/8.73 29.42/8.73 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 29.42/8.73 29.42/8.73 member_in_ag(x1, x2) = member_in_ag(x2) 29.42/8.73 29.42/8.73 member_out_ag(x1, x2) = member_out_ag(x1, x2) 29.42/8.73 29.42/8.73 U8_ag(x1, x2, x3, x4) = U8_ag(x2, x3, x4) 29.42/8.73 29.42/8.73 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x3, x4) 29.42/8.73 29.42/8.73 members_out_ag(x1, x2) = members_out_ag(x1, x2) 29.42/8.73 29.42/8.73 color_region_out_ag(x1, x2) = color_region_out_ag(x1, x2) 29.42/8.73 29.42/8.73 region(x1, x2, x3) = region(x2, x3) 29.42/8.73 29.42/8.73 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x3, x4) 29.42/8.73 29.42/8.73 color_map_out_ag(x1, x2) = color_map_out_ag(x1, x2) 29.42/8.73 29.42/8.73 COLOR_MAP_IN_AG(x1, x2) = COLOR_MAP_IN_AG(x2) 29.42/8.73 29.42/8.73 U1_AG(x1, x2, x3, x4) = U1_AG(x3, x4) 29.42/8.73 29.42/8.73 COLOR_REGION_IN_AG(x1, x2) = COLOR_REGION_IN_AG(x2) 29.42/8.73 29.42/8.73 U3_AG(x1, x2, x3, x4, x5) = U3_AG(x4, x5) 29.42/8.73 29.42/8.73 SELECT_IN_AGA(x1, x2, x3) = SELECT_IN_AGA(x2) 29.42/8.73 29.42/8.73 U5_AGA(x1, x2, x3, x4, x5) = U5_AGA(x2, x3, x5) 29.42/8.73 29.42/8.73 U4_AG(x1, x2, x3, x4, x5) = U4_AG(x2, x4, x5) 29.42/8.73 29.42/8.73 MEMBERS_IN_AG(x1, x2) = MEMBERS_IN_AG(x2) 29.42/8.73 29.42/8.73 U6_AG(x1, x2, x3, x4) = U6_AG(x3, x4) 29.42/8.73 29.42/8.73 MEMBER_IN_AG(x1, x2) = MEMBER_IN_AG(x2) 29.42/8.73 29.42/8.73 U8_AG(x1, x2, x3, x4) = U8_AG(x2, x3, x4) 29.42/8.73 29.42/8.73 U7_AG(x1, x2, x3, x4) = U7_AG(x1, x3, x4) 29.42/8.73 29.42/8.73 U2_AG(x1, x2, x3, x4) = U2_AG(x1, x3, x4) 29.42/8.73 29.42/8.73 29.42/8.73 We have to consider all (P,R,Pi)-chains 29.42/8.73 ---------------------------------------- 29.42/8.73 29.42/8.73 (5) DependencyGraphProof (EQUIVALENT) 29.42/8.73 The approximation of the Dependency Graph [LOPSTR] contains 4 SCCs with 10 less nodes. 29.42/8.73 ---------------------------------------- 29.42/8.73 29.42/8.73 (6) 29.42/8.73 Complex Obligation (AND) 29.42/8.73 29.42/8.73 ---------------------------------------- 29.42/8.73 29.42/8.73 (7) 29.42/8.73 Obligation: 29.42/8.73 Pi DP problem: 29.42/8.73 The TRS P consists of the following rules: 29.42/8.73 29.42/8.73 MEMBER_IN_AG(X, .(X2, Xs)) -> MEMBER_IN_AG(X, Xs) 29.42/8.73 29.42/8.73 The TRS R consists of the following rules: 29.42/8.73 29.42/8.73 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 29.42/8.73 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 29.42/8.73 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 29.42/8.73 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 29.42/8.73 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 29.42/8.73 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 29.42/8.73 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 29.42/8.73 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 29.42/8.73 member_in_ag(X, .(X2, Xs)) -> U8_ag(X, X2, Xs, member_in_ag(X, Xs)) 29.42/8.73 U8_ag(X, X2, Xs, member_out_ag(X, Xs)) -> member_out_ag(X, .(X2, Xs)) 29.42/8.73 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 29.42/8.73 members_in_ag([], Ys) -> members_out_ag([], Ys) 29.42/8.73 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 29.42/8.73 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 29.42/8.73 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 29.42/8.73 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 29.42/8.73 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 29.42/8.73 29.42/8.73 The argument filtering Pi contains the following mapping: 29.42/8.73 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 29.42/8.73 29.42/8.73 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 29.42/8.73 29.42/8.73 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 29.42/8.73 29.42/8.73 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x4, x5) 29.42/8.73 29.42/8.73 select_in_aga(x1, x2, x3) = select_in_aga(x2) 29.42/8.73 29.42/8.73 .(x1, x2) = .(x1, x2) 29.42/8.73 29.42/8.73 select_out_aga(x1, x2, x3) = select_out_aga(x1, x2, x3) 29.42/8.73 29.42/8.73 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x3, x5) 29.42/8.73 29.42/8.73 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x4, x5) 29.42/8.73 29.42/8.73 members_in_ag(x1, x2) = members_in_ag(x2) 29.42/8.73 29.42/8.73 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 29.42/8.73 29.42/8.73 member_in_ag(x1, x2) = member_in_ag(x2) 29.42/8.73 29.42/8.73 member_out_ag(x1, x2) = member_out_ag(x1, x2) 29.42/8.73 29.42/8.73 U8_ag(x1, x2, x3, x4) = U8_ag(x2, x3, x4) 29.42/8.73 29.42/8.73 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x3, x4) 29.42/8.73 29.42/8.73 members_out_ag(x1, x2) = members_out_ag(x1, x2) 29.42/8.73 29.42/8.73 color_region_out_ag(x1, x2) = color_region_out_ag(x1, x2) 29.42/8.73 29.42/8.73 region(x1, x2, x3) = region(x2, x3) 29.42/8.73 29.42/8.73 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x3, x4) 29.42/8.73 29.42/8.73 color_map_out_ag(x1, x2) = color_map_out_ag(x1, x2) 29.42/8.73 29.42/8.73 MEMBER_IN_AG(x1, x2) = MEMBER_IN_AG(x2) 29.42/8.73 29.42/8.73 29.42/8.73 We have to consider all (P,R,Pi)-chains 29.42/8.73 ---------------------------------------- 29.42/8.73 29.42/8.73 (8) UsableRulesProof (EQUIVALENT) 29.42/8.73 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 29.42/8.73 ---------------------------------------- 29.42/8.73 29.42/8.73 (9) 29.42/8.73 Obligation: 29.42/8.73 Pi DP problem: 29.42/8.73 The TRS P consists of the following rules: 29.42/8.73 29.42/8.73 MEMBER_IN_AG(X, .(X2, Xs)) -> MEMBER_IN_AG(X, Xs) 29.42/8.73 29.42/8.73 R is empty. 29.42/8.73 The argument filtering Pi contains the following mapping: 29.42/8.73 .(x1, x2) = .(x1, x2) 29.42/8.73 29.42/8.73 MEMBER_IN_AG(x1, x2) = MEMBER_IN_AG(x2) 29.42/8.73 29.42/8.73 29.42/8.73 We have to consider all (P,R,Pi)-chains 29.42/8.73 ---------------------------------------- 29.42/8.73 29.42/8.73 (10) PiDPToQDPProof (SOUND) 29.42/8.73 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 29.42/8.73 ---------------------------------------- 29.42/8.73 29.42/8.73 (11) 29.42/8.73 Obligation: 29.42/8.73 Q DP problem: 29.42/8.73 The TRS P consists of the following rules: 29.42/8.73 29.42/8.73 MEMBER_IN_AG(.(X2, Xs)) -> MEMBER_IN_AG(Xs) 29.42/8.73 29.42/8.73 R is empty. 29.42/8.73 Q is empty. 29.42/8.73 We have to consider all (P,Q,R)-chains. 29.42/8.73 ---------------------------------------- 29.42/8.73 29.42/8.73 (12) QDPSizeChangeProof (EQUIVALENT) 29.42/8.73 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.42/8.73 29.42/8.73 From the DPs we obtained the following set of size-change graphs: 29.42/8.73 *MEMBER_IN_AG(.(X2, Xs)) -> MEMBER_IN_AG(Xs) 29.42/8.73 The graph contains the following edges 1 > 1 29.42/8.73 29.42/8.73 29.42/8.73 ---------------------------------------- 29.42/8.73 29.42/8.73 (13) 29.42/8.73 YES 29.42/8.73 29.42/8.73 ---------------------------------------- 29.42/8.73 29.42/8.73 (14) 29.42/8.73 Obligation: 29.42/8.73 Pi DP problem: 29.42/8.73 The TRS P consists of the following rules: 29.42/8.73 29.42/8.73 U6_AG(X, Xs, Ys, member_out_ag(X, Ys)) -> MEMBERS_IN_AG(Xs, Ys) 29.42/8.73 MEMBERS_IN_AG(.(X, Xs), Ys) -> U6_AG(X, Xs, Ys, member_in_ag(X, Ys)) 29.42/8.73 29.42/8.73 The TRS R consists of the following rules: 29.42/8.73 29.42/8.73 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 29.42/8.73 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 29.42/8.73 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 29.42/8.73 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 29.42/8.73 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 29.42/8.73 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 29.42/8.73 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 29.42/8.73 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 29.42/8.73 member_in_ag(X, .(X2, Xs)) -> U8_ag(X, X2, Xs, member_in_ag(X, Xs)) 29.42/8.73 U8_ag(X, X2, Xs, member_out_ag(X, Xs)) -> member_out_ag(X, .(X2, Xs)) 29.42/8.73 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 29.42/8.73 members_in_ag([], Ys) -> members_out_ag([], Ys) 29.42/8.73 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 29.42/8.73 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 29.42/8.73 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 29.42/8.73 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 29.42/8.73 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 29.42/8.73 29.42/8.73 The argument filtering Pi contains the following mapping: 29.42/8.73 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 29.42/8.73 29.42/8.73 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 29.42/8.73 29.42/8.73 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 29.42/8.73 29.42/8.73 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x4, x5) 29.42/8.73 29.42/8.73 select_in_aga(x1, x2, x3) = select_in_aga(x2) 29.42/8.73 29.42/8.73 .(x1, x2) = .(x1, x2) 29.42/8.73 29.42/8.73 select_out_aga(x1, x2, x3) = select_out_aga(x1, x2, x3) 29.42/8.73 29.42/8.73 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x3, x5) 29.42/8.73 29.42/8.73 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x4, x5) 29.42/8.73 29.42/8.73 members_in_ag(x1, x2) = members_in_ag(x2) 29.42/8.73 29.42/8.73 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 29.42/8.73 29.42/8.73 member_in_ag(x1, x2) = member_in_ag(x2) 29.42/8.73 29.42/8.73 member_out_ag(x1, x2) = member_out_ag(x1, x2) 29.42/8.73 29.42/8.73 U8_ag(x1, x2, x3, x4) = U8_ag(x2, x3, x4) 29.42/8.73 29.42/8.73 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x3, x4) 29.42/8.73 29.42/8.73 members_out_ag(x1, x2) = members_out_ag(x1, x2) 29.42/8.73 29.42/8.73 color_region_out_ag(x1, x2) = color_region_out_ag(x1, x2) 29.42/8.73 29.42/8.73 region(x1, x2, x3) = region(x2, x3) 29.42/8.73 29.42/8.73 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x3, x4) 29.42/8.73 29.42/8.73 color_map_out_ag(x1, x2) = color_map_out_ag(x1, x2) 29.42/8.73 29.42/8.73 MEMBERS_IN_AG(x1, x2) = MEMBERS_IN_AG(x2) 29.42/8.73 29.42/8.73 U6_AG(x1, x2, x3, x4) = U6_AG(x3, x4) 29.42/8.73 29.42/8.73 29.42/8.73 We have to consider all (P,R,Pi)-chains 29.42/8.73 ---------------------------------------- 29.42/8.73 29.42/8.73 (15) UsableRulesProof (EQUIVALENT) 29.42/8.73 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 29.42/8.73 ---------------------------------------- 29.42/8.73 29.42/8.73 (16) 29.42/8.73 Obligation: 29.42/8.73 Pi DP problem: 29.42/8.73 The TRS P consists of the following rules: 29.42/8.73 29.42/8.73 U6_AG(X, Xs, Ys, member_out_ag(X, Ys)) -> MEMBERS_IN_AG(Xs, Ys) 29.42/8.73 MEMBERS_IN_AG(.(X, Xs), Ys) -> U6_AG(X, Xs, Ys, member_in_ag(X, Ys)) 29.42/8.73 29.42/8.73 The TRS R consists of the following rules: 29.42/8.73 29.42/8.73 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 29.42/8.73 member_in_ag(X, .(X2, Xs)) -> U8_ag(X, X2, Xs, member_in_ag(X, Xs)) 29.42/8.73 U8_ag(X, X2, Xs, member_out_ag(X, Xs)) -> member_out_ag(X, .(X2, Xs)) 29.42/8.73 29.42/8.73 The argument filtering Pi contains the following mapping: 29.42/8.73 .(x1, x2) = .(x1, x2) 29.42/8.73 29.42/8.73 member_in_ag(x1, x2) = member_in_ag(x2) 29.42/8.73 29.42/8.73 member_out_ag(x1, x2) = member_out_ag(x1, x2) 29.42/8.73 29.42/8.73 U8_ag(x1, x2, x3, x4) = U8_ag(x2, x3, x4) 29.42/8.73 29.42/8.73 MEMBERS_IN_AG(x1, x2) = MEMBERS_IN_AG(x2) 29.42/8.73 29.42/8.73 U6_AG(x1, x2, x3, x4) = U6_AG(x3, x4) 29.42/8.73 29.42/8.73 29.42/8.73 We have to consider all (P,R,Pi)-chains 29.42/8.73 ---------------------------------------- 29.42/8.73 29.42/8.73 (17) PiDPToQDPProof (SOUND) 29.42/8.73 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 29.42/8.73 ---------------------------------------- 29.42/8.73 29.42/8.73 (18) 29.42/8.73 Obligation: 29.42/8.73 Q DP problem: 29.42/8.73 The TRS P consists of the following rules: 29.42/8.73 29.42/8.73 U6_AG(Ys, member_out_ag(X, Ys)) -> MEMBERS_IN_AG(Ys) 29.42/8.73 MEMBERS_IN_AG(Ys) -> U6_AG(Ys, member_in_ag(Ys)) 29.42/8.73 29.42/8.73 The TRS R consists of the following rules: 29.42/8.73 29.42/8.73 member_in_ag(.(X, X1)) -> member_out_ag(X, .(X, X1)) 29.42/8.73 member_in_ag(.(X2, Xs)) -> U8_ag(X2, Xs, member_in_ag(Xs)) 29.42/8.73 U8_ag(X2, Xs, member_out_ag(X, Xs)) -> member_out_ag(X, .(X2, Xs)) 29.42/8.73 29.42/8.73 The set Q consists of the following terms: 29.42/8.73 29.42/8.73 member_in_ag(x0) 29.42/8.73 U8_ag(x0, x1, x2) 29.42/8.73 29.42/8.73 We have to consider all (P,Q,R)-chains. 29.42/8.73 ---------------------------------------- 29.42/8.73 29.42/8.73 (19) TransformationProof (SOUND) 29.42/8.73 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.42/8.73 29.42/8.73 (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.42/8.73 (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.42/8.73 29.42/8.73 29.42/8.73 ---------------------------------------- 29.42/8.73 29.42/8.73 (20) 29.42/8.73 Obligation: 29.42/8.73 Q DP problem: 29.42/8.73 The TRS P consists of the following rules: 29.42/8.73 29.42/8.73 U6_AG(Ys, member_out_ag(X, Ys)) -> MEMBERS_IN_AG(Ys) 29.42/8.73 MEMBERS_IN_AG(.(x0, x1)) -> U6_AG(.(x0, x1), member_out_ag(x0, .(x0, x1))) 29.42/8.73 MEMBERS_IN_AG(.(x0, x1)) -> U6_AG(.(x0, x1), U8_ag(x0, x1, member_in_ag(x1))) 29.42/8.73 29.42/8.73 The TRS R consists of the following rules: 29.42/8.73 29.42/8.73 member_in_ag(.(X, X1)) -> member_out_ag(X, .(X, X1)) 29.42/8.73 member_in_ag(.(X2, Xs)) -> U8_ag(X2, Xs, member_in_ag(Xs)) 29.42/8.73 U8_ag(X2, Xs, member_out_ag(X, Xs)) -> member_out_ag(X, .(X2, Xs)) 29.42/8.73 29.42/8.73 The set Q consists of the following terms: 29.42/8.73 29.42/8.73 member_in_ag(x0) 29.42/8.73 U8_ag(x0, x1, x2) 29.42/8.73 29.42/8.73 We have to consider all (P,Q,R)-chains. 29.42/8.73 ---------------------------------------- 29.42/8.73 29.42/8.73 (21) TransformationProof (EQUIVALENT) 29.42/8.73 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.42/8.73 29.42/8.73 (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.42/8.73 (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.42/8.73 29.42/8.73 29.42/8.73 ---------------------------------------- 29.42/8.73 29.42/8.73 (22) 29.42/8.73 Obligation: 29.42/8.73 Q DP problem: 29.42/8.73 The TRS P consists of the following rules: 29.42/8.73 29.42/8.73 MEMBERS_IN_AG(.(x0, x1)) -> U6_AG(.(x0, x1), member_out_ag(x0, .(x0, x1))) 29.42/8.73 MEMBERS_IN_AG(.(x0, x1)) -> U6_AG(.(x0, x1), U8_ag(x0, x1, member_in_ag(x1))) 29.42/8.73 U6_AG(.(z0, z1), member_out_ag(z0, .(z0, z1))) -> MEMBERS_IN_AG(.(z0, z1)) 29.42/8.73 U6_AG(.(z0, z1), member_out_ag(x1, .(z0, z1))) -> MEMBERS_IN_AG(.(z0, z1)) 29.42/8.73 29.42/8.73 The TRS R consists of the following rules: 29.42/8.73 29.42/8.73 member_in_ag(.(X, X1)) -> member_out_ag(X, .(X, X1)) 29.42/8.73 member_in_ag(.(X2, Xs)) -> U8_ag(X2, Xs, member_in_ag(Xs)) 29.42/8.73 U8_ag(X2, Xs, member_out_ag(X, Xs)) -> member_out_ag(X, .(X2, Xs)) 29.42/8.73 29.42/8.73 The set Q consists of the following terms: 29.42/8.73 29.42/8.73 member_in_ag(x0) 29.42/8.73 U8_ag(x0, x1, x2) 29.42/8.73 29.42/8.73 We have to consider all (P,Q,R)-chains. 29.42/8.73 ---------------------------------------- 29.42/8.73 29.42/8.73 (23) 29.42/8.73 Obligation: 29.42/8.73 Pi DP problem: 29.42/8.73 The TRS P consists of the following rules: 29.42/8.73 29.42/8.73 SELECT_IN_AGA(X, .(Y, Ys), .(Y, Zs)) -> SELECT_IN_AGA(X, Ys, Zs) 29.42/8.73 29.42/8.73 The TRS R consists of the following rules: 29.42/8.73 29.42/8.73 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 29.42/8.73 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 29.42/8.73 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 29.42/8.73 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 29.42/8.73 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 29.42/8.73 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 29.42/8.73 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 29.42/8.73 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 29.42/8.73 member_in_ag(X, .(X2, Xs)) -> U8_ag(X, X2, Xs, member_in_ag(X, Xs)) 29.42/8.73 U8_ag(X, X2, Xs, member_out_ag(X, Xs)) -> member_out_ag(X, .(X2, Xs)) 29.42/8.73 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 29.42/8.73 members_in_ag([], Ys) -> members_out_ag([], Ys) 29.42/8.73 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 29.42/8.73 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 29.42/8.73 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 29.42/8.73 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 29.42/8.73 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 29.42/8.73 29.42/8.73 The argument filtering Pi contains the following mapping: 29.42/8.73 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 29.42/8.73 29.42/8.73 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 29.42/8.73 29.42/8.73 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 29.42/8.73 29.42/8.73 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x4, x5) 29.42/8.73 29.42/8.73 select_in_aga(x1, x2, x3) = select_in_aga(x2) 29.42/8.73 29.42/8.73 .(x1, x2) = .(x1, x2) 29.42/8.73 29.42/8.73 select_out_aga(x1, x2, x3) = select_out_aga(x1, x2, x3) 29.42/8.73 29.42/8.73 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x3, x5) 29.42/8.73 29.42/8.73 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x4, x5) 29.42/8.73 29.42/8.73 members_in_ag(x1, x2) = members_in_ag(x2) 29.42/8.73 29.42/8.73 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 29.42/8.73 29.42/8.73 member_in_ag(x1, x2) = member_in_ag(x2) 29.42/8.73 29.42/8.73 member_out_ag(x1, x2) = member_out_ag(x1, x2) 29.42/8.73 29.42/8.73 U8_ag(x1, x2, x3, x4) = U8_ag(x2, x3, x4) 29.42/8.73 29.42/8.73 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x3, x4) 29.42/8.73 29.42/8.73 members_out_ag(x1, x2) = members_out_ag(x1, x2) 29.42/8.73 29.42/8.73 color_region_out_ag(x1, x2) = color_region_out_ag(x1, x2) 29.42/8.73 29.42/8.73 region(x1, x2, x3) = region(x2, x3) 29.42/8.73 29.42/8.73 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x3, x4) 29.42/8.73 29.42/8.73 color_map_out_ag(x1, x2) = color_map_out_ag(x1, x2) 29.42/8.73 29.42/8.73 SELECT_IN_AGA(x1, x2, x3) = SELECT_IN_AGA(x2) 29.42/8.73 29.42/8.73 29.42/8.73 We have to consider all (P,R,Pi)-chains 29.42/8.73 ---------------------------------------- 29.42/8.73 29.42/8.73 (24) UsableRulesProof (EQUIVALENT) 29.42/8.73 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 29.42/8.73 ---------------------------------------- 29.42/8.73 29.42/8.73 (25) 29.42/8.73 Obligation: 29.42/8.73 Pi DP problem: 29.42/8.73 The TRS P consists of the following rules: 29.42/8.73 29.42/8.73 SELECT_IN_AGA(X, .(Y, Ys), .(Y, Zs)) -> SELECT_IN_AGA(X, Ys, Zs) 29.42/8.73 29.42/8.73 R is empty. 29.42/8.73 The argument filtering Pi contains the following mapping: 29.42/8.73 .(x1, x2) = .(x1, x2) 29.42/8.73 29.42/8.73 SELECT_IN_AGA(x1, x2, x3) = SELECT_IN_AGA(x2) 29.42/8.73 29.42/8.73 29.42/8.73 We have to consider all (P,R,Pi)-chains 29.42/8.73 ---------------------------------------- 29.42/8.73 29.42/8.73 (26) 29.42/8.73 Obligation: 29.42/8.73 Pi DP problem: 29.42/8.73 The TRS P consists of the following rules: 29.42/8.73 29.42/8.73 U1_AG(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> COLOR_MAP_IN_AG(Regions, Colors) 29.42/8.73 COLOR_MAP_IN_AG(.(Region, Regions), Colors) -> U1_AG(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 29.42/8.73 29.42/8.73 The TRS R consists of the following rules: 29.42/8.73 29.42/8.73 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 29.42/8.73 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 29.42/8.73 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 29.42/8.73 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 29.42/8.73 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 29.42/8.73 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 29.42/8.73 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 29.42/8.73 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 29.42/8.73 member_in_ag(X, .(X2, Xs)) -> U8_ag(X, X2, Xs, member_in_ag(X, Xs)) 29.42/8.73 U8_ag(X, X2, Xs, member_out_ag(X, Xs)) -> member_out_ag(X, .(X2, Xs)) 29.42/8.73 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 29.42/8.73 members_in_ag([], Ys) -> members_out_ag([], Ys) 29.42/8.73 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 29.42/8.73 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 29.42/8.73 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 29.42/8.73 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 29.42/8.73 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 29.42/8.73 29.42/8.73 The argument filtering Pi contains the following mapping: 29.42/8.73 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 29.42/8.73 29.42/8.73 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 29.42/8.73 29.42/8.73 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 29.42/8.73 29.42/8.73 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x4, x5) 29.42/8.73 29.42/8.73 select_in_aga(x1, x2, x3) = select_in_aga(x2) 29.42/8.73 29.42/8.73 .(x1, x2) = .(x1, x2) 29.42/8.73 29.42/8.73 select_out_aga(x1, x2, x3) = select_out_aga(x1, x2, x3) 29.42/8.73 29.42/8.73 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x3, x5) 29.42/8.73 29.42/8.73 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x4, x5) 29.42/8.73 29.42/8.73 members_in_ag(x1, x2) = members_in_ag(x2) 29.42/8.73 29.42/8.73 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 29.42/8.73 29.42/8.73 member_in_ag(x1, x2) = member_in_ag(x2) 29.42/8.73 29.42/8.73 member_out_ag(x1, x2) = member_out_ag(x1, x2) 29.42/8.73 29.42/8.73 U8_ag(x1, x2, x3, x4) = U8_ag(x2, x3, x4) 29.42/8.73 29.42/8.73 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x3, x4) 29.42/8.73 29.42/8.73 members_out_ag(x1, x2) = members_out_ag(x1, x2) 29.42/8.73 29.42/8.73 color_region_out_ag(x1, x2) = color_region_out_ag(x1, x2) 29.42/8.73 29.42/8.73 region(x1, x2, x3) = region(x2, x3) 29.42/8.73 29.42/8.73 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x3, x4) 29.42/8.73 29.42/8.73 color_map_out_ag(x1, x2) = color_map_out_ag(x1, x2) 29.42/8.73 29.42/8.73 COLOR_MAP_IN_AG(x1, x2) = COLOR_MAP_IN_AG(x2) 29.42/8.73 29.42/8.73 U1_AG(x1, x2, x3, x4) = U1_AG(x3, x4) 29.42/8.73 29.42/8.73 29.42/8.73 We have to consider all (P,R,Pi)-chains 29.42/8.73 ---------------------------------------- 29.42/8.73 29.42/8.73 (27) UsableRulesProof (EQUIVALENT) 29.42/8.73 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 29.42/8.73 ---------------------------------------- 29.42/8.73 29.42/8.73 (28) 29.42/8.73 Obligation: 29.42/8.73 Pi DP problem: 29.42/8.73 The TRS P consists of the following rules: 29.42/8.73 29.42/8.73 U1_AG(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> COLOR_MAP_IN_AG(Regions, Colors) 29.42/8.73 COLOR_MAP_IN_AG(.(Region, Regions), Colors) -> U1_AG(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 29.42/8.73 29.42/8.73 The TRS R consists of the following rules: 29.42/8.73 29.42/8.73 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 29.42/8.73 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 29.42/8.73 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 29.42/8.73 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 29.42/8.73 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 29.42/8.73 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 29.42/8.73 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 29.42/8.73 members_in_ag([], Ys) -> members_out_ag([], Ys) 29.42/8.73 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 29.42/8.73 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 29.42/8.73 member_in_ag(X, .(X2, Xs)) -> U8_ag(X, X2, Xs, member_in_ag(X, Xs)) 29.42/8.73 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 29.42/8.73 U8_ag(X, X2, Xs, member_out_ag(X, Xs)) -> member_out_ag(X, .(X2, Xs)) 29.42/8.73 29.42/8.73 The argument filtering Pi contains the following mapping: 29.42/8.73 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 29.42/8.73 29.42/8.73 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x4, x5) 29.42/8.73 29.42/8.73 select_in_aga(x1, x2, x3) = select_in_aga(x2) 29.42/8.73 29.42/8.73 .(x1, x2) = .(x1, x2) 29.42/8.73 29.42/8.73 select_out_aga(x1, x2, x3) = select_out_aga(x1, x2, x3) 29.42/8.73 29.42/8.73 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x3, x5) 29.42/8.73 29.42/8.73 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x4, x5) 29.42/8.73 29.42/8.73 members_in_ag(x1, x2) = members_in_ag(x2) 29.42/8.73 29.42/8.73 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 29.42/8.73 29.42/8.73 member_in_ag(x1, x2) = member_in_ag(x2) 29.42/8.73 29.42/8.73 member_out_ag(x1, x2) = member_out_ag(x1, x2) 29.42/8.73 29.42/8.73 U8_ag(x1, x2, x3, x4) = U8_ag(x2, x3, x4) 29.42/8.73 29.42/8.73 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x3, x4) 29.42/8.73 29.42/8.73 members_out_ag(x1, x2) = members_out_ag(x1, x2) 29.42/8.73 29.42/8.73 color_region_out_ag(x1, x2) = color_region_out_ag(x1, x2) 29.42/8.73 29.42/8.73 region(x1, x2, x3) = region(x2, x3) 29.42/8.73 29.42/8.73 COLOR_MAP_IN_AG(x1, x2) = COLOR_MAP_IN_AG(x2) 29.42/8.73 29.42/8.73 U1_AG(x1, x2, x3, x4) = U1_AG(x3, x4) 29.42/8.73 29.42/8.73 29.42/8.73 We have to consider all (P,R,Pi)-chains 29.42/8.73 ---------------------------------------- 29.42/8.73 29.42/8.73 (29) PrologToPiTRSProof (SOUND) 29.42/8.73 We use the technique of [TOCL09]. With regard to the inferred argument filtering the predicates were used in the following modes: 29.42/8.73 29.42/8.73 color_map_in_2: (f,b) 29.42/8.73 29.42/8.73 color_region_in_2: (f,b) 29.42/8.73 29.42/8.73 select_in_3: (f,b,f) 29.42/8.73 29.42/8.73 members_in_2: (f,b) 29.42/8.73 29.42/8.73 member_in_2: (f,b) 29.42/8.73 29.42/8.73 Transforming Prolog into the following Term Rewriting System: 29.42/8.73 29.42/8.73 Pi-finite rewrite system: 29.42/8.73 The TRS R consists of the following rules: 29.42/8.73 29.42/8.73 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 29.42/8.73 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 29.42/8.73 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 29.42/8.73 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 29.42/8.73 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 29.42/8.73 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 29.42/8.73 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 29.42/8.73 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 29.42/8.73 member_in_ag(X, .(X2, Xs)) -> U8_ag(X, X2, Xs, member_in_ag(X, Xs)) 29.42/8.73 U8_ag(X, X2, Xs, member_out_ag(X, Xs)) -> member_out_ag(X, .(X2, Xs)) 29.42/8.73 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 29.42/8.73 members_in_ag([], Ys) -> members_out_ag([], Ys) 29.42/8.73 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 29.42/8.73 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 29.42/8.73 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 29.42/8.73 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 29.42/8.73 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 29.42/8.73 29.42/8.73 The argument filtering Pi contains the following mapping: 29.42/8.73 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 29.42/8.73 29.42/8.73 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 29.42/8.73 29.42/8.73 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 29.42/8.73 29.42/8.73 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x5) 29.42/8.73 29.42/8.73 select_in_aga(x1, x2, x3) = select_in_aga(x2) 29.42/8.73 29.42/8.73 .(x1, x2) = .(x1, x2) 29.42/8.73 29.42/8.73 select_out_aga(x1, x2, x3) = select_out_aga(x1, x3) 29.42/8.73 29.42/8.73 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x5) 29.42/8.73 29.42/8.73 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x5) 29.42/8.73 29.42/8.73 members_in_ag(x1, x2) = members_in_ag(x2) 29.42/8.73 29.42/8.73 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 29.42/8.73 29.42/8.73 member_in_ag(x1, x2) = member_in_ag(x2) 29.42/8.73 29.42/8.73 member_out_ag(x1, x2) = member_out_ag(x1) 29.42/8.73 29.42/8.73 U8_ag(x1, x2, x3, x4) = U8_ag(x4) 29.42/8.73 29.42/8.73 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x4) 29.42/8.73 29.42/8.73 members_out_ag(x1, x2) = members_out_ag(x1) 29.42/8.73 29.42/8.73 color_region_out_ag(x1, x2) = color_region_out_ag(x1) 29.42/8.73 29.42/8.73 region(x1, x2, x3) = region(x2, x3) 29.42/8.73 29.42/8.73 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x4) 29.42/8.73 29.42/8.73 color_map_out_ag(x1, x2) = color_map_out_ag(x1) 29.42/8.73 29.42/8.73 29.42/8.73 29.42/8.73 29.42/8.73 29.42/8.73 Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog 29.42/8.73 29.42/8.73 29.42/8.73 29.42/8.73 ---------------------------------------- 29.42/8.73 29.42/8.73 (30) 29.42/8.73 Obligation: 29.42/8.73 Pi-finite rewrite system: 29.42/8.73 The TRS R consists of the following rules: 29.42/8.73 29.42/8.73 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 29.42/8.73 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 29.42/8.73 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 29.42/8.73 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 29.42/8.73 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 29.42/8.73 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 29.42/8.73 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 29.42/8.73 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 29.42/8.73 member_in_ag(X, .(X2, Xs)) -> U8_ag(X, X2, Xs, member_in_ag(X, Xs)) 29.42/8.73 U8_ag(X, X2, Xs, member_out_ag(X, Xs)) -> member_out_ag(X, .(X2, Xs)) 29.42/8.73 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 29.42/8.73 members_in_ag([], Ys) -> members_out_ag([], Ys) 29.42/8.73 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 29.42/8.73 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 29.42/8.73 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 29.42/8.73 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 29.42/8.73 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 29.42/8.73 29.42/8.73 The argument filtering Pi contains the following mapping: 29.42/8.73 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 29.42/8.73 29.42/8.73 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 29.42/8.73 29.42/8.73 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 29.42/8.73 29.42/8.73 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x5) 29.42/8.73 29.42/8.73 select_in_aga(x1, x2, x3) = select_in_aga(x2) 29.42/8.73 29.42/8.73 .(x1, x2) = .(x1, x2) 29.42/8.73 29.42/8.73 select_out_aga(x1, x2, x3) = select_out_aga(x1, x3) 29.42/8.73 29.42/8.73 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x5) 29.42/8.73 29.42/8.73 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x5) 29.42/8.73 29.42/8.73 members_in_ag(x1, x2) = members_in_ag(x2) 29.42/8.73 29.42/8.73 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 29.42/8.73 29.42/8.73 member_in_ag(x1, x2) = member_in_ag(x2) 29.42/8.73 29.42/8.73 member_out_ag(x1, x2) = member_out_ag(x1) 29.42/8.73 29.42/8.73 U8_ag(x1, x2, x3, x4) = U8_ag(x4) 29.42/8.73 29.42/8.73 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x4) 29.42/8.73 29.42/8.73 members_out_ag(x1, x2) = members_out_ag(x1) 29.42/8.73 29.42/8.73 color_region_out_ag(x1, x2) = color_region_out_ag(x1) 29.42/8.73 29.42/8.73 region(x1, x2, x3) = region(x2, x3) 29.42/8.73 29.42/8.73 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x4) 29.42/8.73 29.42/8.73 color_map_out_ag(x1, x2) = color_map_out_ag(x1) 29.42/8.73 29.42/8.73 29.42/8.73 29.42/8.73 ---------------------------------------- 29.42/8.73 29.42/8.73 (31) DependencyPairsProof (EQUIVALENT) 29.42/8.73 Using Dependency Pairs [AG00,LOPSTR] we result in the following initial DP problem: 29.42/8.73 Pi DP problem: 29.42/8.73 The TRS P consists of the following rules: 29.42/8.73 29.42/8.73 COLOR_MAP_IN_AG(.(Region, Regions), Colors) -> U1_AG(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 29.42/8.73 COLOR_MAP_IN_AG(.(Region, Regions), Colors) -> COLOR_REGION_IN_AG(Region, Colors) 29.42/8.73 COLOR_REGION_IN_AG(region(Name, Color, Neighbors), Colors) -> U3_AG(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 29.42/8.73 COLOR_REGION_IN_AG(region(Name, Color, Neighbors), Colors) -> SELECT_IN_AGA(Color, Colors, Colors1) 29.42/8.73 SELECT_IN_AGA(X, .(Y, Ys), .(Y, Zs)) -> U5_AGA(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 29.42/8.73 SELECT_IN_AGA(X, .(Y, Ys), .(Y, Zs)) -> SELECT_IN_AGA(X, Ys, Zs) 29.42/8.73 U3_AG(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_AG(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 29.42/8.73 U3_AG(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> MEMBERS_IN_AG(Neighbors, Colors1) 29.42/8.73 MEMBERS_IN_AG(.(X, Xs), Ys) -> U6_AG(X, Xs, Ys, member_in_ag(X, Ys)) 29.42/8.73 MEMBERS_IN_AG(.(X, Xs), Ys) -> MEMBER_IN_AG(X, Ys) 29.42/8.73 MEMBER_IN_AG(X, .(X2, Xs)) -> U8_AG(X, X2, Xs, member_in_ag(X, Xs)) 29.42/8.73 MEMBER_IN_AG(X, .(X2, Xs)) -> MEMBER_IN_AG(X, Xs) 29.42/8.73 U6_AG(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_AG(X, Xs, Ys, members_in_ag(Xs, Ys)) 29.42/8.73 U6_AG(X, Xs, Ys, member_out_ag(X, Ys)) -> MEMBERS_IN_AG(Xs, Ys) 29.42/8.73 U1_AG(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_AG(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 29.42/8.73 U1_AG(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> COLOR_MAP_IN_AG(Regions, Colors) 29.42/8.73 29.42/8.73 The TRS R consists of the following rules: 29.42/8.73 29.42/8.73 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 29.42/8.73 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 29.42/8.73 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 29.42/8.73 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 29.42/8.73 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 29.42/8.73 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 29.42/8.73 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 29.42/8.73 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 29.42/8.73 member_in_ag(X, .(X2, Xs)) -> U8_ag(X, X2, Xs, member_in_ag(X, Xs)) 29.42/8.73 U8_ag(X, X2, Xs, member_out_ag(X, Xs)) -> member_out_ag(X, .(X2, Xs)) 29.42/8.73 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 29.42/8.73 members_in_ag([], Ys) -> members_out_ag([], Ys) 29.42/8.73 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 29.42/8.73 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 29.42/8.73 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 29.42/8.73 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 29.42/8.73 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 29.42/8.73 29.42/8.73 The argument filtering Pi contains the following mapping: 29.42/8.73 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 29.42/8.73 29.42/8.73 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 29.42/8.73 29.42/8.73 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 29.42/8.73 29.42/8.73 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x5) 29.42/8.73 29.42/8.73 select_in_aga(x1, x2, x3) = select_in_aga(x2) 29.42/8.73 29.42/8.73 .(x1, x2) = .(x1, x2) 29.42/8.73 29.42/8.73 select_out_aga(x1, x2, x3) = select_out_aga(x1, x3) 29.42/8.73 29.42/8.73 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x5) 29.42/8.73 29.42/8.73 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x5) 29.42/8.73 29.42/8.73 members_in_ag(x1, x2) = members_in_ag(x2) 29.42/8.73 29.42/8.73 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 29.42/8.73 29.42/8.73 member_in_ag(x1, x2) = member_in_ag(x2) 29.42/8.73 29.42/8.73 member_out_ag(x1, x2) = member_out_ag(x1) 29.42/8.73 29.42/8.73 U8_ag(x1, x2, x3, x4) = U8_ag(x4) 29.42/8.73 29.42/8.73 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x4) 29.42/8.73 29.42/8.73 members_out_ag(x1, x2) = members_out_ag(x1) 29.42/8.73 29.42/8.73 color_region_out_ag(x1, x2) = color_region_out_ag(x1) 29.42/8.73 29.42/8.73 region(x1, x2, x3) = region(x2, x3) 29.42/8.73 29.42/8.73 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x4) 29.42/8.73 29.42/8.73 color_map_out_ag(x1, x2) = color_map_out_ag(x1) 29.42/8.73 29.42/8.73 COLOR_MAP_IN_AG(x1, x2) = COLOR_MAP_IN_AG(x2) 29.42/8.73 29.42/8.73 U1_AG(x1, x2, x3, x4) = U1_AG(x3, x4) 29.42/8.73 29.42/8.73 COLOR_REGION_IN_AG(x1, x2) = COLOR_REGION_IN_AG(x2) 29.42/8.73 29.42/8.73 U3_AG(x1, x2, x3, x4, x5) = U3_AG(x5) 29.42/8.73 29.42/8.73 SELECT_IN_AGA(x1, x2, x3) = SELECT_IN_AGA(x2) 29.42/8.73 29.42/8.73 U5_AGA(x1, x2, x3, x4, x5) = U5_AGA(x2, x5) 29.42/8.73 29.42/8.73 U4_AG(x1, x2, x3, x4, x5) = U4_AG(x2, x5) 29.42/8.73 29.42/8.73 MEMBERS_IN_AG(x1, x2) = MEMBERS_IN_AG(x2) 29.42/8.73 29.42/8.73 U6_AG(x1, x2, x3, x4) = U6_AG(x3, x4) 29.42/8.73 29.42/8.73 MEMBER_IN_AG(x1, x2) = MEMBER_IN_AG(x2) 29.42/8.73 29.42/8.73 U8_AG(x1, x2, x3, x4) = U8_AG(x4) 29.42/8.73 29.42/8.73 U7_AG(x1, x2, x3, x4) = U7_AG(x1, x4) 29.42/8.73 29.42/8.73 U2_AG(x1, x2, x3, x4) = U2_AG(x1, x4) 29.42/8.73 29.42/8.73 29.42/8.73 We have to consider all (P,R,Pi)-chains 29.42/8.73 ---------------------------------------- 29.42/8.73 29.42/8.73 (32) 29.42/8.73 Obligation: 29.42/8.73 Pi DP problem: 29.42/8.73 The TRS P consists of the following rules: 29.42/8.73 29.42/8.73 COLOR_MAP_IN_AG(.(Region, Regions), Colors) -> U1_AG(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 29.42/8.73 COLOR_MAP_IN_AG(.(Region, Regions), Colors) -> COLOR_REGION_IN_AG(Region, Colors) 29.42/8.73 COLOR_REGION_IN_AG(region(Name, Color, Neighbors), Colors) -> U3_AG(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 29.42/8.73 COLOR_REGION_IN_AG(region(Name, Color, Neighbors), Colors) -> SELECT_IN_AGA(Color, Colors, Colors1) 29.42/8.73 SELECT_IN_AGA(X, .(Y, Ys), .(Y, Zs)) -> U5_AGA(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 29.42/8.73 SELECT_IN_AGA(X, .(Y, Ys), .(Y, Zs)) -> SELECT_IN_AGA(X, Ys, Zs) 29.42/8.73 U3_AG(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_AG(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 29.42/8.73 U3_AG(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> MEMBERS_IN_AG(Neighbors, Colors1) 29.42/8.73 MEMBERS_IN_AG(.(X, Xs), Ys) -> U6_AG(X, Xs, Ys, member_in_ag(X, Ys)) 29.42/8.73 MEMBERS_IN_AG(.(X, Xs), Ys) -> MEMBER_IN_AG(X, Ys) 29.42/8.73 MEMBER_IN_AG(X, .(X2, Xs)) -> U8_AG(X, X2, Xs, member_in_ag(X, Xs)) 29.42/8.73 MEMBER_IN_AG(X, .(X2, Xs)) -> MEMBER_IN_AG(X, Xs) 29.42/8.73 U6_AG(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_AG(X, Xs, Ys, members_in_ag(Xs, Ys)) 29.42/8.73 U6_AG(X, Xs, Ys, member_out_ag(X, Ys)) -> MEMBERS_IN_AG(Xs, Ys) 29.42/8.73 U1_AG(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_AG(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 29.42/8.73 U1_AG(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> COLOR_MAP_IN_AG(Regions, Colors) 29.42/8.73 29.42/8.73 The TRS R consists of the following rules: 29.42/8.73 29.42/8.73 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 29.42/8.73 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 29.42/8.73 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 29.42/8.73 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 29.42/8.73 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 29.42/8.73 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 29.42/8.73 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 29.42/8.73 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 29.42/8.73 member_in_ag(X, .(X2, Xs)) -> U8_ag(X, X2, Xs, member_in_ag(X, Xs)) 29.42/8.73 U8_ag(X, X2, Xs, member_out_ag(X, Xs)) -> member_out_ag(X, .(X2, Xs)) 29.42/8.73 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 29.42/8.73 members_in_ag([], Ys) -> members_out_ag([], Ys) 29.42/8.73 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 29.42/8.73 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 29.42/8.73 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 29.42/8.73 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 29.42/8.73 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 29.42/8.73 29.42/8.73 The argument filtering Pi contains the following mapping: 29.42/8.73 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 29.42/8.73 29.42/8.73 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 29.42/8.73 29.42/8.73 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 29.42/8.73 29.42/8.73 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x5) 29.42/8.73 29.42/8.73 select_in_aga(x1, x2, x3) = select_in_aga(x2) 29.42/8.73 29.42/8.73 .(x1, x2) = .(x1, x2) 29.42/8.73 29.42/8.73 select_out_aga(x1, x2, x3) = select_out_aga(x1, x3) 29.42/8.73 29.42/8.73 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x5) 29.42/8.73 29.42/8.73 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x5) 29.42/8.73 29.42/8.73 members_in_ag(x1, x2) = members_in_ag(x2) 29.42/8.73 29.42/8.73 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 29.42/8.73 29.42/8.73 member_in_ag(x1, x2) = member_in_ag(x2) 29.42/8.73 29.42/8.73 member_out_ag(x1, x2) = member_out_ag(x1) 29.42/8.73 29.42/8.73 U8_ag(x1, x2, x3, x4) = U8_ag(x4) 29.42/8.73 29.42/8.73 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x4) 29.42/8.73 29.42/8.73 members_out_ag(x1, x2) = members_out_ag(x1) 29.42/8.73 29.42/8.73 color_region_out_ag(x1, x2) = color_region_out_ag(x1) 29.42/8.73 29.42/8.73 region(x1, x2, x3) = region(x2, x3) 29.42/8.73 29.42/8.73 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x4) 29.42/8.73 29.42/8.73 color_map_out_ag(x1, x2) = color_map_out_ag(x1) 29.42/8.73 29.42/8.73 COLOR_MAP_IN_AG(x1, x2) = COLOR_MAP_IN_AG(x2) 29.42/8.73 29.42/8.73 U1_AG(x1, x2, x3, x4) = U1_AG(x3, x4) 29.42/8.73 29.42/8.73 COLOR_REGION_IN_AG(x1, x2) = COLOR_REGION_IN_AG(x2) 29.42/8.73 29.42/8.73 U3_AG(x1, x2, x3, x4, x5) = U3_AG(x5) 29.42/8.73 29.42/8.73 SELECT_IN_AGA(x1, x2, x3) = SELECT_IN_AGA(x2) 29.42/8.73 29.42/8.73 U5_AGA(x1, x2, x3, x4, x5) = U5_AGA(x2, x5) 29.42/8.73 29.42/8.73 U4_AG(x1, x2, x3, x4, x5) = U4_AG(x2, x5) 29.42/8.73 29.42/8.73 MEMBERS_IN_AG(x1, x2) = MEMBERS_IN_AG(x2) 29.42/8.73 29.42/8.73 U6_AG(x1, x2, x3, x4) = U6_AG(x3, x4) 29.42/8.73 29.42/8.73 MEMBER_IN_AG(x1, x2) = MEMBER_IN_AG(x2) 29.42/8.73 29.42/8.73 U8_AG(x1, x2, x3, x4) = U8_AG(x4) 29.42/8.74 29.42/8.74 U7_AG(x1, x2, x3, x4) = U7_AG(x1, x4) 29.42/8.74 29.42/8.74 U2_AG(x1, x2, x3, x4) = U2_AG(x1, x4) 29.42/8.74 29.42/8.74 29.42/8.74 We have to consider all (P,R,Pi)-chains 29.42/8.74 ---------------------------------------- 29.42/8.74 29.42/8.74 (33) DependencyGraphProof (EQUIVALENT) 29.42/8.74 The approximation of the Dependency Graph [LOPSTR] contains 4 SCCs with 10 less nodes. 29.42/8.74 ---------------------------------------- 29.42/8.74 29.42/8.74 (34) 29.42/8.74 Complex Obligation (AND) 29.42/8.74 29.42/8.74 ---------------------------------------- 29.42/8.74 29.42/8.74 (35) 29.42/8.74 Obligation: 29.42/8.74 Pi DP problem: 29.42/8.74 The TRS P consists of the following rules: 29.42/8.74 29.42/8.74 MEMBER_IN_AG(X, .(X2, Xs)) -> MEMBER_IN_AG(X, Xs) 29.42/8.74 29.42/8.74 The TRS R consists of the following rules: 29.42/8.74 29.42/8.74 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 29.42/8.74 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 29.42/8.74 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 29.42/8.74 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 29.42/8.74 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 29.42/8.74 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 29.42/8.74 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 29.42/8.74 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 29.42/8.74 member_in_ag(X, .(X2, Xs)) -> U8_ag(X, X2, Xs, member_in_ag(X, Xs)) 29.42/8.74 U8_ag(X, X2, Xs, member_out_ag(X, Xs)) -> member_out_ag(X, .(X2, Xs)) 29.42/8.74 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 29.42/8.74 members_in_ag([], Ys) -> members_out_ag([], Ys) 29.42/8.74 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 29.42/8.74 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 29.42/8.74 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 29.42/8.74 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 29.42/8.74 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 29.42/8.74 29.42/8.74 The argument filtering Pi contains the following mapping: 29.42/8.74 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 29.42/8.74 29.42/8.74 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 29.42/8.74 29.42/8.74 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 29.42/8.74 29.42/8.74 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x5) 29.42/8.74 29.42/8.74 select_in_aga(x1, x2, x3) = select_in_aga(x2) 29.42/8.74 29.42/8.74 .(x1, x2) = .(x1, x2) 29.42/8.74 29.42/8.74 select_out_aga(x1, x2, x3) = select_out_aga(x1, x3) 29.42/8.74 29.42/8.74 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x5) 29.42/8.74 29.42/8.74 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x5) 29.42/8.74 29.42/8.74 members_in_ag(x1, x2) = members_in_ag(x2) 29.42/8.74 29.42/8.74 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 29.42/8.74 29.42/8.74 member_in_ag(x1, x2) = member_in_ag(x2) 29.42/8.74 29.42/8.74 member_out_ag(x1, x2) = member_out_ag(x1) 29.42/8.74 29.42/8.74 U8_ag(x1, x2, x3, x4) = U8_ag(x4) 29.42/8.74 29.42/8.74 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x4) 29.42/8.74 29.42/8.74 members_out_ag(x1, x2) = members_out_ag(x1) 29.42/8.74 29.42/8.74 color_region_out_ag(x1, x2) = color_region_out_ag(x1) 29.42/8.74 29.42/8.74 region(x1, x2, x3) = region(x2, x3) 29.42/8.74 29.42/8.74 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x4) 29.42/8.74 29.42/8.74 color_map_out_ag(x1, x2) = color_map_out_ag(x1) 29.42/8.74 29.42/8.74 MEMBER_IN_AG(x1, x2) = MEMBER_IN_AG(x2) 29.42/8.74 29.42/8.74 29.42/8.74 We have to consider all (P,R,Pi)-chains 29.42/8.74 ---------------------------------------- 29.42/8.74 29.42/8.74 (36) UsableRulesProof (EQUIVALENT) 29.42/8.74 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 29.42/8.74 ---------------------------------------- 29.42/8.74 29.42/8.74 (37) 29.42/8.74 Obligation: 29.42/8.74 Pi DP problem: 29.42/8.74 The TRS P consists of the following rules: 29.42/8.74 29.42/8.74 MEMBER_IN_AG(X, .(X2, Xs)) -> MEMBER_IN_AG(X, Xs) 29.42/8.74 29.42/8.74 R is empty. 29.42/8.74 The argument filtering Pi contains the following mapping: 29.42/8.74 .(x1, x2) = .(x1, x2) 29.42/8.74 29.42/8.74 MEMBER_IN_AG(x1, x2) = MEMBER_IN_AG(x2) 29.42/8.74 29.42/8.74 29.42/8.74 We have to consider all (P,R,Pi)-chains 29.42/8.74 ---------------------------------------- 29.42/8.74 29.42/8.74 (38) PiDPToQDPProof (SOUND) 29.42/8.74 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 29.42/8.74 ---------------------------------------- 29.42/8.74 29.42/8.74 (39) 29.42/8.74 Obligation: 29.42/8.74 Q DP problem: 29.42/8.74 The TRS P consists of the following rules: 29.42/8.74 29.42/8.74 MEMBER_IN_AG(.(X2, Xs)) -> MEMBER_IN_AG(Xs) 29.42/8.74 29.42/8.74 R is empty. 29.42/8.74 Q is empty. 29.42/8.74 We have to consider all (P,Q,R)-chains. 29.42/8.74 ---------------------------------------- 29.42/8.74 29.42/8.74 (40) QDPSizeChangeProof (EQUIVALENT) 29.42/8.74 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.42/8.74 29.42/8.74 From the DPs we obtained the following set of size-change graphs: 29.42/8.74 *MEMBER_IN_AG(.(X2, Xs)) -> MEMBER_IN_AG(Xs) 29.42/8.74 The graph contains the following edges 1 > 1 29.42/8.74 29.42/8.74 29.42/8.74 ---------------------------------------- 29.42/8.74 29.42/8.74 (41) 29.42/8.74 YES 29.42/8.74 29.42/8.74 ---------------------------------------- 29.42/8.74 29.42/8.74 (42) 29.42/8.74 Obligation: 29.42/8.74 Pi DP problem: 29.42/8.74 The TRS P consists of the following rules: 29.42/8.74 29.42/8.74 U6_AG(X, Xs, Ys, member_out_ag(X, Ys)) -> MEMBERS_IN_AG(Xs, Ys) 29.42/8.74 MEMBERS_IN_AG(.(X, Xs), Ys) -> U6_AG(X, Xs, Ys, member_in_ag(X, Ys)) 29.42/8.74 29.42/8.74 The TRS R consists of the following rules: 29.42/8.74 29.42/8.74 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 29.42/8.74 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 29.42/8.74 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 29.42/8.74 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 29.42/8.74 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 29.42/8.74 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 29.42/8.74 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 29.42/8.74 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 29.42/8.74 member_in_ag(X, .(X2, Xs)) -> U8_ag(X, X2, Xs, member_in_ag(X, Xs)) 29.42/8.74 U8_ag(X, X2, Xs, member_out_ag(X, Xs)) -> member_out_ag(X, .(X2, Xs)) 29.42/8.74 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 29.42/8.74 members_in_ag([], Ys) -> members_out_ag([], Ys) 29.42/8.74 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 29.42/8.74 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 29.42/8.74 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 29.42/8.74 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 29.42/8.74 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 29.42/8.74 29.42/8.74 The argument filtering Pi contains the following mapping: 29.42/8.74 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 29.42/8.74 29.42/8.74 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 29.42/8.74 29.42/8.74 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 29.42/8.74 29.42/8.74 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x5) 29.42/8.74 29.42/8.74 select_in_aga(x1, x2, x3) = select_in_aga(x2) 29.42/8.74 29.42/8.74 .(x1, x2) = .(x1, x2) 29.42/8.74 29.42/8.74 select_out_aga(x1, x2, x3) = select_out_aga(x1, x3) 29.42/8.74 29.42/8.74 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x5) 29.42/8.74 29.42/8.74 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x5) 29.42/8.74 29.42/8.74 members_in_ag(x1, x2) = members_in_ag(x2) 29.42/8.74 29.42/8.74 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 29.42/8.74 29.42/8.74 member_in_ag(x1, x2) = member_in_ag(x2) 29.42/8.74 29.42/8.74 member_out_ag(x1, x2) = member_out_ag(x1) 29.42/8.74 29.42/8.74 U8_ag(x1, x2, x3, x4) = U8_ag(x4) 29.42/8.74 29.42/8.74 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x4) 29.42/8.74 29.42/8.74 members_out_ag(x1, x2) = members_out_ag(x1) 29.42/8.74 29.42/8.74 color_region_out_ag(x1, x2) = color_region_out_ag(x1) 29.42/8.74 29.42/8.74 region(x1, x2, x3) = region(x2, x3) 29.42/8.74 29.42/8.74 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x4) 29.42/8.74 29.42/8.74 color_map_out_ag(x1, x2) = color_map_out_ag(x1) 29.42/8.74 29.42/8.74 MEMBERS_IN_AG(x1, x2) = MEMBERS_IN_AG(x2) 29.42/8.74 29.42/8.74 U6_AG(x1, x2, x3, x4) = U6_AG(x3, x4) 29.42/8.74 29.42/8.74 29.42/8.74 We have to consider all (P,R,Pi)-chains 29.42/8.74 ---------------------------------------- 29.42/8.74 29.42/8.74 (43) UsableRulesProof (EQUIVALENT) 29.42/8.74 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 29.42/8.74 ---------------------------------------- 29.42/8.74 29.42/8.74 (44) 29.42/8.74 Obligation: 29.42/8.74 Pi DP problem: 29.42/8.74 The TRS P consists of the following rules: 29.42/8.74 29.42/8.74 U6_AG(X, Xs, Ys, member_out_ag(X, Ys)) -> MEMBERS_IN_AG(Xs, Ys) 29.42/8.74 MEMBERS_IN_AG(.(X, Xs), Ys) -> U6_AG(X, Xs, Ys, member_in_ag(X, Ys)) 29.42/8.74 29.42/8.74 The TRS R consists of the following rules: 29.42/8.74 29.42/8.74 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 29.42/8.74 member_in_ag(X, .(X2, Xs)) -> U8_ag(X, X2, Xs, member_in_ag(X, Xs)) 29.42/8.74 U8_ag(X, X2, Xs, member_out_ag(X, Xs)) -> member_out_ag(X, .(X2, Xs)) 29.42/8.74 29.42/8.74 The argument filtering Pi contains the following mapping: 29.42/8.74 .(x1, x2) = .(x1, x2) 29.42/8.74 29.42/8.74 member_in_ag(x1, x2) = member_in_ag(x2) 29.42/8.74 29.42/8.74 member_out_ag(x1, x2) = member_out_ag(x1) 29.42/8.74 29.42/8.74 U8_ag(x1, x2, x3, x4) = U8_ag(x4) 29.42/8.74 29.42/8.74 MEMBERS_IN_AG(x1, x2) = MEMBERS_IN_AG(x2) 29.42/8.74 29.42/8.74 U6_AG(x1, x2, x3, x4) = U6_AG(x3, x4) 29.42/8.74 29.42/8.74 29.42/8.74 We have to consider all (P,R,Pi)-chains 29.42/8.74 ---------------------------------------- 29.42/8.74 29.42/8.74 (45) PiDPToQDPProof (SOUND) 29.42/8.74 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 29.42/8.74 ---------------------------------------- 29.42/8.74 29.42/8.74 (46) 29.42/8.74 Obligation: 29.42/8.74 Q DP problem: 29.42/8.74 The TRS P consists of the following rules: 29.42/8.74 29.42/8.74 U6_AG(Ys, member_out_ag(X)) -> MEMBERS_IN_AG(Ys) 29.42/8.74 MEMBERS_IN_AG(Ys) -> U6_AG(Ys, member_in_ag(Ys)) 29.42/8.74 29.42/8.74 The TRS R consists of the following rules: 29.42/8.74 29.42/8.74 member_in_ag(.(X, X1)) -> member_out_ag(X) 29.42/8.74 member_in_ag(.(X2, Xs)) -> U8_ag(member_in_ag(Xs)) 29.42/8.74 U8_ag(member_out_ag(X)) -> member_out_ag(X) 29.42/8.74 29.42/8.74 The set Q consists of the following terms: 29.42/8.74 29.42/8.74 member_in_ag(x0) 29.42/8.74 U8_ag(x0) 29.42/8.74 29.42/8.74 We have to consider all (P,Q,R)-chains. 29.42/8.74 ---------------------------------------- 29.42/8.74 29.42/8.74 (47) TransformationProof (SOUND) 29.42/8.74 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.42/8.74 29.42/8.74 (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.42/8.74 (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.42/8.74 29.42/8.74 29.42/8.74 ---------------------------------------- 29.42/8.74 29.42/8.74 (48) 29.42/8.74 Obligation: 29.42/8.74 Q DP problem: 29.42/8.74 The TRS P consists of the following rules: 29.42/8.74 29.42/8.74 U6_AG(Ys, member_out_ag(X)) -> MEMBERS_IN_AG(Ys) 29.42/8.74 MEMBERS_IN_AG(.(x0, x1)) -> U6_AG(.(x0, x1), member_out_ag(x0)) 29.42/8.74 MEMBERS_IN_AG(.(x0, x1)) -> U6_AG(.(x0, x1), U8_ag(member_in_ag(x1))) 29.42/8.74 29.42/8.74 The TRS R consists of the following rules: 29.42/8.74 29.42/8.74 member_in_ag(.(X, X1)) -> member_out_ag(X) 29.42/8.74 member_in_ag(.(X2, Xs)) -> U8_ag(member_in_ag(Xs)) 29.42/8.74 U8_ag(member_out_ag(X)) -> member_out_ag(X) 29.42/8.74 29.42/8.74 The set Q consists of the following terms: 29.42/8.74 29.42/8.74 member_in_ag(x0) 29.42/8.74 U8_ag(x0) 29.42/8.74 29.42/8.74 We have to consider all (P,Q,R)-chains. 29.42/8.74 ---------------------------------------- 29.42/8.74 29.42/8.74 (49) TransformationProof (EQUIVALENT) 29.42/8.74 By instantiating [LPAR04] the rule U6_AG(Ys, member_out_ag(X)) -> MEMBERS_IN_AG(Ys) we obtained the following new rules [LPAR04]: 29.42/8.74 29.42/8.74 (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.42/8.74 (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.42/8.74 29.42/8.74 29.42/8.74 ---------------------------------------- 29.42/8.74 29.42/8.74 (50) 29.42/8.74 Obligation: 29.42/8.74 Q DP problem: 29.42/8.74 The TRS P consists of the following rules: 29.42/8.74 29.42/8.74 MEMBERS_IN_AG(.(x0, x1)) -> U6_AG(.(x0, x1), member_out_ag(x0)) 29.42/8.74 MEMBERS_IN_AG(.(x0, x1)) -> U6_AG(.(x0, x1), U8_ag(member_in_ag(x1))) 29.42/8.74 U6_AG(.(z0, z1), member_out_ag(z0)) -> MEMBERS_IN_AG(.(z0, z1)) 29.42/8.74 U6_AG(.(z0, z1), member_out_ag(x1)) -> MEMBERS_IN_AG(.(z0, z1)) 29.42/8.74 29.42/8.74 The TRS R consists of the following rules: 29.42/8.74 29.42/8.74 member_in_ag(.(X, X1)) -> member_out_ag(X) 29.42/8.74 member_in_ag(.(X2, Xs)) -> U8_ag(member_in_ag(Xs)) 29.42/8.74 U8_ag(member_out_ag(X)) -> member_out_ag(X) 29.42/8.74 29.42/8.74 The set Q consists of the following terms: 29.42/8.74 29.42/8.74 member_in_ag(x0) 29.42/8.74 U8_ag(x0) 29.42/8.74 29.42/8.74 We have to consider all (P,Q,R)-chains. 29.42/8.74 ---------------------------------------- 29.42/8.74 29.42/8.74 (51) NonTerminationLoopProof (COMPLETE) 29.42/8.74 We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. 29.42/8.74 Found a loop by narrowing to the left: 29.42/8.74 29.42/8.74 s = U6_AG(.(z0, z1), member_out_ag(z0)) evaluates to t =U6_AG(.(z0, z1), member_out_ag(z0)) 29.42/8.74 29.42/8.74 Thus s starts an infinite chain as s semiunifies with t with the following substitutions: 29.42/8.74 * Matcher: [ ] 29.42/8.74 * Semiunifier: [ ] 29.42/8.74 29.42/8.74 -------------------------------------------------------------------------------- 29.42/8.74 Rewriting sequence 29.42/8.74 29.42/8.74 U6_AG(.(z0, z1), member_out_ag(z0)) -> MEMBERS_IN_AG(.(z0, z1)) 29.42/8.74 with rule U6_AG(.(z0', z1'), member_out_ag(z0')) -> MEMBERS_IN_AG(.(z0', z1')) at position [] and matcher [z0' / z0, z1' / z1] 29.42/8.74 29.42/8.74 MEMBERS_IN_AG(.(z0, z1)) -> U6_AG(.(z0, z1), member_out_ag(z0)) 29.42/8.74 with rule MEMBERS_IN_AG(.(x0, x1)) -> U6_AG(.(x0, x1), member_out_ag(x0)) 29.42/8.74 29.42/8.74 Now applying the matcher to the start term leads to a term which is equal to the last term in the rewriting sequence 29.42/8.74 29.42/8.74 29.42/8.74 All these steps are and every following step will be a correct step w.r.t to Q. 29.42/8.74 29.42/8.74 29.42/8.74 29.42/8.74 29.42/8.74 ---------------------------------------- 29.42/8.74 29.42/8.74 (52) 29.42/8.74 NO 29.42/8.74 29.42/8.74 ---------------------------------------- 29.42/8.74 29.42/8.74 (53) 29.42/8.74 Obligation: 29.42/8.74 Pi DP problem: 29.42/8.74 The TRS P consists of the following rules: 29.42/8.74 29.42/8.74 SELECT_IN_AGA(X, .(Y, Ys), .(Y, Zs)) -> SELECT_IN_AGA(X, Ys, Zs) 29.42/8.74 29.42/8.74 The TRS R consists of the following rules: 29.42/8.74 29.42/8.74 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 29.42/8.74 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 29.42/8.74 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 29.42/8.74 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 29.42/8.74 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 29.42/8.74 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 29.42/8.74 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 29.42/8.74 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 29.42/8.74 member_in_ag(X, .(X2, Xs)) -> U8_ag(X, X2, Xs, member_in_ag(X, Xs)) 29.42/8.74 U8_ag(X, X2, Xs, member_out_ag(X, Xs)) -> member_out_ag(X, .(X2, Xs)) 29.42/8.74 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 29.42/8.74 members_in_ag([], Ys) -> members_out_ag([], Ys) 29.42/8.74 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 29.42/8.74 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 29.42/8.74 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 29.42/8.74 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 29.42/8.74 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 29.42/8.74 29.42/8.74 The argument filtering Pi contains the following mapping: 29.42/8.74 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 29.42/8.74 29.42/8.74 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 29.42/8.74 29.42/8.74 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 29.42/8.74 29.42/8.74 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x5) 29.42/8.74 29.42/8.74 select_in_aga(x1, x2, x3) = select_in_aga(x2) 29.42/8.74 29.42/8.74 .(x1, x2) = .(x1, x2) 29.42/8.74 29.42/8.74 select_out_aga(x1, x2, x3) = select_out_aga(x1, x3) 29.42/8.74 29.42/8.74 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x5) 29.42/8.74 29.42/8.74 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x5) 29.42/8.74 29.42/8.74 members_in_ag(x1, x2) = members_in_ag(x2) 29.42/8.74 29.42/8.74 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 29.42/8.74 29.42/8.74 member_in_ag(x1, x2) = member_in_ag(x2) 29.42/8.74 29.42/8.74 member_out_ag(x1, x2) = member_out_ag(x1) 29.42/8.74 29.42/8.74 U8_ag(x1, x2, x3, x4) = U8_ag(x4) 29.42/8.74 29.42/8.74 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x4) 29.42/8.74 29.42/8.74 members_out_ag(x1, x2) = members_out_ag(x1) 29.42/8.75 29.42/8.75 color_region_out_ag(x1, x2) = color_region_out_ag(x1) 29.42/8.75 29.42/8.75 region(x1, x2, x3) = region(x2, x3) 29.42/8.75 29.42/8.75 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x4) 29.42/8.75 29.42/8.75 color_map_out_ag(x1, x2) = color_map_out_ag(x1) 29.42/8.75 29.42/8.75 SELECT_IN_AGA(x1, x2, x3) = SELECT_IN_AGA(x2) 29.42/8.75 29.42/8.75 29.42/8.75 We have to consider all (P,R,Pi)-chains 29.42/8.75 ---------------------------------------- 29.42/8.75 29.42/8.75 (54) UsableRulesProof (EQUIVALENT) 29.42/8.75 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 29.42/8.75 ---------------------------------------- 29.42/8.75 29.42/8.75 (55) 29.42/8.75 Obligation: 29.42/8.75 Pi DP problem: 29.42/8.75 The TRS P consists of the following rules: 29.42/8.75 29.42/8.75 SELECT_IN_AGA(X, .(Y, Ys), .(Y, Zs)) -> SELECT_IN_AGA(X, Ys, Zs) 29.42/8.75 29.42/8.75 R is empty. 29.42/8.75 The argument filtering Pi contains the following mapping: 29.42/8.75 .(x1, x2) = .(x1, x2) 29.42/8.75 29.42/8.75 SELECT_IN_AGA(x1, x2, x3) = SELECT_IN_AGA(x2) 29.42/8.75 29.42/8.75 29.42/8.75 We have to consider all (P,R,Pi)-chains 29.42/8.75 ---------------------------------------- 29.42/8.75 29.42/8.75 (56) PiDPToQDPProof (SOUND) 29.42/8.75 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 29.42/8.75 ---------------------------------------- 29.42/8.75 29.42/8.75 (57) 29.42/8.75 Obligation: 29.42/8.75 Q DP problem: 29.42/8.75 The TRS P consists of the following rules: 29.42/8.75 29.42/8.75 SELECT_IN_AGA(.(Y, Ys)) -> SELECT_IN_AGA(Ys) 29.42/8.75 29.42/8.75 R is empty. 29.42/8.75 Q is empty. 29.42/8.75 We have to consider all (P,Q,R)-chains. 29.42/8.75 ---------------------------------------- 29.42/8.75 29.42/8.75 (58) QDPSizeChangeProof (EQUIVALENT) 29.42/8.75 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.42/8.75 29.42/8.75 From the DPs we obtained the following set of size-change graphs: 29.42/8.75 *SELECT_IN_AGA(.(Y, Ys)) -> SELECT_IN_AGA(Ys) 29.42/8.75 The graph contains the following edges 1 > 1 29.42/8.75 29.42/8.75 29.42/8.75 ---------------------------------------- 29.42/8.75 29.42/8.75 (59) 29.42/8.75 YES 29.42/8.75 29.42/8.75 ---------------------------------------- 29.42/8.75 29.42/8.75 (60) 29.42/8.75 Obligation: 29.42/8.75 Pi DP problem: 29.42/8.75 The TRS P consists of the following rules: 29.42/8.75 29.42/8.75 U1_AG(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> COLOR_MAP_IN_AG(Regions, Colors) 29.42/8.75 COLOR_MAP_IN_AG(.(Region, Regions), Colors) -> U1_AG(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 29.42/8.75 29.42/8.75 The TRS R consists of the following rules: 29.42/8.75 29.42/8.75 color_map_in_ag(.(Region, Regions), Colors) -> U1_ag(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 29.42/8.75 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 29.42/8.75 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 29.42/8.75 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 29.42/8.75 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 29.42/8.75 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 29.42/8.75 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 29.42/8.75 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 29.42/8.75 member_in_ag(X, .(X2, Xs)) -> U8_ag(X, X2, Xs, member_in_ag(X, Xs)) 29.42/8.75 U8_ag(X, X2, Xs, member_out_ag(X, Xs)) -> member_out_ag(X, .(X2, Xs)) 29.42/8.75 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 29.42/8.75 members_in_ag([], Ys) -> members_out_ag([], Ys) 29.42/8.75 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 29.42/8.75 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 29.42/8.75 U1_ag(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> U2_ag(Region, Regions, Colors, color_map_in_ag(Regions, Colors)) 29.42/8.75 color_map_in_ag([], Colors) -> color_map_out_ag([], Colors) 29.42/8.75 U2_ag(Region, Regions, Colors, color_map_out_ag(Regions, Colors)) -> color_map_out_ag(.(Region, Regions), Colors) 29.42/8.75 29.42/8.75 The argument filtering Pi contains the following mapping: 29.42/8.75 color_map_in_ag(x1, x2) = color_map_in_ag(x2) 29.42/8.75 29.42/8.75 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 29.42/8.75 29.42/8.75 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 29.42/8.75 29.42/8.75 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x5) 29.42/8.75 29.42/8.75 select_in_aga(x1, x2, x3) = select_in_aga(x2) 29.42/8.75 29.42/8.75 .(x1, x2) = .(x1, x2) 29.42/8.75 29.42/8.75 select_out_aga(x1, x2, x3) = select_out_aga(x1, x3) 29.42/8.75 29.42/8.75 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x5) 29.42/8.75 29.42/8.75 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x5) 29.42/8.75 29.42/8.75 members_in_ag(x1, x2) = members_in_ag(x2) 29.42/8.75 29.42/8.75 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 29.42/8.75 29.42/8.75 member_in_ag(x1, x2) = member_in_ag(x2) 29.42/8.75 29.42/8.75 member_out_ag(x1, x2) = member_out_ag(x1) 29.42/8.75 29.42/8.75 U8_ag(x1, x2, x3, x4) = U8_ag(x4) 29.42/8.75 29.42/8.75 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x4) 29.42/8.75 29.42/8.75 members_out_ag(x1, x2) = members_out_ag(x1) 29.42/8.75 29.42/8.75 color_region_out_ag(x1, x2) = color_region_out_ag(x1) 29.42/8.75 29.42/8.75 region(x1, x2, x3) = region(x2, x3) 29.42/8.75 29.42/8.75 U2_ag(x1, x2, x3, x4) = U2_ag(x1, x4) 29.42/8.75 29.42/8.75 color_map_out_ag(x1, x2) = color_map_out_ag(x1) 29.42/8.75 29.42/8.75 COLOR_MAP_IN_AG(x1, x2) = COLOR_MAP_IN_AG(x2) 29.42/8.75 29.42/8.75 U1_AG(x1, x2, x3, x4) = U1_AG(x3, x4) 29.42/8.75 29.42/8.75 29.42/8.75 We have to consider all (P,R,Pi)-chains 29.42/8.75 ---------------------------------------- 29.42/8.75 29.42/8.75 (61) UsableRulesProof (EQUIVALENT) 29.42/8.75 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 29.42/8.75 ---------------------------------------- 29.42/8.75 29.42/8.75 (62) 29.42/8.75 Obligation: 29.42/8.75 Pi DP problem: 29.42/8.75 The TRS P consists of the following rules: 29.42/8.75 29.42/8.75 U1_AG(Region, Regions, Colors, color_region_out_ag(Region, Colors)) -> COLOR_MAP_IN_AG(Regions, Colors) 29.42/8.75 COLOR_MAP_IN_AG(.(Region, Regions), Colors) -> U1_AG(Region, Regions, Colors, color_region_in_ag(Region, Colors)) 29.42/8.75 29.42/8.75 The TRS R consists of the following rules: 29.42/8.75 29.42/8.75 color_region_in_ag(region(Name, Color, Neighbors), Colors) -> U3_ag(Name, Color, Neighbors, Colors, select_in_aga(Color, Colors, Colors1)) 29.42/8.75 U3_ag(Name, Color, Neighbors, Colors, select_out_aga(Color, Colors, Colors1)) -> U4_ag(Name, Color, Neighbors, Colors, members_in_ag(Neighbors, Colors1)) 29.42/8.75 select_in_aga(X, .(X, Xs), Xs) -> select_out_aga(X, .(X, Xs), Xs) 29.42/8.75 select_in_aga(X, .(Y, Ys), .(Y, Zs)) -> U5_aga(X, Y, Ys, Zs, select_in_aga(X, Ys, Zs)) 29.42/8.75 U4_ag(Name, Color, Neighbors, Colors, members_out_ag(Neighbors, Colors1)) -> color_region_out_ag(region(Name, Color, Neighbors), Colors) 29.42/8.75 U5_aga(X, Y, Ys, Zs, select_out_aga(X, Ys, Zs)) -> select_out_aga(X, .(Y, Ys), .(Y, Zs)) 29.42/8.75 members_in_ag(.(X, Xs), Ys) -> U6_ag(X, Xs, Ys, member_in_ag(X, Ys)) 29.42/8.75 members_in_ag([], Ys) -> members_out_ag([], Ys) 29.42/8.75 U6_ag(X, Xs, Ys, member_out_ag(X, Ys)) -> U7_ag(X, Xs, Ys, members_in_ag(Xs, Ys)) 29.42/8.75 member_in_ag(X, .(X, X1)) -> member_out_ag(X, .(X, X1)) 29.42/8.75 member_in_ag(X, .(X2, Xs)) -> U8_ag(X, X2, Xs, member_in_ag(X, Xs)) 29.42/8.75 U7_ag(X, Xs, Ys, members_out_ag(Xs, Ys)) -> members_out_ag(.(X, Xs), Ys) 29.42/8.75 U8_ag(X, X2, Xs, member_out_ag(X, Xs)) -> member_out_ag(X, .(X2, Xs)) 29.42/8.75 29.42/8.75 The argument filtering Pi contains the following mapping: 29.42/8.75 color_region_in_ag(x1, x2) = color_region_in_ag(x2) 29.42/8.75 29.42/8.75 U3_ag(x1, x2, x3, x4, x5) = U3_ag(x5) 29.42/8.75 29.42/8.75 select_in_aga(x1, x2, x3) = select_in_aga(x2) 29.42/8.75 29.42/8.75 .(x1, x2) = .(x1, x2) 29.42/8.75 29.42/8.75 select_out_aga(x1, x2, x3) = select_out_aga(x1, x3) 29.42/8.75 29.42/8.75 U5_aga(x1, x2, x3, x4, x5) = U5_aga(x2, x5) 29.42/8.75 29.42/8.75 U4_ag(x1, x2, x3, x4, x5) = U4_ag(x2, x5) 29.42/8.75 29.42/8.75 members_in_ag(x1, x2) = members_in_ag(x2) 29.42/8.75 29.42/8.75 U6_ag(x1, x2, x3, x4) = U6_ag(x3, x4) 29.42/8.75 29.42/8.75 member_in_ag(x1, x2) = member_in_ag(x2) 29.42/8.75 29.42/8.75 member_out_ag(x1, x2) = member_out_ag(x1) 29.42/8.75 29.42/8.75 U8_ag(x1, x2, x3, x4) = U8_ag(x4) 29.42/8.75 29.42/8.75 U7_ag(x1, x2, x3, x4) = U7_ag(x1, x4) 29.42/8.75 29.42/8.75 members_out_ag(x1, x2) = members_out_ag(x1) 29.42/8.75 29.42/8.75 color_region_out_ag(x1, x2) = color_region_out_ag(x1) 29.42/8.75 29.42/8.75 region(x1, x2, x3) = region(x2, x3) 29.42/8.75 29.42/8.75 COLOR_MAP_IN_AG(x1, x2) = COLOR_MAP_IN_AG(x2) 29.42/8.75 29.42/8.75 U1_AG(x1, x2, x3, x4) = U1_AG(x3, x4) 29.42/8.75 29.42/8.75 29.42/8.75 We have to consider all (P,R,Pi)-chains 29.42/8.75 ---------------------------------------- 29.42/8.75 29.42/8.75 (63) PiDPToQDPProof (SOUND) 29.42/8.75 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 29.42/8.75 ---------------------------------------- 29.42/8.75 29.42/8.75 (64) 29.42/8.75 Obligation: 29.42/8.75 Q DP problem: 29.42/8.75 The TRS P consists of the following rules: 29.42/8.75 29.42/8.75 U1_AG(Colors, color_region_out_ag(Region)) -> COLOR_MAP_IN_AG(Colors) 29.42/8.75 COLOR_MAP_IN_AG(Colors) -> U1_AG(Colors, color_region_in_ag(Colors)) 29.42/8.75 29.42/8.75 The TRS R consists of the following rules: 29.42/8.75 29.42/8.75 color_region_in_ag(Colors) -> U3_ag(select_in_aga(Colors)) 29.42/8.75 U3_ag(select_out_aga(Color, Colors1)) -> U4_ag(Color, members_in_ag(Colors1)) 29.42/8.75 select_in_aga(.(X, Xs)) -> select_out_aga(X, Xs) 29.42/8.75 select_in_aga(.(Y, Ys)) -> U5_aga(Y, select_in_aga(Ys)) 29.42/8.75 U4_ag(Color, members_out_ag(Neighbors)) -> color_region_out_ag(region(Color, Neighbors)) 29.42/8.75 U5_aga(Y, select_out_aga(X, Zs)) -> select_out_aga(X, .(Y, Zs)) 29.42/8.75 members_in_ag(Ys) -> U6_ag(Ys, member_in_ag(Ys)) 29.42/8.75 members_in_ag(Ys) -> members_out_ag([]) 29.42/8.75 U6_ag(Ys, member_out_ag(X)) -> U7_ag(X, members_in_ag(Ys)) 29.42/8.75 member_in_ag(.(X, X1)) -> member_out_ag(X) 29.42/8.75 member_in_ag(.(X2, Xs)) -> U8_ag(member_in_ag(Xs)) 29.42/8.75 U7_ag(X, members_out_ag(Xs)) -> members_out_ag(.(X, Xs)) 29.42/8.75 U8_ag(member_out_ag(X)) -> member_out_ag(X) 29.42/8.75 29.42/8.75 The set Q consists of the following terms: 29.42/8.75 29.42/8.75 color_region_in_ag(x0) 29.42/8.75 U3_ag(x0) 29.42/8.75 select_in_aga(x0) 29.42/8.75 U4_ag(x0, x1) 29.42/8.75 U5_aga(x0, x1) 29.42/8.75 members_in_ag(x0) 29.42/8.75 U6_ag(x0, x1) 29.42/8.75 member_in_ag(x0) 29.42/8.75 U7_ag(x0, x1) 29.42/8.75 U8_ag(x0) 29.42/8.75 29.42/8.75 We have to consider all (P,Q,R)-chains. 29.42/8.75 ---------------------------------------- 29.42/8.75 29.42/8.75 (65) PrologToTRSTransformerProof (SOUND) 29.42/8.75 Transformed Prolog program to TRS. 29.42/8.75 29.42/8.75 { 29.42/8.75 "root": 2, 29.42/8.75 "program": { 29.42/8.75 "directives": [], 29.42/8.75 "clauses": [ 29.42/8.75 [ 29.42/8.75 "(color_map (. Region Regions) Colors)", 29.42/8.75 "(',' (color_region Region Colors) (color_map Regions Colors))" 29.42/8.75 ], 29.42/8.75 [ 29.42/8.75 "(color_map ([]) Colors)", 29.42/8.75 null 29.42/8.75 ], 29.42/8.75 [ 29.42/8.75 "(color_region (region Name Color Neighbors) Colors)", 29.42/8.75 "(',' (select Color Colors Colors1) (members Neighbors Colors1))" 29.42/8.75 ], 29.42/8.75 [ 29.42/8.75 "(select X (. X Xs) Xs)", 29.42/8.75 null 29.42/8.75 ], 29.42/8.75 [ 29.42/8.75 "(select X (. Y Ys) (. Y Zs))", 29.42/8.75 "(select X Ys Zs)" 29.42/8.75 ], 29.42/8.75 [ 29.42/8.75 "(members (. X Xs) Ys)", 29.42/8.75 "(',' (member X Ys) (members Xs Ys))" 29.42/8.75 ], 29.42/8.75 [ 29.42/8.75 "(members ([]) Ys)", 29.42/8.75 null 29.42/8.75 ], 29.42/8.75 [ 29.42/8.75 "(member X (. X X1))", 29.42/8.75 null 29.42/8.75 ], 29.42/8.75 [ 29.42/8.75 "(member X (. X2 Xs))", 29.42/8.75 "(member X Xs)" 29.42/8.75 ] 29.42/8.75 ] 29.42/8.75 }, 29.42/8.75 "graph": { 29.42/8.75 "nodes": { 29.42/8.75 "44": { 29.42/8.75 "goal": [{ 29.42/8.75 "clause": 1, 29.42/8.75 "scope": 1, 29.42/8.75 "term": "(color_map T1 T2)" 29.42/8.75 }], 29.42/8.75 "kb": { 29.42/8.75 "nonunifying": [], 29.42/8.75 "intvars": {}, 29.42/8.75 "arithmetic": { 29.42/8.75 "type": "PlainIntegerRelationState", 29.42/8.75 "relations": [] 29.42/8.75 }, 29.42/8.75 "ground": ["T2"], 29.42/8.75 "free": [], 29.42/8.75 "exprvars": [] 29.42/8.75 } 29.42/8.75 }, 29.42/8.75 "47": { 29.42/8.75 "goal": [{ 29.42/8.75 "clause": -1, 29.42/8.75 "scope": -1, 29.42/8.75 "term": "(',' (color_region T18 T17) (color_map T19 T17))" 29.42/8.75 }], 29.42/8.75 "kb": { 29.42/8.75 "nonunifying": [], 29.42/8.75 "intvars": {}, 29.42/8.75 "arithmetic": { 29.42/8.75 "type": "PlainIntegerRelationState", 29.42/8.75 "relations": [] 29.42/8.75 }, 29.42/8.75 "ground": ["T17"], 29.42/8.75 "free": [], 29.42/8.75 "exprvars": [] 29.42/8.75 } 29.42/8.75 }, 29.42/8.75 "48": { 29.42/8.75 "goal": [], 29.42/8.75 "kb": { 29.42/8.75 "nonunifying": [], 29.42/8.75 "intvars": {}, 29.42/8.75 "arithmetic": { 29.42/8.75 "type": "PlainIntegerRelationState", 29.42/8.75 "relations": [] 29.42/8.75 }, 29.42/8.75 "ground": [], 29.42/8.75 "free": [], 29.42/8.75 "exprvars": [] 29.42/8.75 } 29.42/8.75 }, 29.42/8.75 "type": "Nodes", 29.42/8.75 "370": { 29.42/8.75 "goal": [{ 29.42/8.75 "clause": -1, 29.42/8.75 "scope": -1, 29.42/8.75 "term": "(members T48 T47)" 29.42/8.75 }], 29.42/8.75 "kb": { 29.42/8.75 "nonunifying": [], 29.42/8.75 "intvars": {}, 29.42/8.75 "arithmetic": { 29.42/8.75 "type": "PlainIntegerRelationState", 29.42/8.75 "relations": [] 29.42/8.75 }, 29.42/8.75 "ground": ["T47"], 29.42/8.75 "free": [], 29.42/8.75 "exprvars": [] 29.42/8.75 } 29.42/8.75 }, 29.42/8.75 "372": { 29.42/8.75 "goal": [ 29.42/8.75 { 29.42/8.75 "clause": 3, 29.42/8.75 "scope": 3, 29.42/8.75 "term": "(select T41 T40 X41)" 29.42/8.75 }, 29.42/8.75 { 29.42/8.75 "clause": 4, 29.42/8.75 "scope": 3, 29.42/8.75 "term": "(select T41 T40 X41)" 29.42/8.75 } 29.42/8.75 ], 29.42/8.75 "kb": { 29.42/8.75 "nonunifying": [], 29.42/8.75 "intvars": {}, 29.42/8.75 "arithmetic": { 29.42/8.75 "type": "PlainIntegerRelationState", 29.42/8.75 "relations": [] 29.42/8.75 }, 29.42/8.75 "ground": ["T40"], 29.42/8.75 "free": ["X41"], 29.42/8.75 "exprvars": [] 29.42/8.75 } 29.42/8.75 }, 29.42/8.75 "373": { 29.42/8.75 "goal": [{ 29.42/8.75 "clause": 3, 29.42/8.75 "scope": 3, 29.42/8.75 "term": "(select T41 T40 X41)" 29.42/8.75 }], 29.42/8.75 "kb": { 29.42/8.75 "nonunifying": [], 29.42/8.75 "intvars": {}, 29.42/8.75 "arithmetic": { 29.42/8.75 "type": "PlainIntegerRelationState", 29.42/8.75 "relations": [] 29.42/8.75 }, 29.42/8.75 "ground": ["T40"], 29.42/8.75 "free": ["X41"], 29.42/8.75 "exprvars": [] 29.42/8.75 } 29.42/8.75 }, 29.42/8.75 "374": { 29.42/8.75 "goal": [{ 29.42/8.75 "clause": 4, 29.42/8.75 "scope": 3, 29.42/8.75 "term": "(select T41 T40 X41)" 29.42/8.75 }], 29.42/8.75 "kb": { 29.42/8.75 "nonunifying": [], 29.42/8.75 "intvars": {}, 29.42/8.75 "arithmetic": { 29.42/8.75 "type": "PlainIntegerRelationState", 29.42/8.75 "relations": [] 29.42/8.75 }, 29.42/8.75 "ground": ["T40"], 29.42/8.75 "free": ["X41"], 29.42/8.75 "exprvars": [] 29.42/8.75 } 29.42/8.75 }, 29.42/8.75 "430": { 29.42/8.75 "goal": [{ 29.42/8.75 "clause": -1, 29.42/8.75 "scope": -1, 29.42/8.75 "term": "(member T125 T124)" 29.42/8.75 }], 29.42/8.75 "kb": { 29.42/8.75 "nonunifying": [], 29.42/8.75 "intvars": {}, 29.42/8.75 "arithmetic": { 29.42/8.75 "type": "PlainIntegerRelationState", 29.42/8.75 "relations": [] 29.42/8.75 }, 29.42/8.75 "ground": ["T124"], 29.42/8.75 "free": [], 29.42/8.75 "exprvars": [] 29.42/8.75 } 29.42/8.75 }, 29.42/8.75 "398": { 29.42/8.75 "goal": [ 29.42/8.75 { 29.42/8.75 "clause": 5, 29.42/8.75 "scope": 4, 29.42/8.75 "term": "(members T48 T47)" 29.42/8.75 }, 29.42/8.75 { 29.42/8.75 "clause": 6, 29.42/8.75 "scope": 4, 29.42/8.75 "term": "(members T48 T47)" 29.42/8.75 } 29.42/8.75 ], 29.42/8.75 "kb": { 29.42/8.75 "nonunifying": [], 29.42/8.75 "intvars": {}, 29.42/8.75 "arithmetic": { 29.42/8.75 "type": "PlainIntegerRelationState", 29.42/8.75 "relations": [] 29.42/8.75 }, 29.42/8.75 "ground": ["T47"], 29.42/8.75 "free": [], 29.42/8.75 "exprvars": [] 29.42/8.75 } 29.42/8.75 }, 29.42/8.75 "431": { 29.42/8.75 "goal": [], 29.42/8.75 "kb": { 29.42/8.75 "nonunifying": [], 29.42/8.75 "intvars": {}, 29.42/8.75 "arithmetic": { 29.42/8.75 "type": "PlainIntegerRelationState", 29.42/8.75 "relations": [] 29.42/8.75 }, 29.42/8.75 "ground": [], 29.42/8.75 "free": [], 29.42/8.75 "exprvars": [] 29.42/8.75 } 29.42/8.75 }, 29.42/8.75 "377": { 29.42/8.75 "goal": [{ 29.42/8.75 "clause": -1, 29.42/8.75 "scope": -1, 29.42/8.75 "term": "(true)" 29.42/8.75 }], 29.42/8.75 "kb": { 29.42/8.75 "nonunifying": [], 29.42/8.75 "intvars": {}, 29.42/8.75 "arithmetic": { 29.42/8.75 "type": "PlainIntegerRelationState", 29.42/8.75 "relations": [] 29.42/8.75 }, 29.42/8.75 "ground": [], 29.42/8.75 "free": [], 29.42/8.75 "exprvars": [] 29.42/8.75 } 29.42/8.75 }, 29.42/8.75 "399": { 29.42/8.75 "goal": [{ 29.42/8.75 "clause": 5, 29.42/8.75 "scope": 4, 29.42/8.75 "term": "(members T48 T47)" 29.42/8.75 }], 29.42/8.75 "kb": { 29.42/8.75 "nonunifying": [], 29.42/8.75 "intvars": {}, 29.42/8.75 "arithmetic": { 29.42/8.75 "type": "PlainIntegerRelationState", 29.42/8.75 "relations": [] 29.42/8.75 }, 29.42/8.75 "ground": ["T47"], 29.42/8.75 "free": [], 29.42/8.75 "exprvars": [] 29.42/8.75 } 29.42/8.75 }, 29.42/8.75 "410": { 29.42/8.75 "goal": [], 29.42/8.75 "kb": { 29.42/8.75 "nonunifying": [], 29.42/8.75 "intvars": {}, 29.42/8.75 "arithmetic": { 29.42/8.75 "type": "PlainIntegerRelationState", 29.42/8.75 "relations": [] 29.42/8.75 }, 29.42/8.75 "ground": [], 29.42/8.75 "free": [], 29.42/8.75 "exprvars": [] 29.42/8.75 } 29.42/8.75 }, 29.42/8.75 "378": { 29.42/8.75 "goal": [], 29.42/8.75 "kb": { 29.42/8.75 "nonunifying": [], 29.42/8.75 "intvars": {}, 29.42/8.75 "arithmetic": { 29.42/8.75 "type": "PlainIntegerRelationState", 29.42/8.75 "relations": [] 29.42/8.75 }, 29.42/8.75 "ground": [], 29.42/8.75 "free": [], 29.42/8.75 "exprvars": [] 29.42/8.75 } 29.42/8.75 }, 29.42/8.75 "379": { 29.42/8.75 "goal": [], 29.42/8.75 "kb": { 29.42/8.75 "nonunifying": [], 29.42/8.75 "intvars": {}, 29.42/8.75 "arithmetic": { 29.42/8.75 "type": "PlainIntegerRelationState", 29.42/8.75 "relations": [] 29.42/8.75 }, 29.42/8.75 "ground": [], 29.42/8.75 "free": [], 29.42/8.75 "exprvars": [] 29.42/8.75 } 29.42/8.75 }, 29.42/8.75 "434": { 29.42/8.75 "goal": [{ 29.42/8.75 "clause": -1, 29.42/8.75 "scope": -1, 29.42/8.75 "term": "(true)" 29.42/8.75 }], 29.42/8.75 "kb": { 29.42/8.75 "nonunifying": [], 29.42/8.75 "intvars": {}, 29.42/8.75 "arithmetic": { 29.42/8.75 "type": "PlainIntegerRelationState", 29.42/8.75 "relations": [] 29.42/8.75 }, 29.42/8.75 "ground": [], 29.42/8.75 "free": [], 29.42/8.75 "exprvars": [] 29.42/8.75 } 29.42/8.75 }, 29.42/8.75 "435": { 29.42/8.75 "goal": [], 29.42/8.75 "kb": { 29.42/8.75 "nonunifying": [], 29.42/8.75 "intvars": {}, 29.42/8.75 "arithmetic": { 29.42/8.75 "type": "PlainIntegerRelationState", 29.42/8.75 "relations": [] 29.42/8.75 }, 29.42/8.75 "ground": [], 29.42/8.75 "free": [], 29.42/8.75 "exprvars": [] 29.42/8.75 } 29.42/8.75 }, 29.42/8.75 "436": { 29.42/8.75 "goal": [], 29.42/8.75 "kb": { 29.42/8.75 "nonunifying": [], 29.42/8.75 "intvars": {}, 29.42/8.75 "arithmetic": { 29.42/8.75 "type": "PlainIntegerRelationState", 29.42/8.75 "relations": [] 29.42/8.75 }, 29.42/8.75 "ground": [], 29.42/8.75 "free": [], 29.42/8.75 "exprvars": [] 29.42/8.75 } 29.42/8.75 }, 29.42/8.75 "383": { 29.42/8.75 "goal": [{ 29.42/8.75 "clause": -1, 29.42/8.75 "scope": -1, 29.42/8.75 "term": "(select T72 T71 X74)" 29.42/8.75 }], 29.42/8.75 "kb": { 29.42/8.75 "nonunifying": [], 29.42/8.75 "intvars": {}, 29.42/8.75 "arithmetic": { 29.42/8.75 "type": "PlainIntegerRelationState", 29.42/8.75 "relations": [] 29.42/8.75 }, 29.42/8.75 "ground": ["T71"], 29.42/8.75 "free": ["X74"], 29.42/8.75 "exprvars": [] 29.42/8.75 } 29.42/8.75 }, 29.42/8.75 "384": { 29.42/8.75 "goal": [], 29.42/8.75 "kb": { 29.42/8.75 "nonunifying": [], 29.42/8.75 "intvars": {}, 29.42/8.75 "arithmetic": { 29.42/8.75 "type": "PlainIntegerRelationState", 29.42/8.75 "relations": [] 29.42/8.75 }, 29.42/8.75 "ground": [], 29.42/8.75 "free": [], 29.42/8.75 "exprvars": [] 29.42/8.75 } 29.42/8.75 }, 29.42/8.75 "363": { 29.42/8.75 "goal": [{ 29.42/8.75 "clause": -1, 29.42/8.75 "scope": -1, 29.42/8.75 "term": "(',' (select T41 T40 X41) (members T42 X41))" 29.42/8.75 }], 29.42/8.75 "kb": { 29.42/8.75 "nonunifying": [], 29.42/8.75 "intvars": {}, 29.42/8.75 "arithmetic": { 29.42/8.75 "type": "PlainIntegerRelationState", 29.42/8.75 "relations": [] 29.42/8.75 }, 29.42/8.75 "ground": ["T40"], 29.42/8.75 "free": ["X41"], 29.42/8.75 "exprvars": [] 29.42/8.75 } 29.42/8.75 }, 29.42/8.75 "484": { 29.42/8.75 "goal": [{ 29.42/8.75 "clause": -1, 29.42/8.75 "scope": -1, 29.42/8.75 "term": "(true)" 29.42/8.75 }], 29.42/8.75 "kb": { 29.42/8.75 "nonunifying": [], 29.42/8.75 "intvars": {}, 29.42/8.75 "arithmetic": { 29.42/8.75 "type": "PlainIntegerRelationState", 29.42/8.75 "relations": [] 29.42/8.75 }, 29.42/8.75 "ground": [], 29.42/8.75 "free": [], 29.42/8.75 "exprvars": [] 29.42/8.75 } 29.42/8.75 }, 29.42/8.75 "265": { 29.42/8.75 "goal": [{ 29.42/8.75 "clause": -1, 29.42/8.75 "scope": -1, 29.42/8.75 "term": "(color_region T18 T17)" 29.42/8.75 }], 29.42/8.75 "kb": { 29.42/8.75 "nonunifying": [], 29.42/8.75 "intvars": {}, 29.42/8.75 "arithmetic": { 29.42/8.75 "type": "PlainIntegerRelationState", 29.42/8.75 "relations": [] 29.42/8.75 }, 29.42/8.75 "ground": ["T17"], 29.42/8.75 "free": [], 29.42/8.75 "exprvars": [] 29.42/8.75 } 29.42/8.75 }, 29.42/8.75 "485": { 29.42/8.75 "goal": [], 29.42/8.75 "kb": { 29.42/8.75 "nonunifying": [], 29.42/8.75 "intvars": {}, 29.42/8.75 "arithmetic": { 29.42/8.75 "type": "PlainIntegerRelationState", 29.42/8.75 "relations": [] 29.42/8.75 }, 29.42/8.75 "ground": [], 29.42/8.75 "free": [], 29.42/8.75 "exprvars": [] 29.42/8.75 } 29.42/8.75 }, 29.42/8.75 "2": { 29.42/8.75 "goal": [{ 29.42/8.75 "clause": -1, 29.42/8.75 "scope": -1, 29.42/8.75 "term": "(color_map T1 T2)" 29.42/8.75 }], 29.42/8.75 "kb": { 29.42/8.75 "nonunifying": [], 29.42/8.75 "intvars": {}, 29.42/8.75 "arithmetic": { 29.42/8.75 "type": "PlainIntegerRelationState", 29.42/8.75 "relations": [] 29.42/8.75 }, 29.42/8.75 "ground": ["T2"], 29.42/8.75 "free": [], 29.42/8.75 "exprvars": [] 29.42/8.75 } 29.42/8.75 }, 29.42/8.75 "486": { 29.42/8.75 "goal": [], 29.42/8.75 "kb": { 29.42/8.75 "nonunifying": [], 29.42/8.75 "intvars": {}, 29.42/8.75 "arithmetic": { 29.42/8.75 "type": "PlainIntegerRelationState", 29.42/8.75 "relations": [] 29.42/8.75 }, 29.42/8.75 "ground": [], 29.42/8.75 "free": [], 29.42/8.75 "exprvars": [] 29.42/8.75 } 29.42/8.75 }, 29.42/8.75 "366": { 29.42/8.75 "goal": [], 29.42/8.75 "kb": { 29.42/8.75 "nonunifying": [], 29.42/8.75 "intvars": {}, 29.42/8.75 "arithmetic": { 29.42/8.75 "type": "PlainIntegerRelationState", 29.42/8.75 "relations": [] 29.42/8.75 }, 29.42/8.75 "ground": [], 29.42/8.75 "free": [], 29.42/8.75 "exprvars": [] 29.42/8.75 } 29.42/8.75 }, 29.42/8.75 "268": { 29.42/8.75 "goal": [{ 29.42/8.75 "clause": -1, 29.42/8.75 "scope": -1, 29.42/8.75 "term": "(color_map T24 T17)" 29.42/8.75 }], 29.42/8.75 "kb": { 29.42/8.75 "nonunifying": [], 29.42/8.75 "intvars": {}, 29.42/8.75 "arithmetic": { 29.42/8.75 "type": "PlainIntegerRelationState", 29.42/8.75 "relations": [] 29.42/8.75 }, 29.42/8.75 "ground": ["T17"], 29.42/8.75 "free": [], 29.42/8.75 "exprvars": [] 29.42/8.75 } 29.42/8.75 }, 29.42/8.75 "400": { 29.42/8.75 "goal": [{ 29.42/8.75 "clause": 6, 29.42/8.75 "scope": 4, 29.42/8.75 "term": "(members T48 T47)" 29.42/8.75 }], 29.42/8.75 "kb": { 29.42/8.75 "nonunifying": [], 29.42/8.75 "intvars": {}, 29.42/8.75 "arithmetic": { 29.42/8.75 "type": "PlainIntegerRelationState", 29.42/8.75 "relations": [] 29.42/8.75 }, 29.42/8.75 "ground": ["T47"], 29.42/8.75 "free": [], 29.42/8.75 "exprvars": [] 29.42/8.75 } 29.42/8.75 }, 29.42/8.75 "401": { 29.42/8.75 "goal": [{ 29.42/8.75 "clause": -1, 29.42/8.75 "scope": -1, 29.42/8.75 "term": "(',' (member T95 T94) (members T96 T94))" 29.42/8.75 }], 29.42/8.75 "kb": { 29.42/8.75 "nonunifying": [], 29.42/8.75 "intvars": {}, 29.42/8.75 "arithmetic": { 29.42/8.75 "type": "PlainIntegerRelationState", 29.42/8.75 "relations": [] 29.42/8.75 }, 29.42/8.75 "ground": ["T94"], 29.42/8.75 "free": [], 29.42/8.75 "exprvars": [] 29.42/8.75 } 29.42/8.75 }, 29.42/8.75 "369": { 29.42/8.75 "goal": [{ 29.42/8.75 "clause": -1, 29.42/8.75 "scope": -1, 29.42/8.75 "term": "(select T41 T40 X41)" 29.42/8.75 }], 29.42/8.75 "kb": { 29.42/8.75 "nonunifying": [], 29.42/8.75 "intvars": {}, 29.42/8.75 "arithmetic": { 29.42/8.75 "type": "PlainIntegerRelationState", 29.42/8.75 "relations": [] 29.42/8.75 }, 29.42/8.75 "ground": ["T40"], 29.42/8.75 "free": ["X41"], 29.42/8.75 "exprvars": [] 29.42/8.75 } 29.42/8.75 }, 29.42/8.75 "402": { 29.42/8.75 "goal": [], 29.42/8.75 "kb": { 29.42/8.75 "nonunifying": [], 29.42/8.75 "intvars": {}, 29.42/8.75 "arithmetic": { 29.42/8.75 "type": "PlainIntegerRelationState", 29.42/8.75 "relations": [] 29.42/8.75 }, 29.42/8.75 "ground": [], 29.42/8.75 "free": [], 29.42/8.75 "exprvars": [] 29.42/8.75 } 29.42/8.75 }, 29.42/8.75 "403": { 29.42/8.75 "goal": [{ 29.42/8.75 "clause": -1, 29.42/8.75 "scope": -1, 29.42/8.75 "term": "(member T95 T94)" 29.42/8.75 }], 29.42/8.75 "kb": { 29.42/8.75 "nonunifying": [], 29.42/8.75 "intvars": {}, 29.42/8.75 "arithmetic": { 29.42/8.75 "type": "PlainIntegerRelationState", 29.42/8.75 "relations": [] 29.42/8.75 }, 29.42/8.75 "ground": ["T94"], 29.42/8.75 "free": [], 29.42/8.75 "exprvars": [] 29.42/8.75 } 29.42/8.75 }, 29.42/8.75 "349": { 29.42/8.75 "goal": [{ 29.42/8.75 "clause": 2, 29.42/8.75 "scope": 2, 29.42/8.75 "term": "(color_region T18 T17)" 29.42/8.75 }], 29.42/8.75 "kb": { 29.42/8.75 "nonunifying": [], 29.42/8.75 "intvars": {}, 29.42/8.75 "arithmetic": { 29.42/8.75 "type": "PlainIntegerRelationState", 29.42/8.75 "relations": [] 29.42/8.75 }, 29.42/8.75 "ground": ["T17"], 29.42/8.75 "free": [], 29.42/8.75 "exprvars": [] 29.42/8.75 } 29.42/8.75 }, 29.42/8.75 "404": { 29.42/8.75 "goal": [{ 29.42/8.75 "clause": -1, 29.42/8.75 "scope": -1, 29.42/8.75 "term": "(members T101 T94)" 29.42/8.75 }], 29.42/8.75 "kb": { 29.42/8.75 "nonunifying": [], 29.42/8.75 "intvars": {}, 29.42/8.75 "arithmetic": { 29.42/8.75 "type": "PlainIntegerRelationState", 29.42/8.75 "relations": [] 29.42/8.75 }, 29.42/8.75 "ground": ["T94"], 29.42/8.75 "free": [], 29.42/8.75 "exprvars": [] 29.42/8.75 } 29.42/8.75 }, 29.42/8.75 "405": { 29.42/8.75 "goal": [ 29.42/8.75 { 29.42/8.75 "clause": 7, 29.42/8.75 "scope": 5, 29.42/8.75 "term": "(member T95 T94)" 29.42/8.75 }, 29.42/8.75 { 29.42/8.75 "clause": 8, 29.42/8.75 "scope": 5, 29.42/8.75 "term": "(member T95 T94)" 29.42/8.75 } 29.42/8.75 ], 29.42/8.75 "kb": { 29.42/8.75 "nonunifying": [], 29.42/8.75 "intvars": {}, 29.42/8.75 "arithmetic": { 29.42/8.75 "type": "PlainIntegerRelationState", 29.42/8.75 "relations": [] 29.42/8.75 }, 29.42/8.75 "ground": ["T94"], 29.42/8.75 "free": [], 29.42/8.75 "exprvars": [] 29.42/8.75 } 29.42/8.75 }, 29.42/8.75 "406": { 29.42/8.75 "goal": [{ 29.42/8.75 "clause": 7, 29.42/8.75 "scope": 5, 29.42/8.75 "term": "(member T95 T94)" 29.42/8.75 }], 29.42/8.75 "kb": { 29.42/8.75 "nonunifying": [], 29.42/8.75 "intvars": {}, 29.42/8.75 "arithmetic": { 29.42/8.75 "type": "PlainIntegerRelationState", 29.42/8.75 "relations": [] 29.42/8.75 }, 29.42/8.75 "ground": ["T94"], 29.42/8.75 "free": [], 29.42/8.75 "exprvars": [] 29.42/8.75 } 29.42/8.75 }, 29.42/8.75 "407": { 29.42/8.75 "goal": [{ 29.42/8.75 "clause": 8, 29.42/8.75 "scope": 5, 29.42/8.75 "term": "(member T95 T94)" 29.42/8.75 }], 29.42/8.75 "kb": { 29.42/8.75 "nonunifying": [], 29.42/8.75 "intvars": {}, 29.42/8.75 "arithmetic": { 29.42/8.75 "type": "PlainIntegerRelationState", 29.42/8.75 "relations": [] 29.42/8.75 }, 29.42/8.75 "ground": ["T94"], 29.42/8.75 "free": [], 29.42/8.75 "exprvars": [] 29.42/8.75 } 29.42/8.75 }, 29.42/8.75 "408": { 29.42/8.75 "goal": [{ 29.42/8.75 "clause": -1, 29.42/8.75 "scope": -1, 29.42/8.75 "term": "(true)" 29.42/8.75 }], 29.42/8.75 "kb": { 29.42/8.75 "nonunifying": [], 29.42/8.75 "intvars": {}, 29.42/8.75 "arithmetic": { 29.42/8.75 "type": "PlainIntegerRelationState", 29.42/8.75 "relations": [] 29.42/8.75 }, 29.42/8.75 "ground": [], 29.42/8.75 "free": [], 29.42/8.75 "exprvars": [] 29.42/8.75 } 29.42/8.75 }, 29.42/8.75 "409": { 29.42/8.75 "goal": [], 29.42/8.75 "kb": { 29.42/8.75 "nonunifying": [], 29.42/8.75 "intvars": {}, 29.42/8.75 "arithmetic": { 29.42/8.75 "type": "PlainIntegerRelationState", 29.42/8.75 "relations": [] 29.42/8.75 }, 29.42/8.75 "ground": [], 29.42/8.75 "free": [], 29.42/8.75 "exprvars": [] 29.42/8.75 } 29.42/8.75 }, 29.42/8.75 "20": { 29.42/8.75 "goal": [ 29.42/8.75 { 29.42/8.75 "clause": 0, 29.42/8.75 "scope": 1, 29.42/8.75 "term": "(color_map T1 T2)" 29.42/8.75 }, 29.42/8.75 { 29.42/8.75 "clause": 1, 29.42/8.75 "scope": 1, 29.42/8.75 "term": "(color_map T1 T2)" 29.54/8.76 } 29.54/8.76 ], 29.54/8.76 "kb": { 29.54/8.76 "nonunifying": [], 29.54/8.76 "intvars": {}, 29.54/8.76 "arithmetic": { 29.54/8.76 "type": "PlainIntegerRelationState", 29.54/8.76 "relations": [] 29.54/8.76 }, 29.54/8.76 "ground": ["T2"], 29.54/8.76 "free": [], 29.54/8.76 "exprvars": [] 29.54/8.76 } 29.54/8.76 }, 29.54/8.76 "43": { 29.54/8.76 "goal": [{ 29.54/8.76 "clause": 0, 29.54/8.76 "scope": 1, 29.54/8.76 "term": "(color_map T1 T2)" 29.54/8.76 }], 29.54/8.76 "kb": { 29.54/8.76 "nonunifying": [], 29.54/8.76 "intvars": {}, 29.54/8.76 "arithmetic": { 29.54/8.76 "type": "PlainIntegerRelationState", 29.54/8.76 "relations": [] 29.54/8.76 }, 29.54/8.76 "ground": ["T2"], 29.54/8.76 "free": [], 29.54/8.76 "exprvars": [] 29.54/8.76 } 29.54/8.76 } 29.54/8.76 }, 29.54/8.76 "edges": [ 29.54/8.76 { 29.54/8.76 "from": 2, 29.54/8.76 "to": 20, 29.54/8.76 "label": "CASE" 29.54/8.76 }, 29.54/8.76 { 29.54/8.76 "from": 20, 29.54/8.76 "to": 43, 29.54/8.76 "label": "PARALLEL" 29.54/8.76 }, 29.54/8.76 { 29.54/8.76 "from": 20, 29.54/8.76 "to": 44, 29.54/8.76 "label": "PARALLEL" 29.54/8.76 }, 29.54/8.76 { 29.54/8.76 "from": 43, 29.54/8.76 "to": 47, 29.54/8.76 "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.54/8.76 }, 29.54/8.76 { 29.54/8.76 "from": 43, 29.54/8.76 "to": 48, 29.54/8.76 "label": "EVAL-BACKTRACK" 29.54/8.76 }, 29.54/8.76 { 29.54/8.76 "from": 44, 29.54/8.76 "to": 484, 29.54/8.76 "label": "EVAL with clause\ncolor_map([], X139).\nand substitutionT1 -> [],\nT2 -> T141,\nX139 -> T141" 29.54/8.76 }, 29.54/8.76 { 29.54/8.76 "from": 44, 29.54/8.76 "to": 485, 29.54/8.76 "label": "EVAL-BACKTRACK" 29.54/8.76 }, 29.54/8.76 { 29.54/8.76 "from": 47, 29.54/8.76 "to": 265, 29.54/8.76 "label": "SPLIT 1" 29.54/8.76 }, 29.54/8.76 { 29.54/8.76 "from": 47, 29.54/8.76 "to": 268, 29.54/8.76 "label": "SPLIT 2\nnew knowledge:\nT17 is ground\nreplacements:T19 -> T24" 29.54/8.76 }, 29.54/8.76 { 29.54/8.76 "from": 265, 29.54/8.76 "to": 349, 29.54/8.76 "label": "CASE" 29.54/8.76 }, 29.54/8.76 { 29.54/8.76 "from": 268, 29.54/8.76 "to": 2, 29.54/8.76 "label": "INSTANCE with matching:\nT1 -> T24\nT2 -> T17" 29.54/8.76 }, 29.54/8.76 { 29.54/8.76 "from": 349, 29.54/8.76 "to": 363, 29.54/8.76 "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.54/8.76 }, 29.54/8.76 { 29.54/8.76 "from": 349, 29.54/8.76 "to": 366, 29.54/8.76 "label": "EVAL-BACKTRACK" 29.54/8.76 }, 29.54/8.76 { 29.54/8.76 "from": 363, 29.54/8.76 "to": 369, 29.54/8.76 "label": "SPLIT 1" 29.54/8.76 }, 29.54/8.76 { 29.54/8.76 "from": 363, 29.54/8.76 "to": 370, 29.54/8.76 "label": "SPLIT 2\nnew knowledge:\nT41 is ground\nT40 is ground\nT47 is ground\nreplacements:X41 -> T47,\nT42 -> T48" 29.54/8.76 }, 29.54/8.76 { 29.54/8.76 "from": 369, 29.54/8.76 "to": 372, 29.54/8.76 "label": "CASE" 29.54/8.76 }, 29.54/8.76 { 29.54/8.76 "from": 370, 29.54/8.76 "to": 398, 29.54/8.76 "label": "CASE" 29.54/8.76 }, 29.54/8.76 { 29.54/8.76 "from": 372, 29.54/8.76 "to": 373, 29.54/8.76 "label": "PARALLEL" 29.54/8.76 }, 29.54/8.76 { 29.54/8.76 "from": 372, 29.54/8.76 "to": 374, 29.54/8.76 "label": "PARALLEL" 29.54/8.76 }, 29.54/8.76 { 29.54/8.76 "from": 373, 29.54/8.76 "to": 377, 29.54/8.76 "label": "EVAL with clause\nselect(X58, .(X58, X59), X59).\nand substitutionT41 -> T61,\nX58 -> T61,\nX59 -> T62,\nT40 -> .(T61, T62),\nX41 -> T62" 29.54/8.76 }, 29.54/8.76 { 29.54/8.76 "from": 373, 29.54/8.76 "to": 378, 29.54/8.76 "label": "EVAL-BACKTRACK" 29.54/8.76 }, 29.54/8.76 { 29.54/8.76 "from": 374, 29.54/8.76 "to": 383, 29.54/8.76 "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.54/8.76 }, 29.54/8.76 { 29.54/8.76 "from": 374, 29.54/8.76 "to": 384, 29.54/8.76 "label": "EVAL-BACKTRACK" 29.54/8.76 }, 29.54/8.76 { 29.54/8.76 "from": 377, 29.54/8.76 "to": 379, 29.54/8.76 "label": "SUCCESS" 29.54/8.76 }, 29.54/8.76 { 29.54/8.76 "from": 383, 29.54/8.76 "to": 369, 29.54/8.76 "label": "INSTANCE with matching:\nT41 -> T72\nT40 -> T71\nX41 -> X74" 29.54/8.76 }, 29.54/8.76 { 29.54/8.76 "from": 398, 29.54/8.76 "to": 399, 29.54/8.76 "label": "PARALLEL" 29.54/8.76 }, 29.54/8.76 { 29.54/8.76 "from": 398, 29.54/8.76 "to": 400, 29.54/8.76 "label": "PARALLEL" 29.54/8.76 }, 29.54/8.76 { 29.54/8.76 "from": 399, 29.54/8.76 "to": 401, 29.54/8.76 "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.54/8.76 }, 29.54/8.76 { 29.54/8.76 "from": 399, 29.54/8.76 "to": 402, 29.54/8.76 "label": "EVAL-BACKTRACK" 29.54/8.76 }, 29.54/8.76 { 29.54/8.76 "from": 400, 29.54/8.76 "to": 434, 29.54/8.76 "label": "EVAL with clause\nmembers([], X133).\nand substitutionT48 -> [],\nT47 -> T135,\nX133 -> T135" 29.54/8.76 }, 29.54/8.76 { 29.54/8.76 "from": 400, 29.54/8.76 "to": 435, 29.54/8.76 "label": "EVAL-BACKTRACK" 29.54/8.76 }, 29.54/8.76 { 29.54/8.76 "from": 401, 29.54/8.76 "to": 403, 29.54/8.76 "label": "SPLIT 1" 29.54/8.76 }, 29.54/8.76 { 29.54/8.76 "from": 401, 29.54/8.76 "to": 404, 29.54/8.76 "label": "SPLIT 2\nnew knowledge:\nT95 is ground\nT94 is ground\nreplacements:T96 -> T101" 29.54/8.76 }, 29.54/8.76 { 29.54/8.76 "from": 403, 29.54/8.76 "to": 405, 29.54/8.76 "label": "CASE" 29.54/8.76 }, 29.54/8.76 { 29.54/8.76 "from": 404, 29.54/8.76 "to": 370, 29.54/8.76 "label": "INSTANCE with matching:\nT48 -> T101\nT47 -> T94" 29.54/8.76 }, 29.54/8.76 { 29.54/8.76 "from": 405, 29.54/8.76 "to": 406, 29.54/8.76 "label": "PARALLEL" 29.54/8.76 }, 29.54/8.76 { 29.54/8.76 "from": 405, 29.54/8.76 "to": 407, 29.54/8.76 "label": "PARALLEL" 29.54/8.76 }, 29.54/8.76 { 29.54/8.76 "from": 406, 29.54/8.76 "to": 408, 29.54/8.76 "label": "EVAL with clause\nmember(X113, .(X113, X114)).\nand substitutionT95 -> T114,\nX113 -> T114,\nX114 -> T115,\nT94 -> .(T114, T115)" 29.54/8.76 }, 29.54/8.76 { 29.54/8.76 "from": 406, 29.54/8.76 "to": 409, 29.54/8.76 "label": "EVAL-BACKTRACK" 29.54/8.76 }, 29.54/8.76 { 29.54/8.76 "from": 407, 29.54/8.76 "to": 430, 29.54/8.76 "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.54/8.76 }, 29.54/8.76 { 29.54/8.76 "from": 407, 29.54/8.76 "to": 431, 29.54/8.76 "label": "EVAL-BACKTRACK" 29.54/8.76 }, 29.54/8.76 { 29.54/8.76 "from": 408, 29.54/8.76 "to": 410, 29.54/8.76 "label": "SUCCESS" 29.54/8.76 }, 29.54/8.76 { 29.54/8.76 "from": 430, 29.54/8.76 "to": 403, 29.54/8.76 "label": "INSTANCE with matching:\nT95 -> T125\nT94 -> T124" 29.54/8.76 }, 29.54/8.76 { 29.54/8.76 "from": 434, 29.54/8.76 "to": 436, 29.54/8.77 "label": "SUCCESS" 29.54/8.77 }, 29.54/8.77 { 29.54/8.77 "from": 484, 29.54/8.77 "to": 486, 29.54/8.77 "label": "SUCCESS" 29.54/8.77 } 29.54/8.77 ], 29.54/8.77 "type": "Graph" 29.54/8.77 } 29.54/8.77 } 29.54/8.77 29.54/8.77 ---------------------------------------- 29.54/8.77 29.54/8.77 (66) 29.54/8.77 Obligation: 29.54/8.77 Q restricted rewrite system: 29.54/8.77 The TRS R consists of the following rules: 29.54/8.77 29.54/8.77 f2_in(T17) -> U1(f47_in(T17), T17) 29.54/8.77 U1(f47_out1, T17) -> f2_out1 29.54/8.77 f2_in(T141) -> f2_out1 29.54/8.77 f369_in(.(T61, T62)) -> f369_out1(T61, T62) 29.54/8.77 f369_in(.(T70, T71)) -> U2(f369_in(T71), .(T70, T71)) 29.54/8.77 U2(f369_out1(T72, X74), .(T70, T71)) -> f369_out1(T72, .(T70, X74)) 29.54/8.77 f370_in(T94) -> U3(f401_in(T94), T94) 29.54/8.77 U3(f401_out1(T95, T96), T94) -> f370_out1(.(T95, T96)) 29.54/8.77 f370_in(T135) -> f370_out1([]) 29.54/8.77 f403_in(.(T114, T115)) -> f403_out1(T114) 29.54/8.77 f403_in(.(T123, T124)) -> U4(f403_in(T124), .(T123, T124)) 29.54/8.77 U4(f403_out1(T125), .(T123, T124)) -> f403_out1(T125) 29.54/8.77 f265_in(T40) -> U5(f363_in(T40), T40) 29.54/8.77 U5(f363_out1(T41, X41, T42), T40) -> f265_out1 29.54/8.77 f47_in(T17) -> U6(f265_in(T17), T17) 29.54/8.77 U6(f265_out1, T17) -> U7(f2_in(T17), T17) 29.54/8.77 U7(f2_out1, T17) -> f47_out1 29.54/8.77 f363_in(T40) -> U8(f369_in(T40), T40) 29.54/8.77 U8(f369_out1(T41, T47), T40) -> U9(f370_in(T47), T40, T41, T47) 29.54/8.77 U9(f370_out1(T48), T40, T41, T47) -> f363_out1(T41, T47, T48) 29.54/8.77 f401_in(T94) -> U10(f403_in(T94), T94) 29.54/8.77 U10(f403_out1(T95), T94) -> U11(f370_in(T94), T94, T95) 29.54/8.77 U11(f370_out1(T101), T94, T95) -> f401_out1(T95, T101) 29.54/8.77 29.54/8.77 Q is empty. 29.54/8.77 29.54/8.77 ---------------------------------------- 29.54/8.77 29.54/8.77 (67) DependencyPairsProof (EQUIVALENT) 29.54/8.77 Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem. 29.54/8.77 ---------------------------------------- 29.54/8.77 29.54/8.77 (68) 29.54/8.77 Obligation: 29.54/8.77 Q DP problem: 29.54/8.77 The TRS P consists of the following rules: 29.54/8.77 29.54/8.77 F2_IN(T17) -> U1^1(f47_in(T17), T17) 29.54/8.77 F2_IN(T17) -> F47_IN(T17) 29.54/8.77 F369_IN(.(T70, T71)) -> U2^1(f369_in(T71), .(T70, T71)) 29.54/8.77 F369_IN(.(T70, T71)) -> F369_IN(T71) 29.54/8.77 F370_IN(T94) -> U3^1(f401_in(T94), T94) 29.54/8.77 F370_IN(T94) -> F401_IN(T94) 29.54/8.77 F403_IN(.(T123, T124)) -> U4^1(f403_in(T124), .(T123, T124)) 29.54/8.77 F403_IN(.(T123, T124)) -> F403_IN(T124) 29.54/8.77 F265_IN(T40) -> U5^1(f363_in(T40), T40) 29.54/8.77 F265_IN(T40) -> F363_IN(T40) 29.54/8.77 F47_IN(T17) -> U6^1(f265_in(T17), T17) 29.54/8.77 F47_IN(T17) -> F265_IN(T17) 29.54/8.77 U6^1(f265_out1, T17) -> U7^1(f2_in(T17), T17) 29.54/8.77 U6^1(f265_out1, T17) -> F2_IN(T17) 29.54/8.77 F363_IN(T40) -> U8^1(f369_in(T40), T40) 29.54/8.77 F363_IN(T40) -> F369_IN(T40) 29.54/8.77 U8^1(f369_out1(T41, T47), T40) -> U9^1(f370_in(T47), T40, T41, T47) 29.54/8.77 U8^1(f369_out1(T41, T47), T40) -> F370_IN(T47) 29.54/8.77 F401_IN(T94) -> U10^1(f403_in(T94), T94) 29.54/8.77 F401_IN(T94) -> F403_IN(T94) 29.54/8.77 U10^1(f403_out1(T95), T94) -> U11^1(f370_in(T94), T94, T95) 29.54/8.77 U10^1(f403_out1(T95), T94) -> F370_IN(T94) 29.54/8.77 29.54/8.77 The TRS R consists of the following rules: 29.54/8.77 29.54/8.77 f2_in(T17) -> U1(f47_in(T17), T17) 29.54/8.77 U1(f47_out1, T17) -> f2_out1 29.54/8.77 f2_in(T141) -> f2_out1 29.54/8.77 f369_in(.(T61, T62)) -> f369_out1(T61, T62) 29.54/8.77 f369_in(.(T70, T71)) -> U2(f369_in(T71), .(T70, T71)) 29.54/8.77 U2(f369_out1(T72, X74), .(T70, T71)) -> f369_out1(T72, .(T70, X74)) 29.54/8.77 f370_in(T94) -> U3(f401_in(T94), T94) 29.54/8.77 U3(f401_out1(T95, T96), T94) -> f370_out1(.(T95, T96)) 29.54/8.77 f370_in(T135) -> f370_out1([]) 29.54/8.77 f403_in(.(T114, T115)) -> f403_out1(T114) 29.54/8.77 f403_in(.(T123, T124)) -> U4(f403_in(T124), .(T123, T124)) 29.54/8.77 U4(f403_out1(T125), .(T123, T124)) -> f403_out1(T125) 29.54/8.77 f265_in(T40) -> U5(f363_in(T40), T40) 29.54/8.77 U5(f363_out1(T41, X41, T42), T40) -> f265_out1 29.54/8.77 f47_in(T17) -> U6(f265_in(T17), T17) 29.54/8.77 U6(f265_out1, T17) -> U7(f2_in(T17), T17) 29.54/8.77 U7(f2_out1, T17) -> f47_out1 29.54/8.77 f363_in(T40) -> U8(f369_in(T40), T40) 29.54/8.77 U8(f369_out1(T41, T47), T40) -> U9(f370_in(T47), T40, T41, T47) 29.54/8.77 U9(f370_out1(T48), T40, T41, T47) -> f363_out1(T41, T47, T48) 29.54/8.77 f401_in(T94) -> U10(f403_in(T94), T94) 29.54/8.77 U10(f403_out1(T95), T94) -> U11(f370_in(T94), T94, T95) 29.54/8.77 U11(f370_out1(T101), T94, T95) -> f401_out1(T95, T101) 29.54/8.77 29.54/8.77 Q is empty. 29.54/8.77 We have to consider all minimal (P,Q,R)-chains. 29.54/8.77 ---------------------------------------- 29.54/8.77 29.54/8.77 (69) DependencyGraphProof (EQUIVALENT) 29.54/8.77 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 4 SCCs with 14 less nodes. 29.54/8.77 ---------------------------------------- 29.54/8.77 29.54/8.77 (70) 29.54/8.77 Complex Obligation (AND) 29.54/8.77 29.54/8.77 ---------------------------------------- 29.54/8.77 29.54/8.77 (71) 29.54/8.77 Obligation: 29.54/8.77 Q DP problem: 29.54/8.77 The TRS P consists of the following rules: 29.54/8.77 29.54/8.77 F403_IN(.(T123, T124)) -> F403_IN(T124) 29.54/8.77 29.54/8.77 The TRS R consists of the following rules: 29.54/8.77 29.54/8.77 f2_in(T17) -> U1(f47_in(T17), T17) 29.54/8.77 U1(f47_out1, T17) -> f2_out1 29.54/8.77 f2_in(T141) -> f2_out1 29.54/8.77 f369_in(.(T61, T62)) -> f369_out1(T61, T62) 29.54/8.77 f369_in(.(T70, T71)) -> U2(f369_in(T71), .(T70, T71)) 29.54/8.77 U2(f369_out1(T72, X74), .(T70, T71)) -> f369_out1(T72, .(T70, X74)) 29.54/8.77 f370_in(T94) -> U3(f401_in(T94), T94) 29.54/8.77 U3(f401_out1(T95, T96), T94) -> f370_out1(.(T95, T96)) 29.54/8.77 f370_in(T135) -> f370_out1([]) 29.54/8.77 f403_in(.(T114, T115)) -> f403_out1(T114) 29.54/8.77 f403_in(.(T123, T124)) -> U4(f403_in(T124), .(T123, T124)) 29.54/8.77 U4(f403_out1(T125), .(T123, T124)) -> f403_out1(T125) 29.54/8.77 f265_in(T40) -> U5(f363_in(T40), T40) 29.54/8.77 U5(f363_out1(T41, X41, T42), T40) -> f265_out1 29.54/8.77 f47_in(T17) -> U6(f265_in(T17), T17) 29.54/8.77 U6(f265_out1, T17) -> U7(f2_in(T17), T17) 29.54/8.77 U7(f2_out1, T17) -> f47_out1 29.54/8.77 f363_in(T40) -> U8(f369_in(T40), T40) 29.54/8.77 U8(f369_out1(T41, T47), T40) -> U9(f370_in(T47), T40, T41, T47) 29.54/8.77 U9(f370_out1(T48), T40, T41, T47) -> f363_out1(T41, T47, T48) 29.54/8.77 f401_in(T94) -> U10(f403_in(T94), T94) 29.54/8.77 U10(f403_out1(T95), T94) -> U11(f370_in(T94), T94, T95) 29.54/8.77 U11(f370_out1(T101), T94, T95) -> f401_out1(T95, T101) 29.54/8.77 29.54/8.77 Q is empty. 29.54/8.77 We have to consider all minimal (P,Q,R)-chains. 29.54/8.77 ---------------------------------------- 29.54/8.77 29.54/8.77 (72) UsableRulesProof (EQUIVALENT) 29.54/8.77 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.54/8.77 ---------------------------------------- 29.54/8.77 29.54/8.77 (73) 29.54/8.77 Obligation: 29.54/8.77 Q DP problem: 29.54/8.77 The TRS P consists of the following rules: 29.54/8.77 29.54/8.77 F403_IN(.(T123, T124)) -> F403_IN(T124) 29.54/8.77 29.54/8.77 R is empty. 29.54/8.77 Q is empty. 29.54/8.77 We have to consider all minimal (P,Q,R)-chains. 29.54/8.77 ---------------------------------------- 29.54/8.77 29.54/8.77 (74) QDPSizeChangeProof (EQUIVALENT) 29.54/8.77 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.54/8.77 29.54/8.77 From the DPs we obtained the following set of size-change graphs: 29.54/8.77 *F403_IN(.(T123, T124)) -> F403_IN(T124) 29.54/8.77 The graph contains the following edges 1 > 1 29.54/8.77 29.54/8.77 29.54/8.77 ---------------------------------------- 29.54/8.77 29.54/8.77 (75) 29.54/8.77 YES 29.54/8.77 29.54/8.77 ---------------------------------------- 29.54/8.77 29.54/8.77 (76) 29.54/8.77 Obligation: 29.54/8.77 Q DP problem: 29.54/8.77 The TRS P consists of the following rules: 29.54/8.77 29.54/8.77 F370_IN(T94) -> F401_IN(T94) 29.54/8.77 F401_IN(T94) -> U10^1(f403_in(T94), T94) 29.54/8.77 U10^1(f403_out1(T95), T94) -> F370_IN(T94) 29.54/8.77 29.54/8.77 The TRS R consists of the following rules: 29.54/8.77 29.54/8.77 f2_in(T17) -> U1(f47_in(T17), T17) 29.54/8.77 U1(f47_out1, T17) -> f2_out1 29.54/8.77 f2_in(T141) -> f2_out1 29.54/8.77 f369_in(.(T61, T62)) -> f369_out1(T61, T62) 29.54/8.77 f369_in(.(T70, T71)) -> U2(f369_in(T71), .(T70, T71)) 29.54/8.77 U2(f369_out1(T72, X74), .(T70, T71)) -> f369_out1(T72, .(T70, X74)) 29.54/8.77 f370_in(T94) -> U3(f401_in(T94), T94) 29.54/8.77 U3(f401_out1(T95, T96), T94) -> f370_out1(.(T95, T96)) 29.54/8.77 f370_in(T135) -> f370_out1([]) 29.54/8.77 f403_in(.(T114, T115)) -> f403_out1(T114) 29.54/8.77 f403_in(.(T123, T124)) -> U4(f403_in(T124), .(T123, T124)) 29.54/8.77 U4(f403_out1(T125), .(T123, T124)) -> f403_out1(T125) 29.54/8.77 f265_in(T40) -> U5(f363_in(T40), T40) 29.54/8.77 U5(f363_out1(T41, X41, T42), T40) -> f265_out1 29.54/8.77 f47_in(T17) -> U6(f265_in(T17), T17) 29.54/8.77 U6(f265_out1, T17) -> U7(f2_in(T17), T17) 29.54/8.77 U7(f2_out1, T17) -> f47_out1 29.54/8.77 f363_in(T40) -> U8(f369_in(T40), T40) 29.54/8.77 U8(f369_out1(T41, T47), T40) -> U9(f370_in(T47), T40, T41, T47) 29.54/8.77 U9(f370_out1(T48), T40, T41, T47) -> f363_out1(T41, T47, T48) 29.54/8.77 f401_in(T94) -> U10(f403_in(T94), T94) 29.54/8.77 U10(f403_out1(T95), T94) -> U11(f370_in(T94), T94, T95) 29.54/8.77 U11(f370_out1(T101), T94, T95) -> f401_out1(T95, T101) 29.54/8.77 29.54/8.77 Q is empty. 29.54/8.77 We have to consider all minimal (P,Q,R)-chains. 29.54/8.77 ---------------------------------------- 29.54/8.77 29.54/8.77 (77) NonTerminationLoopProof (COMPLETE) 29.54/8.77 We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. 29.54/8.77 Found a loop by narrowing to the left: 29.54/8.77 29.54/8.77 s = F401_IN(.(T114, T115)) evaluates to t =F401_IN(.(T114, T115)) 29.54/8.77 29.54/8.77 Thus s starts an infinite chain as s semiunifies with t with the following substitutions: 29.54/8.77 * Matcher: [ ] 29.54/8.77 * Semiunifier: [ ] 29.54/8.77 29.54/8.77 -------------------------------------------------------------------------------- 29.54/8.77 Rewriting sequence 29.54/8.77 29.54/8.77 F401_IN(.(T114, T115)) -> U10^1(f403_in(.(T114, T115)), .(T114, T115)) 29.54/8.77 with rule F401_IN(T94) -> U10^1(f403_in(T94), T94) at position [] and matcher [T94 / .(T114, T115)] 29.54/8.77 29.54/8.77 U10^1(f403_in(.(T114, T115)), .(T114, T115)) -> U10^1(f403_out1(T114), .(T114, T115)) 29.54/8.77 with rule f403_in(.(T114', T115')) -> f403_out1(T114') at position [0] and matcher [T114' / T114, T115' / T115] 29.54/8.77 29.54/8.77 U10^1(f403_out1(T114), .(T114, T115)) -> F370_IN(.(T114, T115)) 29.54/8.77 with rule U10^1(f403_out1(T95), T94') -> F370_IN(T94') at position [] and matcher [T95 / T114, T94' / .(T114, T115)] 29.54/8.77 29.54/8.77 F370_IN(.(T114, T115)) -> F401_IN(.(T114, T115)) 29.54/8.77 with rule F370_IN(T94) -> F401_IN(T94) 29.54/8.77 29.54/8.77 Now applying the matcher to the start term leads to a term which is equal to the last term in the rewriting sequence 29.54/8.77 29.54/8.77 29.54/8.77 All these steps are and every following step will be a correct step w.r.t to Q. 29.54/8.77 29.54/8.77 29.54/8.77 29.54/8.77 29.54/8.77 ---------------------------------------- 29.54/8.77 29.54/8.77 (78) 29.54/8.77 NO 29.54/8.77 29.54/8.77 ---------------------------------------- 29.54/8.77 29.54/8.77 (79) 29.54/8.77 Obligation: 29.54/8.77 Q DP problem: 29.54/8.77 The TRS P consists of the following rules: 29.54/8.77 29.54/8.77 F369_IN(.(T70, T71)) -> F369_IN(T71) 29.54/8.77 29.54/8.77 The TRS R consists of the following rules: 29.54/8.77 29.54/8.77 f2_in(T17) -> U1(f47_in(T17), T17) 29.54/8.77 U1(f47_out1, T17) -> f2_out1 29.54/8.77 f2_in(T141) -> f2_out1 29.54/8.77 f369_in(.(T61, T62)) -> f369_out1(T61, T62) 29.54/8.77 f369_in(.(T70, T71)) -> U2(f369_in(T71), .(T70, T71)) 29.54/8.77 U2(f369_out1(T72, X74), .(T70, T71)) -> f369_out1(T72, .(T70, X74)) 29.54/8.77 f370_in(T94) -> U3(f401_in(T94), T94) 29.54/8.77 U3(f401_out1(T95, T96), T94) -> f370_out1(.(T95, T96)) 29.54/8.77 f370_in(T135) -> f370_out1([]) 29.54/8.77 f403_in(.(T114, T115)) -> f403_out1(T114) 29.54/8.77 f403_in(.(T123, T124)) -> U4(f403_in(T124), .(T123, T124)) 29.54/8.77 U4(f403_out1(T125), .(T123, T124)) -> f403_out1(T125) 29.54/8.77 f265_in(T40) -> U5(f363_in(T40), T40) 29.54/8.77 U5(f363_out1(T41, X41, T42), T40) -> f265_out1 29.54/8.77 f47_in(T17) -> U6(f265_in(T17), T17) 29.54/8.77 U6(f265_out1, T17) -> U7(f2_in(T17), T17) 29.54/8.77 U7(f2_out1, T17) -> f47_out1 29.54/8.77 f363_in(T40) -> U8(f369_in(T40), T40) 29.54/8.77 U8(f369_out1(T41, T47), T40) -> U9(f370_in(T47), T40, T41, T47) 29.54/8.77 U9(f370_out1(T48), T40, T41, T47) -> f363_out1(T41, T47, T48) 29.54/8.77 f401_in(T94) -> U10(f403_in(T94), T94) 29.54/8.77 U10(f403_out1(T95), T94) -> U11(f370_in(T94), T94, T95) 29.54/8.77 U11(f370_out1(T101), T94, T95) -> f401_out1(T95, T101) 29.54/8.77 29.54/8.77 Q is empty. 29.54/8.77 We have to consider all minimal (P,Q,R)-chains. 29.54/8.77 ---------------------------------------- 29.54/8.77 29.54/8.77 (80) UsableRulesProof (EQUIVALENT) 29.54/8.77 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.54/8.77 ---------------------------------------- 29.54/8.77 29.54/8.77 (81) 29.54/8.77 Obligation: 29.54/8.77 Q DP problem: 29.54/8.77 The TRS P consists of the following rules: 29.54/8.77 29.54/8.77 F369_IN(.(T70, T71)) -> F369_IN(T71) 29.54/8.77 29.54/8.77 R is empty. 29.54/8.77 Q is empty. 29.54/8.77 We have to consider all minimal (P,Q,R)-chains. 29.54/8.77 ---------------------------------------- 29.54/8.77 29.54/8.77 (82) QDPSizeChangeProof (EQUIVALENT) 29.54/8.77 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.54/8.77 29.54/8.77 From the DPs we obtained the following set of size-change graphs: 29.54/8.77 *F369_IN(.(T70, T71)) -> F369_IN(T71) 29.54/8.77 The graph contains the following edges 1 > 1 29.54/8.77 29.54/8.77 29.54/8.77 ---------------------------------------- 29.54/8.77 29.54/8.77 (83) 29.54/8.77 YES 29.54/8.77 29.54/8.77 ---------------------------------------- 29.54/8.77 29.54/8.77 (84) 29.54/8.77 Obligation: 29.54/8.77 Q DP problem: 29.54/8.77 The TRS P consists of the following rules: 29.54/8.77 29.54/8.77 F2_IN(T17) -> F47_IN(T17) 29.54/8.77 F47_IN(T17) -> U6^1(f265_in(T17), T17) 29.54/8.77 U6^1(f265_out1, T17) -> F2_IN(T17) 29.54/8.77 29.54/8.77 The TRS R consists of the following rules: 29.54/8.77 29.54/8.77 f2_in(T17) -> U1(f47_in(T17), T17) 29.54/8.77 U1(f47_out1, T17) -> f2_out1 29.54/8.77 f2_in(T141) -> f2_out1 29.54/8.77 f369_in(.(T61, T62)) -> f369_out1(T61, T62) 29.54/8.77 f369_in(.(T70, T71)) -> U2(f369_in(T71), .(T70, T71)) 29.54/8.77 U2(f369_out1(T72, X74), .(T70, T71)) -> f369_out1(T72, .(T70, X74)) 29.54/8.77 f370_in(T94) -> U3(f401_in(T94), T94) 29.54/8.77 U3(f401_out1(T95, T96), T94) -> f370_out1(.(T95, T96)) 29.54/8.77 f370_in(T135) -> f370_out1([]) 29.54/8.77 f403_in(.(T114, T115)) -> f403_out1(T114) 29.54/8.77 f403_in(.(T123, T124)) -> U4(f403_in(T124), .(T123, T124)) 29.54/8.77 U4(f403_out1(T125), .(T123, T124)) -> f403_out1(T125) 29.54/8.77 f265_in(T40) -> U5(f363_in(T40), T40) 29.54/8.77 U5(f363_out1(T41, X41, T42), T40) -> f265_out1 29.54/8.77 f47_in(T17) -> U6(f265_in(T17), T17) 29.54/8.77 U6(f265_out1, T17) -> U7(f2_in(T17), T17) 29.54/8.77 U7(f2_out1, T17) -> f47_out1 29.54/8.77 f363_in(T40) -> U8(f369_in(T40), T40) 29.54/8.77 U8(f369_out1(T41, T47), T40) -> U9(f370_in(T47), T40, T41, T47) 29.54/8.77 U9(f370_out1(T48), T40, T41, T47) -> f363_out1(T41, T47, T48) 29.54/8.77 f401_in(T94) -> U10(f403_in(T94), T94) 29.54/8.77 U10(f403_out1(T95), T94) -> U11(f370_in(T94), T94, T95) 29.54/8.77 U11(f370_out1(T101), T94, T95) -> f401_out1(T95, T101) 29.54/8.77 29.54/8.77 Q is empty. 29.54/8.77 We have to consider all minimal (P,Q,R)-chains. 29.54/8.77 ---------------------------------------- 29.54/8.77 29.54/8.77 (85) NonTerminationLoopProof (COMPLETE) 29.54/8.77 We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. 29.54/8.77 Found a loop by narrowing to the left: 29.54/8.77 29.54/8.77 s = F47_IN(.(T61, T62)) evaluates to t =F47_IN(.(T61, T62)) 29.54/8.77 29.54/8.77 Thus s starts an infinite chain as s semiunifies with t with the following substitutions: 29.54/8.77 * Matcher: [ ] 29.54/8.77 * Semiunifier: [ ] 29.54/8.77 29.54/8.77 -------------------------------------------------------------------------------- 29.54/8.77 Rewriting sequence 29.54/8.77 29.54/8.77 F47_IN(.(T61, T62)) -> U6^1(f265_in(.(T61, T62)), .(T61, T62)) 29.54/8.77 with rule F47_IN(T17) -> U6^1(f265_in(T17), T17) at position [] and matcher [T17 / .(T61, T62)] 29.54/8.77 29.54/8.77 U6^1(f265_in(.(T61, T62)), .(T61, T62)) -> U6^1(U5(f363_in(.(T61, T62)), .(T61, T62)), .(T61, T62)) 29.54/8.77 with rule f265_in(T40') -> U5(f363_in(T40'), T40') at position [0] and matcher [T40' / .(T61, T62)] 29.54/8.77 29.54/8.77 U6^1(U5(f363_in(.(T61, T62)), .(T61, T62)), .(T61, T62)) -> U6^1(U5(U8(f369_in(.(T61, T62)), .(T61, T62)), .(T61, T62)), .(T61, T62)) 29.54/8.77 with rule f363_in(T40') -> U8(f369_in(T40'), T40') at position [0,0] and matcher [T40' / .(T61, T62)] 29.54/8.77 29.54/8.77 U6^1(U5(U8(f369_in(.(T61, T62)), .(T61, T62)), .(T61, T62)), .(T61, T62)) -> U6^1(U5(U8(f369_out1(T61, T62), .(T61, T62)), .(T61, T62)), .(T61, T62)) 29.54/8.77 with rule f369_in(.(T61', T62')) -> f369_out1(T61', T62') at position [0,0,0] and matcher [T61' / T61, T62' / T62] 29.54/8.77 29.54/8.77 U6^1(U5(U8(f369_out1(T61, T62), .(T61, T62)), .(T61, T62)), .(T61, T62)) -> U6^1(U5(U9(f370_in(T62), .(T61, T62), T61, T62), .(T61, T62)), .(T61, T62)) 29.54/8.77 with rule U8(f369_out1(T41, T47'), T40'') -> U9(f370_in(T47'), T40'', T41, T47') at position [0,0] and matcher [T41 / T61, T47' / T62, T40'' / .(T61, T62)] 29.54/8.77 29.54/8.77 U6^1(U5(U9(f370_in(T62), .(T61, T62), T61, T62), .(T61, T62)), .(T61, T62)) -> U6^1(U5(U9(f370_out1([]), .(T61, T62), T61, T62), .(T61, T62)), .(T61, T62)) 29.54/8.77 with rule f370_in(T135) -> f370_out1([]) at position [0,0,0] and matcher [T135 / T62] 29.54/8.77 29.54/8.77 U6^1(U5(U9(f370_out1([]), .(T61, T62), T61, T62), .(T61, T62)), .(T61, T62)) -> U6^1(U5(f363_out1(T61, T62, []), .(T61, T62)), .(T61, T62)) 29.54/8.77 with rule U9(f370_out1(T48), T40', T41', T47) -> f363_out1(T41', T47, T48) at position [0,0] and matcher [T48 / [], T40' / .(T61, T62), T41' / T61, T47 / T62] 29.54/8.77 29.54/8.77 U6^1(U5(f363_out1(T61, T62, []), .(T61, T62)), .(T61, T62)) -> U6^1(f265_out1, .(T61, T62)) 29.54/8.77 with rule U5(f363_out1(T41, X41, T42), T40) -> f265_out1 at position [0] and matcher [T41 / T61, X41 / T62, T42 / [], T40 / .(T61, T62)] 29.54/8.77 29.54/8.77 U6^1(f265_out1, .(T61, T62)) -> F2_IN(.(T61, T62)) 29.54/8.77 with rule U6^1(f265_out1, T17') -> F2_IN(T17') at position [] and matcher [T17' / .(T61, T62)] 29.54/8.77 29.54/8.77 F2_IN(.(T61, T62)) -> F47_IN(.(T61, T62)) 29.54/8.77 with rule F2_IN(T17) -> F47_IN(T17) 29.54/8.77 29.54/8.77 Now applying the matcher to the start term leads to a term which is equal to the last term in the rewriting sequence 29.54/8.77 29.54/8.77 29.54/8.77 All these steps are and every following step will be a correct step w.r.t to Q. 29.54/8.77 29.54/8.77 29.54/8.77 29.54/8.77 29.54/8.77 ---------------------------------------- 29.54/8.77 29.54/8.77 (86) 29.54/8.77 NO 29.54/8.77 29.54/8.77 ---------------------------------------- 29.54/8.77 29.54/8.77 (87) PrologToDTProblemTransformerProof (SOUND) 29.54/8.77 Built DT problem from termination graph DT10. 29.54/8.77 29.54/8.77 { 29.54/8.77 "root": 21, 29.54/8.77 "program": { 29.54/8.77 "directives": [], 29.54/8.77 "clauses": [ 29.54/8.77 [ 29.54/8.77 "(color_map (. Region Regions) Colors)", 29.54/8.77 "(',' (color_region Region Colors) (color_map Regions Colors))" 29.54/8.77 ], 29.54/8.77 [ 29.54/8.77 "(color_map ([]) Colors)", 29.54/8.77 null 29.54/8.77 ], 29.54/8.77 [ 29.54/8.77 "(color_region (region Name Color Neighbors) Colors)", 29.54/8.77 "(',' (select Color Colors Colors1) (members Neighbors Colors1))" 29.54/8.77 ], 29.54/8.77 [ 29.54/8.77 "(select X (. X Xs) Xs)", 29.54/8.77 null 29.54/8.77 ], 29.54/8.77 [ 29.54/8.77 "(select X (. Y Ys) (. Y Zs))", 29.54/8.77 "(select X Ys Zs)" 29.54/8.77 ], 29.54/8.77 [ 29.54/8.77 "(members (. X Xs) Ys)", 29.54/8.77 "(',' (member X Ys) (members Xs Ys))" 29.54/8.77 ], 29.54/8.77 [ 29.54/8.77 "(members ([]) Ys)", 29.54/8.77 null 29.54/8.77 ], 29.54/8.77 [ 29.54/8.77 "(member X (. X X1))", 29.54/8.77 null 29.54/8.77 ], 29.54/8.77 [ 29.54/8.77 "(member X (. X2 Xs))", 29.54/8.77 "(member X Xs)" 29.54/8.77 ] 29.54/8.77 ] 29.54/8.77 }, 29.54/8.77 "graph": { 29.54/8.77 "nodes": { 29.54/8.77 "23": { 29.54/8.77 "goal": [ 29.54/8.77 { 29.54/8.77 "clause": 0, 29.54/8.77 "scope": 1, 29.54/8.77 "term": "(color_map T1 T2)" 29.54/8.77 }, 29.54/8.77 { 29.54/8.77 "clause": 1, 29.54/8.77 "scope": 1, 29.54/8.77 "term": "(color_map T1 T2)" 29.54/8.77 } 29.54/8.77 ], 29.54/8.77 "kb": { 29.54/8.77 "nonunifying": [], 29.54/8.77 "intvars": {}, 29.54/8.77 "arithmetic": { 29.54/8.77 "type": "PlainIntegerRelationState", 29.54/8.77 "relations": [] 29.54/8.77 }, 29.54/8.77 "ground": ["T2"], 29.54/8.77 "free": [], 29.54/8.77 "exprvars": [] 29.54/8.77 } 29.54/8.77 }, 29.54/8.77 "type": "Nodes", 29.54/8.77 "393": { 29.54/8.77 "goal": [{ 29.54/8.77 "clause": -1, 29.54/8.77 "scope": -1, 29.54/8.77 "term": "(true)" 29.54/8.77 }], 29.54/8.77 "kb": { 29.54/8.77 "nonunifying": [], 29.54/8.77 "intvars": {}, 29.54/8.77 "arithmetic": { 29.54/8.77 "type": "PlainIntegerRelationState", 29.54/8.77 "relations": [] 29.54/8.77 }, 29.54/8.77 "ground": [], 29.54/8.77 "free": [], 29.54/8.77 "exprvars": [] 29.54/8.77 } 29.54/8.77 }, 29.54/8.77 "394": { 29.54/8.77 "goal": [], 29.54/8.77 "kb": { 29.54/8.77 "nonunifying": [], 29.54/8.77 "intvars": {}, 29.54/8.77 "arithmetic": { 29.54/8.77 "type": "PlainIntegerRelationState", 29.54/8.77 "relations": [] 29.54/8.77 }, 29.54/8.77 "ground": [], 29.54/8.77 "free": [], 29.54/8.77 "exprvars": [] 29.54/8.77 } 29.54/8.77 }, 29.54/8.77 "395": { 29.54/8.77 "goal": [], 29.54/8.77 "kb": { 29.54/8.77 "nonunifying": [], 29.54/8.77 "intvars": {}, 29.54/8.77 "arithmetic": { 29.54/8.77 "type": "PlainIntegerRelationState", 29.54/8.77 "relations": [] 29.54/8.77 }, 29.54/8.77 "ground": [], 29.54/8.77 "free": [], 29.54/8.77 "exprvars": [] 29.54/8.77 } 29.54/8.77 }, 29.54/8.77 "396": { 29.54/8.77 "goal": [{ 29.54/8.77 "clause": -1, 29.54/8.77 "scope": -1, 29.54/8.77 "term": "(select T64 T63 X64)" 29.54/8.77 }], 29.54/8.77 "kb": { 29.54/8.77 "nonunifying": [], 29.54/8.77 "intvars": {}, 29.54/8.77 "arithmetic": { 29.54/8.77 "type": "PlainIntegerRelationState", 29.54/8.77 "relations": [] 29.54/8.77 }, 29.54/8.77 "ground": ["T63"], 29.54/8.77 "free": ["X64"], 29.54/8.77 "exprvars": [] 29.54/8.77 } 29.54/8.77 }, 29.54/8.77 "397": { 29.54/8.77 "goal": [], 29.54/8.77 "kb": { 29.54/8.77 "nonunifying": [], 29.54/8.77 "intvars": {}, 29.54/8.77 "arithmetic": { 29.54/8.77 "type": "PlainIntegerRelationState", 29.54/8.77 "relations": [] 29.54/8.77 }, 29.54/8.77 "ground": [], 29.54/8.77 "free": [], 29.54/8.77 "exprvars": [] 29.54/8.77 } 29.54/8.77 }, 29.54/8.77 "453": { 29.54/8.77 "goal": [{ 29.54/8.77 "clause": 1, 29.54/8.77 "scope": 1, 29.54/8.77 "term": "(color_map T1 T8)" 29.54/8.77 }], 29.54/8.77 "kb": { 29.54/8.77 "nonunifying": [], 29.54/8.77 "intvars": {}, 29.54/8.77 "arithmetic": { 29.54/8.77 "type": "PlainIntegerRelationState", 29.54/8.77 "relations": [] 29.54/8.77 }, 29.54/8.77 "ground": ["T8"], 29.54/8.77 "free": [], 29.54/8.77 "exprvars": [] 29.54/8.77 } 29.54/8.77 }, 29.54/8.77 "457": { 29.54/8.77 "goal": [{ 29.54/8.77 "clause": -1, 29.54/8.77 "scope": -1, 29.54/8.77 "term": "(true)" 29.54/8.77 }], 29.54/8.77 "kb": { 29.54/8.77 "nonunifying": [], 29.54/8.77 "intvars": {}, 29.54/8.77 "arithmetic": { 29.54/8.77 "type": "PlainIntegerRelationState", 29.54/8.77 "relations": [] 29.54/8.77 }, 29.54/8.77 "ground": [], 29.54/8.77 "free": [], 29.54/8.77 "exprvars": [] 29.54/8.77 } 29.54/8.77 }, 29.54/8.77 "458": { 29.54/8.77 "goal": [], 29.54/8.77 "kb": { 29.54/8.77 "nonunifying": [], 29.54/8.77 "intvars": {}, 29.54/8.77 "arithmetic": { 29.54/8.77 "type": "PlainIntegerRelationState", 29.54/8.77 "relations": [] 29.54/8.77 }, 29.54/8.77 "ground": [], 29.54/8.77 "free": [], 29.54/8.77 "exprvars": [] 29.54/8.77 } 29.54/8.77 }, 29.54/8.77 "437": { 29.54/8.77 "goal": [ 29.54/8.77 { 29.54/8.77 "clause": 7, 29.54/8.77 "scope": 5, 29.54/8.77 "term": "(member T91 T90)" 29.54/8.77 }, 29.54/8.77 { 29.54/8.77 "clause": 8, 29.54/8.77 "scope": 5, 29.54/8.77 "term": "(member T91 T90)" 29.54/8.77 } 29.54/8.77 ], 29.54/8.77 "kb": { 29.54/8.77 "nonunifying": [], 29.54/8.77 "intvars": {}, 29.54/8.77 "arithmetic": { 29.54/8.77 "type": "PlainIntegerRelationState", 29.54/8.77 "relations": [] 29.54/8.77 }, 29.54/8.77 "ground": ["T90"], 29.54/8.77 "free": [], 29.54/8.77 "exprvars": [] 29.54/8.77 } 29.54/8.77 }, 29.54/8.77 "459": { 29.54/8.77 "goal": [], 29.54/8.77 "kb": { 29.54/8.77 "nonunifying": [], 29.54/8.77 "intvars": {}, 29.54/8.77 "arithmetic": { 29.54/8.77 "type": "PlainIntegerRelationState", 29.54/8.77 "relations": [] 29.54/8.77 }, 29.54/8.77 "ground": [], 29.54/8.77 "free": [], 29.54/8.77 "exprvars": [] 29.54/8.77 } 29.54/8.77 }, 29.54/8.77 "92": { 29.54/8.77 "goal": [ 29.54/8.77 { 29.54/8.77 "clause": -1, 29.54/8.77 "scope": -1, 29.54/8.77 "term": "(',' (color_region T9 T8) (color_map T10 T8))" 29.54/8.77 }, 29.54/8.77 { 29.54/8.77 "clause": 1, 29.54/8.77 "scope": 1, 29.54/8.77 "term": "(color_map T1 T8)" 29.54/8.77 } 29.54/8.77 ], 29.54/8.77 "kb": { 29.54/8.77 "nonunifying": [], 29.54/8.77 "intvars": {}, 29.54/8.77 "arithmetic": { 29.54/8.77 "type": "PlainIntegerRelationState", 29.54/8.77 "relations": [] 29.54/8.77 }, 29.54/8.77 "ground": ["T8"], 29.54/8.77 "free": [], 29.54/8.77 "exprvars": [] 29.54/8.77 } 29.54/8.77 }, 29.54/8.77 "416": { 29.54/8.77 "goal": [{ 29.54/8.77 "clause": -1, 29.54/8.77 "scope": -1, 29.54/8.77 "term": "(members T39 T38)" 29.54/8.77 }], 29.54/8.77 "kb": { 29.54/8.77 "nonunifying": [], 29.54/8.77 "intvars": {}, 29.54/8.77 "arithmetic": { 29.54/8.77 "type": "PlainIntegerRelationState", 29.54/8.77 "relations": [] 29.54/8.77 }, 29.54/8.77 "ground": ["T38"], 29.54/8.77 "free": [], 29.54/8.77 "exprvars": [] 29.54/8.77 } 29.54/8.77 }, 29.54/8.77 "438": { 29.54/8.77 "goal": [{ 29.54/8.77 "clause": 7, 29.54/8.77 "scope": 5, 29.54/8.77 "term": "(member T91 T90)" 29.54/8.77 }], 29.54/8.77 "kb": { 29.54/8.77 "nonunifying": [], 29.54/8.77 "intvars": {}, 29.54/8.77 "arithmetic": { 29.54/8.77 "type": "PlainIntegerRelationState", 29.54/8.77 "relations": [] 29.54/8.77 }, 29.54/8.77 "ground": ["T90"], 29.54/8.77 "free": [], 29.54/8.77 "exprvars": [] 29.54/8.77 } 29.54/8.77 }, 29.54/8.77 "417": { 29.54/8.77 "goal": [{ 29.54/8.77 "clause": -1, 29.54/8.77 "scope": -1, 29.54/8.77 "term": "(color_map T72 T30)" 29.54/8.77 }], 29.54/8.77 "kb": { 29.54/8.77 "nonunifying": [], 29.54/8.77 "intvars": {}, 29.54/8.77 "arithmetic": { 29.54/8.77 "type": "PlainIntegerRelationState", 29.54/8.77 "relations": [] 29.54/8.77 }, 29.54/8.77 "ground": ["T30"], 29.54/8.77 "free": [], 29.54/8.77 "exprvars": [] 29.54/8.77 } 29.54/8.77 }, 29.54/8.77 "439": { 29.54/8.77 "goal": [{ 29.54/8.77 "clause": 8, 29.54/8.77 "scope": 5, 29.54/8.77 "term": "(member T91 T90)" 29.54/8.77 }], 29.54/8.77 "kb": { 29.54/8.77 "nonunifying": [], 29.54/8.77 "intvars": {}, 29.54/8.77 "arithmetic": { 29.54/8.77 "type": "PlainIntegerRelationState", 29.54/8.77 "relations": [] 29.54/8.77 }, 29.54/8.77 "ground": ["T90"], 29.54/8.77 "free": [], 29.54/8.77 "exprvars": [] 29.54/8.77 } 29.54/8.77 }, 29.54/8.77 "418": { 29.54/8.77 "goal": [ 29.54/8.77 { 29.54/8.77 "clause": 5, 29.54/8.77 "scope": 4, 29.54/8.77 "term": "(members T39 T38)" 29.54/8.77 }, 29.54/8.77 { 29.54/8.77 "clause": 6, 29.54/8.77 "scope": 4, 29.54/8.77 "term": "(members T39 T38)" 29.54/8.77 } 29.54/8.77 ], 29.54/8.77 "kb": { 29.54/8.77 "nonunifying": [], 29.54/8.77 "intvars": {}, 29.54/8.77 "arithmetic": { 29.54/8.77 "type": "PlainIntegerRelationState", 29.54/8.77 "relations": [] 29.54/8.77 }, 29.54/8.77 "ground": ["T38"], 29.54/8.77 "free": [], 29.54/8.77 "exprvars": [] 29.54/8.77 } 29.54/8.77 }, 29.54/8.77 "184": { 29.54/8.77 "goal": [{ 29.54/8.77 "clause": -1, 29.54/8.77 "scope": -1, 29.54/8.77 "term": "(',' (',' (select T31 T30 X31) (members T32 X31)) (color_map T33 T30))" 29.54/8.77 }], 29.54/8.77 "kb": { 29.54/8.77 "nonunifying": [], 29.54/8.77 "intvars": {}, 29.54/8.77 "arithmetic": { 29.54/8.77 "type": "PlainIntegerRelationState", 29.54/8.77 "relations": [] 29.54/8.77 }, 29.54/8.77 "ground": ["T30"], 29.54/8.77 "free": ["X31"], 29.54/8.77 "exprvars": [] 29.54/8.77 } 29.54/8.77 }, 29.54/8.77 "185": { 29.54/8.77 "goal": [], 29.54/8.77 "kb": { 29.54/8.77 "nonunifying": [], 29.54/8.77 "intvars": {}, 29.54/8.77 "arithmetic": { 29.54/8.77 "type": "PlainIntegerRelationState", 29.54/8.77 "relations": [] 29.54/8.77 }, 29.54/8.77 "ground": [], 29.54/8.77 "free": [], 29.54/8.77 "exprvars": [] 29.54/8.77 } 29.54/8.77 }, 29.54/8.77 "460": { 29.54/8.77 "goal": [{ 29.54/8.77 "clause": -1, 29.54/8.77 "scope": -1, 29.54/8.77 "term": "(true)" 29.54/8.77 }], 29.54/8.77 "kb": { 29.54/8.77 "nonunifying": [], 29.54/8.77 "intvars": {}, 29.54/8.77 "arithmetic": { 29.54/8.77 "type": "PlainIntegerRelationState", 29.54/8.77 "relations": [] 29.54/8.77 }, 29.54/8.77 "ground": [], 29.54/8.77 "free": [], 29.54/8.77 "exprvars": [] 29.54/8.77 } 29.54/8.77 }, 29.54/8.77 "120": { 29.54/8.77 "goal": [ 29.54/8.77 { 29.54/8.77 "clause": 2, 29.54/8.77 "scope": 2, 29.54/8.77 "term": "(',' (color_region T9 T8) (color_map T10 T8))" 29.54/8.77 }, 29.54/8.77 { 29.54/8.77 "clause": -1, 29.54/8.77 "scope": 2, 29.54/8.77 "term": null 29.54/8.77 }, 29.54/8.77 { 29.54/8.77 "clause": 1, 29.54/8.77 "scope": 1, 29.54/8.77 "term": "(color_map T1 T8)" 29.54/8.77 } 29.54/8.77 ], 29.54/8.77 "kb": { 29.54/8.77 "nonunifying": [], 29.54/8.77 "intvars": {}, 29.54/8.77 "arithmetic": { 29.54/8.77 "type": "PlainIntegerRelationState", 29.54/8.77 "relations": [] 29.54/8.77 }, 29.54/8.77 "ground": ["T8"], 29.54/8.77 "free": [], 29.54/8.77 "exprvars": [] 29.54/8.77 } 29.54/8.77 }, 29.54/8.77 "385": { 29.54/8.77 "goal": [{ 29.54/8.77 "clause": -1, 29.54/8.77 "scope": -1, 29.54/8.77 "term": "(select T31 T30 X31)" 29.54/8.77 }], 29.54/8.77 "kb": { 29.54/8.77 "nonunifying": [], 29.54/8.77 "intvars": {}, 29.54/8.77 "arithmetic": { 29.54/8.77 "type": "PlainIntegerRelationState", 29.54/8.77 "relations": [] 29.54/8.77 }, 29.54/8.77 "ground": ["T30"], 29.54/8.77 "free": ["X31"], 29.54/8.77 "exprvars": [] 29.54/8.77 } 29.54/8.77 }, 29.54/8.77 "440": { 29.54/8.77 "goal": [{ 29.54/8.77 "clause": -1, 29.54/8.77 "scope": -1, 29.54/8.77 "term": "(true)" 29.54/8.77 }], 29.54/8.77 "kb": { 29.54/8.77 "nonunifying": [], 29.54/8.77 "intvars": {}, 29.54/8.77 "arithmetic": { 29.54/8.77 "type": "PlainIntegerRelationState", 29.54/8.77 "relations": [] 29.54/8.77 }, 29.54/8.77 "ground": [], 29.54/8.77 "free": [], 29.54/8.77 "exprvars": [] 29.54/8.77 } 29.54/8.77 }, 29.54/8.77 "386": { 29.54/8.77 "goal": [{ 29.54/8.77 "clause": -1, 29.54/8.77 "scope": -1, 29.54/8.77 "term": "(',' (members T39 T38) (color_map T40 T30))" 29.54/8.77 }], 29.54/8.77 "kb": { 29.54/8.77 "nonunifying": [], 29.54/8.77 "intvars": {}, 29.54/8.77 "arithmetic": { 29.54/8.77 "type": "PlainIntegerRelationState", 29.54/8.77 "relations": [] 29.54/8.77 }, 29.54/8.77 "ground": [ 29.54/8.77 "T30", 29.54/8.77 "T38" 29.54/8.77 ], 29.54/8.77 "free": [], 29.54/8.77 "exprvars": [] 29.54/8.77 } 29.54/8.77 }, 29.54/8.77 "441": { 29.54/8.77 "goal": [], 29.54/8.77 "kb": { 29.54/8.77 "nonunifying": [], 29.54/8.77 "intvars": {}, 29.54/8.77 "arithmetic": { 29.54/8.77 "type": "PlainIntegerRelationState", 29.54/8.77 "relations": [] 29.54/8.77 }, 29.54/8.77 "ground": [], 29.54/8.77 "free": [], 29.54/8.77 "exprvars": [] 29.54/8.77 } 29.54/8.77 }, 29.54/8.77 "463": { 29.54/8.77 "goal": [], 29.54/8.77 "kb": { 29.54/8.77 "nonunifying": [], 29.54/8.77 "intvars": {}, 29.54/8.77 "arithmetic": { 29.54/8.77 "type": "PlainIntegerRelationState", 29.54/8.77 "relations": [] 29.54/8.77 }, 29.54/8.77 "ground": [], 29.54/8.77 "free": [], 29.54/8.77 "exprvars": [] 29.54/8.77 } 29.54/8.77 }, 29.54/8.77 "387": { 29.54/8.77 "goal": [ 29.54/8.77 { 29.54/8.77 "clause": 3, 29.54/8.77 "scope": 3, 29.54/8.77 "term": "(select T31 T30 X31)" 29.54/8.77 }, 29.54/8.77 { 29.54/8.77 "clause": 4, 29.54/8.77 "scope": 3, 29.54/8.77 "term": "(select T31 T30 X31)" 29.54/8.77 } 29.54/8.77 ], 29.54/8.77 "kb": { 29.54/8.77 "nonunifying": [], 29.54/8.77 "intvars": {}, 29.54/8.77 "arithmetic": { 29.54/8.77 "type": "PlainIntegerRelationState", 29.54/8.77 "relations": [] 29.54/8.77 }, 29.54/8.77 "ground": ["T30"], 29.54/8.77 "free": ["X31"], 29.54/8.77 "exprvars": [] 29.54/8.77 } 29.54/8.77 }, 29.54/8.77 "442": { 29.54/8.77 "goal": [], 29.54/8.77 "kb": { 29.54/8.77 "nonunifying": [], 29.54/8.77 "intvars": {}, 29.54/8.77 "arithmetic": { 29.54/8.77 "type": "PlainIntegerRelationState", 29.54/8.77 "relations": [] 29.54/8.77 }, 29.54/8.77 "ground": [], 29.54/8.77 "free": [], 29.54/8.77 "exprvars": [] 29.54/8.77 } 29.54/8.77 }, 29.54/8.77 "464": { 29.54/8.77 "goal": [], 29.54/8.77 "kb": { 29.54/8.77 "nonunifying": [], 29.54/8.77 "intvars": {}, 29.54/8.77 "arithmetic": { 29.54/8.77 "type": "PlainIntegerRelationState", 29.54/8.77 "relations": [] 29.54/8.77 }, 29.54/8.77 "ground": [], 29.54/8.77 "free": [], 29.54/8.77 "exprvars": [] 29.54/8.77 } 29.54/8.77 }, 29.54/8.77 "146": { 29.54/8.77 "goal": [{ 29.54/8.77 "clause": 2, 29.54/8.77 "scope": 2, 29.54/8.77 "term": "(',' (color_region T9 T8) (color_map T10 T8))" 29.54/8.77 }], 29.54/8.77 "kb": { 29.54/8.77 "nonunifying": [], 29.54/8.77 "intvars": {}, 29.54/8.77 "arithmetic": { 29.54/8.77 "type": "PlainIntegerRelationState", 29.54/8.77 "relations": [] 29.54/8.77 }, 29.54/8.77 "ground": ["T8"], 29.54/8.77 "free": [], 29.54/8.77 "exprvars": [] 29.54/8.77 } 29.54/8.77 }, 29.54/8.77 "388": { 29.54/8.77 "goal": [{ 29.54/8.77 "clause": 3, 29.54/8.77 "scope": 3, 29.54/8.77 "term": "(select T31 T30 X31)" 29.54/8.77 }], 29.54/8.77 "kb": { 29.54/8.77 "nonunifying": [], 29.54/8.77 "intvars": {}, 29.54/8.77 "arithmetic": { 29.54/8.77 "type": "PlainIntegerRelationState", 29.54/8.77 "relations": [] 29.54/8.77 }, 29.54/8.77 "ground": ["T30"], 29.54/8.77 "free": ["X31"], 29.54/8.77 "exprvars": [] 29.54/8.77 } 29.54/8.77 }, 29.54/8.77 "421": { 29.54/8.77 "goal": [{ 29.54/8.77 "clause": 5, 29.54/8.77 "scope": 4, 29.54/8.77 "term": "(members T39 T38)" 29.54/8.77 }], 29.54/8.77 "kb": { 29.54/8.77 "nonunifying": [], 29.54/8.77 "intvars": {}, 29.54/8.77 "arithmetic": { 29.54/8.77 "type": "PlainIntegerRelationState", 29.54/8.77 "relations": [] 29.54/8.77 }, 29.54/8.77 "ground": ["T38"], 29.54/8.77 "free": [], 29.54/8.77 "exprvars": [] 29.54/8.77 } 29.54/8.77 }, 29.54/8.77 "443": { 29.54/8.77 "goal": [{ 29.54/8.77 "clause": -1, 29.54/8.77 "scope": -1, 29.54/8.77 "term": "(member T121 T120)" 29.54/8.77 }], 29.54/8.77 "kb": { 29.54/8.77 "nonunifying": [], 29.54/8.77 "intvars": {}, 29.54/8.77 "arithmetic": { 29.54/8.77 "type": "PlainIntegerRelationState", 29.54/8.77 "relations": [] 29.54/8.77 }, 29.54/8.77 "ground": ["T120"], 29.54/8.77 "free": [], 29.54/8.77 "exprvars": [] 29.54/8.77 } 29.54/8.77 }, 29.54/8.77 "147": { 29.54/8.77 "goal": [ 29.54/8.77 { 29.54/8.77 "clause": -1, 29.54/8.77 "scope": 2, 29.54/8.77 "term": null 29.54/8.77 }, 29.54/8.77 { 29.54/8.77 "clause": 1, 29.54/8.77 "scope": 1, 29.54/8.77 "term": "(color_map T1 T8)" 29.54/8.77 } 29.54/8.77 ], 29.54/8.77 "kb": { 29.54/8.77 "nonunifying": [], 29.54/8.77 "intvars": {}, 29.54/8.77 "arithmetic": { 29.54/8.77 "type": "PlainIntegerRelationState", 29.54/8.77 "relations": [] 29.54/8.77 }, 29.54/8.77 "ground": ["T8"], 29.54/8.77 "free": [], 29.54/8.77 "exprvars": [] 29.54/8.77 } 29.54/8.77 }, 29.54/8.77 "389": { 29.54/8.77 "goal": [{ 29.54/8.77 "clause": 4, 29.54/8.77 "scope": 3, 29.54/8.77 "term": "(select T31 T30 X31)" 29.54/8.77 }], 29.54/8.77 "kb": { 29.54/8.77 "nonunifying": [], 29.54/8.77 "intvars": {}, 29.54/8.77 "arithmetic": { 29.54/8.77 "type": "PlainIntegerRelationState", 29.54/8.77 "relations": [] 29.54/8.77 }, 29.54/8.77 "ground": ["T30"], 29.54/8.77 "free": ["X31"], 29.54/8.77 "exprvars": [] 29.54/8.77 } 29.54/8.77 }, 29.54/8.77 "422": { 29.54/8.77 "goal": [{ 29.54/8.77 "clause": 6, 29.54/8.77 "scope": 4, 29.54/8.77 "term": "(members T39 T38)" 29.54/8.77 }], 29.54/8.77 "kb": { 29.54/8.77 "nonunifying": [], 29.54/8.77 "intvars": {}, 29.54/8.77 "arithmetic": { 29.54/8.77 "type": "PlainIntegerRelationState", 29.54/8.77 "relations": [] 29.54/8.77 }, 29.54/8.77 "ground": ["T38"], 29.54/8.77 "free": [], 29.54/8.77 "exprvars": [] 29.54/8.77 } 29.54/8.77 }, 29.54/8.77 "444": { 29.54/8.77 "goal": [], 29.54/8.77 "kb": { 29.54/8.77 "nonunifying": [], 29.54/8.77 "intvars": {}, 29.54/8.77 "arithmetic": { 29.54/8.77 "type": "PlainIntegerRelationState", 29.54/8.77 "relations": [] 29.54/8.77 }, 29.54/8.77 "ground": [], 29.54/8.77 "free": [], 29.54/8.77 "exprvars": [] 29.54/8.77 } 29.54/8.77 }, 29.54/8.77 "423": { 29.54/8.77 "goal": [{ 29.54/8.77 "clause": -1, 29.54/8.77 "scope": -1, 29.54/8.77 "term": "(',' (member T91 T90) (members T92 T90))" 29.54/8.77 }], 29.54/8.77 "kb": { 29.54/8.77 "nonunifying": [], 29.54/8.77 "intvars": {}, 29.54/8.77 "arithmetic": { 29.54/8.77 "type": "PlainIntegerRelationState", 29.54/8.77 "relations": [] 29.54/8.77 }, 29.54/8.77 "ground": ["T90"], 29.54/8.77 "free": [], 29.54/8.77 "exprvars": [] 29.54/8.77 } 29.54/8.77 }, 29.54/8.77 "424": { 29.54/8.77 "goal": [], 29.54/8.77 "kb": { 29.54/8.77 "nonunifying": [], 29.54/8.77 "intvars": {}, 29.54/8.77 "arithmetic": { 29.54/8.77 "type": "PlainIntegerRelationState", 29.54/8.77 "relations": [] 29.54/8.77 }, 29.54/8.77 "ground": [], 29.54/8.77 "free": [], 29.54/8.77 "exprvars": [] 29.54/8.77 } 29.54/8.77 }, 29.54/8.77 "106": { 29.54/8.77 "goal": [{ 29.54/8.77 "clause": 1, 29.54/8.77 "scope": 1, 29.54/8.77 "term": "(color_map T1 T2)" 29.54/8.77 }], 29.54/8.77 "kb": { 29.54/8.77 "nonunifying": [[ 29.54/8.77 "(color_map T1 T2)", 29.54/8.77 "(color_map (. X6 X7) X8)" 29.54/8.77 ]], 29.54/8.77 "intvars": {}, 29.54/8.77 "arithmetic": { 29.54/8.77 "type": "PlainIntegerRelationState", 29.54/8.77 "relations": [] 29.54/8.77 }, 29.54/8.77 "ground": ["T2"], 29.54/8.78 "free": [ 29.54/8.78 "X6", 29.54/8.78 "X7", 29.54/8.78 "X8" 29.54/8.78 ], 29.54/8.78 "exprvars": [] 29.54/8.78 } 29.54/8.78 }, 29.54/8.78 "447": { 29.54/8.78 "goal": [{ 29.54/8.78 "clause": -1, 29.54/8.78 "scope": -1, 29.54/8.78 "term": "(true)" 29.54/8.78 }], 29.54/8.78 "kb": { 29.54/8.78 "nonunifying": [], 29.54/8.78 "intvars": {}, 29.54/8.78 "arithmetic": { 29.54/8.78 "type": "PlainIntegerRelationState", 29.54/8.78 "relations": [] 29.54/8.78 }, 29.54/8.78 "ground": [], 29.54/8.78 "free": [], 29.54/8.78 "exprvars": [] 29.54/8.78 } 29.54/8.78 }, 29.54/8.78 "448": { 29.54/8.78 "goal": [], 29.54/8.78 "kb": { 29.54/8.78 "nonunifying": [], 29.54/8.78 "intvars": {}, 29.54/8.78 "arithmetic": { 29.54/8.78 "type": "PlainIntegerRelationState", 29.54/8.78 "relations": [] 29.54/8.78 }, 29.54/8.78 "ground": [], 29.54/8.78 "free": [], 29.54/8.78 "exprvars": [] 29.54/8.78 } 29.54/8.78 }, 29.54/8.78 "449": { 29.54/8.78 "goal": [], 29.54/8.78 "kb": { 29.54/8.78 "nonunifying": [], 29.54/8.78 "intvars": {}, 29.54/8.78 "arithmetic": { 29.54/8.78 "type": "PlainIntegerRelationState", 29.54/8.78 "relations": [] 29.54/8.78 }, 29.54/8.78 "ground": [], 29.54/8.78 "free": [], 29.54/8.78 "exprvars": [] 29.54/8.78 } 29.54/8.78 }, 29.54/8.78 "428": { 29.54/8.78 "goal": [{ 29.54/8.78 "clause": -1, 29.54/8.78 "scope": -1, 29.54/8.78 "term": "(member T91 T90)" 29.54/8.78 }], 29.54/8.78 "kb": { 29.54/8.78 "nonunifying": [], 29.54/8.78 "intvars": {}, 29.54/8.78 "arithmetic": { 29.54/8.78 "type": "PlainIntegerRelationState", 29.54/8.78 "relations": [] 29.54/8.78 }, 29.54/8.78 "ground": ["T90"], 29.54/8.78 "free": [], 29.54/8.78 "exprvars": [] 29.54/8.78 } 29.54/8.78 }, 29.54/8.78 "429": { 29.54/8.78 "goal": [{ 29.54/8.78 "clause": -1, 29.54/8.78 "scope": -1, 29.54/8.78 "term": "(members T97 T90)" 29.54/8.78 }], 29.54/8.78 "kb": { 29.54/8.78 "nonunifying": [], 29.54/8.78 "intvars": {}, 29.54/8.78 "arithmetic": { 29.54/8.78 "type": "PlainIntegerRelationState", 29.54/8.78 "relations": [] 29.54/8.78 }, 29.54/8.78 "ground": ["T90"], 29.54/8.78 "free": [], 29.54/8.78 "exprvars": [] 29.54/8.78 } 29.54/8.78 }, 29.54/8.78 "21": { 29.54/8.78 "goal": [{ 29.54/8.78 "clause": -1, 29.54/8.78 "scope": -1, 29.54/8.78 "term": "(color_map T1 T2)" 29.54/8.78 }], 29.54/8.78 "kb": { 29.54/8.78 "nonunifying": [], 29.54/8.78 "intvars": {}, 29.54/8.78 "arithmetic": { 29.54/8.78 "type": "PlainIntegerRelationState", 29.54/8.78 "relations": [] 29.54/8.78 }, 29.54/8.78 "ground": ["T2"], 29.54/8.78 "free": [], 29.54/8.78 "exprvars": [] 29.54/8.78 } 29.54/8.78 } 29.54/8.78 }, 29.54/8.78 "edges": [ 29.54/8.78 { 29.54/8.78 "from": 21, 29.54/8.78 "to": 23, 29.54/8.78 "label": "CASE" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 23, 29.54/8.78 "to": 92, 29.54/8.78 "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.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 23, 29.54/8.78 "to": 106, 29.54/8.78 "label": "EVAL-BACKTRACK" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 92, 29.54/8.78 "to": 120, 29.54/8.78 "label": "CASE" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 106, 29.54/8.78 "to": 460, 29.54/8.78 "label": "EVAL with clause\ncolor_map([], X134).\nand substitutionT1 -> [],\nT2 -> T139,\nX134 -> T139" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 106, 29.54/8.78 "to": 463, 29.54/8.78 "label": "EVAL-BACKTRACK" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 120, 29.54/8.78 "to": 146, 29.54/8.78 "label": "PARALLEL" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 120, 29.54/8.78 "to": 147, 29.54/8.78 "label": "PARALLEL" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 146, 29.54/8.78 "to": 184, 29.54/8.78 "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.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 146, 29.54/8.78 "to": 185, 29.54/8.78 "label": "EVAL-BACKTRACK" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 147, 29.54/8.78 "to": 453, 29.54/8.78 "label": "FAILURE" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 184, 29.54/8.78 "to": 385, 29.54/8.78 "label": "SPLIT 1" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 184, 29.54/8.78 "to": 386, 29.54/8.78 "label": "SPLIT 2\nnew knowledge:\nT31 is ground\nT30 is ground\nT38 is ground\nreplacements:X31 -> T38,\nT32 -> T39,\nT33 -> T40" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 385, 29.54/8.78 "to": 387, 29.54/8.78 "label": "CASE" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 386, 29.54/8.78 "to": 416, 29.54/8.78 "label": "SPLIT 1" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 386, 29.54/8.78 "to": 417, 29.54/8.78 "label": "SPLIT 2\nnew knowledge:\nT39 is ground\nT38 is ground\nreplacements:T40 -> T72" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 387, 29.54/8.78 "to": 388, 29.54/8.78 "label": "PARALLEL" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 387, 29.54/8.78 "to": 389, 29.54/8.78 "label": "PARALLEL" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 388, 29.54/8.78 "to": 393, 29.54/8.78 "label": "EVAL with clause\nselect(X48, .(X48, X49), X49).\nand substitutionT31 -> T53,\nX48 -> T53,\nX49 -> T54,\nT30 -> .(T53, T54),\nX31 -> T54" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 388, 29.54/8.78 "to": 394, 29.54/8.78 "label": "EVAL-BACKTRACK" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 389, 29.54/8.78 "to": 396, 29.54/8.78 "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.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 389, 29.54/8.78 "to": 397, 29.54/8.78 "label": "EVAL-BACKTRACK" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 393, 29.54/8.78 "to": 395, 29.54/8.78 "label": "SUCCESS" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 396, 29.54/8.78 "to": 385, 29.54/8.78 "label": "INSTANCE with matching:\nT31 -> T64\nT30 -> T63\nX31 -> X64" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 416, 29.54/8.78 "to": 418, 29.54/8.78 "label": "CASE" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 417, 29.54/8.78 "to": 21, 29.54/8.78 "label": "INSTANCE with matching:\nT1 -> T72\nT2 -> T30" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 418, 29.54/8.78 "to": 421, 29.54/8.78 "label": "PARALLEL" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 418, 29.54/8.78 "to": 422, 29.54/8.78 "label": "PARALLEL" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 421, 29.54/8.78 "to": 423, 29.54/8.78 "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.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 421, 29.54/8.78 "to": 424, 29.54/8.78 "label": "EVAL-BACKTRACK" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 422, 29.54/8.78 "to": 447, 29.54/8.78 "label": "EVAL with clause\nmembers([], X126).\nand substitutionT39 -> [],\nT38 -> T131,\nX126 -> T131" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 422, 29.54/8.78 "to": 448, 29.54/8.78 "label": "EVAL-BACKTRACK" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 423, 29.54/8.78 "to": 428, 29.54/8.78 "label": "SPLIT 1" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 423, 29.54/8.78 "to": 429, 29.54/8.78 "label": "SPLIT 2\nnew knowledge:\nT91 is ground\nT90 is ground\nreplacements:T92 -> T97" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 428, 29.54/8.78 "to": 437, 29.54/8.78 "label": "CASE" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 429, 29.54/8.78 "to": 416, 29.54/8.78 "label": "INSTANCE with matching:\nT39 -> T97\nT38 -> T90" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 437, 29.54/8.78 "to": 438, 29.54/8.78 "label": "PARALLEL" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 437, 29.54/8.78 "to": 439, 29.54/8.78 "label": "PARALLEL" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 438, 29.54/8.78 "to": 440, 29.54/8.78 "label": "EVAL with clause\nmember(X106, .(X106, X107)).\nand substitutionT91 -> T110,\nX106 -> T110,\nX107 -> T111,\nT90 -> .(T110, T111)" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 438, 29.54/8.78 "to": 441, 29.54/8.78 "label": "EVAL-BACKTRACK" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 439, 29.54/8.78 "to": 443, 29.54/8.78 "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.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 439, 29.54/8.78 "to": 444, 29.54/8.78 "label": "EVAL-BACKTRACK" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 440, 29.54/8.78 "to": 442, 29.54/8.78 "label": "SUCCESS" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 443, 29.54/8.78 "to": 428, 29.54/8.78 "label": "INSTANCE with matching:\nT91 -> T121\nT90 -> T120" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 447, 29.54/8.78 "to": 449, 29.54/8.78 "label": "SUCCESS" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 453, 29.54/8.78 "to": 457, 29.54/8.78 "label": "EVAL with clause\ncolor_map([], X132).\nand substitutionT1 -> [],\nT8 -> T137,\nX132 -> T137" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 453, 29.54/8.78 "to": 458, 29.54/8.78 "label": "EVAL-BACKTRACK" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 457, 29.54/8.78 "to": 459, 29.54/8.78 "label": "SUCCESS" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 460, 29.54/8.78 "to": 464, 29.54/8.78 "label": "SUCCESS" 29.54/8.78 } 29.54/8.78 ], 29.54/8.78 "type": "Graph" 29.54/8.78 } 29.54/8.78 } 29.54/8.78 29.54/8.78 ---------------------------------------- 29.54/8.78 29.54/8.78 (88) 29.54/8.78 Obligation: 29.54/8.78 Triples: 29.54/8.78 29.54/8.78 selectA(X1, .(X2, X3), .(X2, X4)) :- selectA(X1, X3, X4). 29.54/8.78 membersC(.(X1, X2), X3) :- memberD(X1, X3). 29.54/8.78 membersC(.(X1, X2), X3) :- ','(membercD(X1, X3), membersC(X2, X3)). 29.54/8.78 memberD(X1, .(X2, X3)) :- memberD(X1, X3). 29.54/8.78 color_mapB(.(region(X1, X2, X3), X4), X5) :- selectA(X2, X5, X6). 29.54/8.78 color_mapB(.(region(X1, X2, X3), X4), X5) :- ','(selectcA(X2, X5, X6), membersC(X3, X6)). 29.54/8.78 color_mapB(.(region(X1, X2, X3), X4), X5) :- ','(selectcA(X2, X5, X6), ','(memberscC(X3, X6), color_mapB(X4, X5))). 29.54/8.78 29.54/8.78 Clauses: 29.54/8.78 29.54/8.78 selectcA(X1, .(X1, X2), X2). 29.54/8.78 selectcA(X1, .(X2, X3), .(X2, X4)) :- selectcA(X1, X3, X4). 29.54/8.78 color_mapcB(.(region(X1, X2, X3), X4), X5) :- ','(selectcA(X2, X5, X6), ','(memberscC(X3, X6), color_mapcB(X4, X5))). 29.54/8.78 color_mapcB([], X1). 29.54/8.78 color_mapcB([], X1). 29.54/8.78 memberscC(.(X1, X2), X3) :- ','(membercD(X1, X3), memberscC(X2, X3)). 29.54/8.78 memberscC([], X1). 29.54/8.78 membercD(X1, .(X1, X2)). 29.54/8.78 membercD(X1, .(X2, X3)) :- membercD(X1, X3). 29.54/8.78 29.54/8.78 Afs: 29.54/8.78 29.54/8.78 color_mapB(x1, x2) = color_mapB(x2) 29.54/8.78 29.54/8.78 29.54/8.78 ---------------------------------------- 29.54/8.78 29.54/8.78 (89) TriplesToPiDPProof (SOUND) 29.54/8.78 We use the technique of [DT09]. With regard to the inferred argument filtering the predicates were used in the following modes: 29.54/8.78 29.54/8.78 color_mapB_in_2: (f,b) 29.54/8.78 29.54/8.78 selectA_in_3: (f,b,f) 29.54/8.78 29.54/8.78 selectcA_in_3: (f,b,f) 29.54/8.78 29.54/8.78 membersC_in_2: (f,b) 29.54/8.78 29.54/8.78 memberD_in_2: (f,b) 29.54/8.78 29.54/8.78 membercD_in_2: (f,b) 29.54/8.78 29.54/8.78 memberscC_in_2: (f,b) 29.54/8.78 29.54/8.78 Transforming TRIPLES into the following Term Rewriting System: 29.54/8.78 29.54/8.78 Pi DP problem: 29.54/8.78 The TRS P consists of the following rules: 29.54/8.78 29.54/8.78 COLOR_MAPB_IN_AG(.(region(X1, X2, X3), X4), X5) -> U6_AG(X1, X2, X3, X4, X5, selectA_in_aga(X2, X5, X6)) 29.54/8.78 COLOR_MAPB_IN_AG(.(region(X1, X2, X3), X4), X5) -> SELECTA_IN_AGA(X2, X5, X6) 29.54/8.78 SELECTA_IN_AGA(X1, .(X2, X3), .(X2, X4)) -> U1_AGA(X1, X2, X3, X4, selectA_in_aga(X1, X3, X4)) 29.54/8.78 SELECTA_IN_AGA(X1, .(X2, X3), .(X2, X4)) -> SELECTA_IN_AGA(X1, X3, X4) 29.54/8.78 COLOR_MAPB_IN_AG(.(region(X1, X2, X3), X4), X5) -> U7_AG(X1, X2, X3, X4, X5, selectcA_in_aga(X2, X5, X6)) 29.54/8.78 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.54/8.78 U7_AG(X1, X2, X3, X4, X5, selectcA_out_aga(X2, X5, X6)) -> MEMBERSC_IN_AG(X3, X6) 29.54/8.78 MEMBERSC_IN_AG(.(X1, X2), X3) -> U2_AG(X1, X2, X3, memberD_in_ag(X1, X3)) 29.54/8.78 MEMBERSC_IN_AG(.(X1, X2), X3) -> MEMBERD_IN_AG(X1, X3) 29.54/8.78 MEMBERD_IN_AG(X1, .(X2, X3)) -> U5_AG(X1, X2, X3, memberD_in_ag(X1, X3)) 29.54/8.78 MEMBERD_IN_AG(X1, .(X2, X3)) -> MEMBERD_IN_AG(X1, X3) 29.54/8.78 MEMBERSC_IN_AG(.(X1, X2), X3) -> U3_AG(X1, X2, X3, membercD_in_ag(X1, X3)) 29.54/8.78 U3_AG(X1, X2, X3, membercD_out_ag(X1, X3)) -> U4_AG(X1, X2, X3, membersC_in_ag(X2, X3)) 29.54/8.78 U3_AG(X1, X2, X3, membercD_out_ag(X1, X3)) -> MEMBERSC_IN_AG(X2, X3) 29.54/8.78 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.54/8.78 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.54/8.78 U9_AG(X1, X2, X3, X4, X5, memberscC_out_ag(X3, X6)) -> COLOR_MAPB_IN_AG(X4, X5) 29.54/8.78 29.54/8.78 The TRS R consists of the following rules: 29.54/8.78 29.54/8.78 selectcA_in_aga(X1, .(X1, X2), X2) -> selectcA_out_aga(X1, .(X1, X2), X2) 29.54/8.78 selectcA_in_aga(X1, .(X2, X3), .(X2, X4)) -> U12_aga(X1, X2, X3, X4, selectcA_in_aga(X1, X3, X4)) 29.54/8.78 U12_aga(X1, X2, X3, X4, selectcA_out_aga(X1, X3, X4)) -> selectcA_out_aga(X1, .(X2, X3), .(X2, X4)) 29.54/8.78 membercD_in_ag(X1, .(X1, X2)) -> membercD_out_ag(X1, .(X1, X2)) 29.54/8.78 membercD_in_ag(X1, .(X2, X3)) -> U18_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 29.54/8.78 U18_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> membercD_out_ag(X1, .(X2, X3)) 29.54/8.78 memberscC_in_ag(.(X1, X2), X3) -> U16_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 29.54/8.78 U16_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> U17_ag(X1, X2, X3, memberscC_in_ag(X2, X3)) 29.54/8.78 memberscC_in_ag([], X1) -> memberscC_out_ag([], X1) 29.54/8.78 U17_ag(X1, X2, X3, memberscC_out_ag(X2, X3)) -> memberscC_out_ag(.(X1, X2), X3) 29.54/8.78 29.54/8.78 The argument filtering Pi contains the following mapping: 29.54/8.78 color_mapB_in_ag(x1, x2) = color_mapB_in_ag(x2) 29.54/8.78 29.54/8.78 selectA_in_aga(x1, x2, x3) = selectA_in_aga(x2) 29.54/8.78 29.54/8.78 .(x1, x2) = .(x1, x2) 29.54/8.78 29.54/8.78 region(x1, x2, x3) = region(x2, x3) 29.54/8.78 29.54/8.78 selectcA_in_aga(x1, x2, x3) = selectcA_in_aga(x2) 29.54/8.78 29.54/8.78 selectcA_out_aga(x1, x2, x3) = selectcA_out_aga(x1, x2, x3) 29.54/8.78 29.54/8.78 U12_aga(x1, x2, x3, x4, x5) = U12_aga(x2, x3, x5) 29.54/8.78 29.54/8.78 membersC_in_ag(x1, x2) = membersC_in_ag(x2) 29.54/8.78 29.54/8.78 memberD_in_ag(x1, x2) = memberD_in_ag(x2) 29.54/8.78 29.54/8.78 membercD_in_ag(x1, x2) = membercD_in_ag(x2) 29.54/8.78 29.54/8.78 membercD_out_ag(x1, x2) = membercD_out_ag(x1, x2) 29.54/8.78 29.54/8.78 U18_ag(x1, x2, x3, x4) = U18_ag(x2, x3, x4) 29.54/8.78 29.54/8.78 memberscC_in_ag(x1, x2) = memberscC_in_ag(x2) 29.54/8.78 29.54/8.78 U16_ag(x1, x2, x3, x4) = U16_ag(x3, x4) 29.54/8.78 29.54/8.78 U17_ag(x1, x2, x3, x4) = U17_ag(x1, x3, x4) 29.54/8.78 29.54/8.78 memberscC_out_ag(x1, x2) = memberscC_out_ag(x1, x2) 29.54/8.78 29.54/8.78 COLOR_MAPB_IN_AG(x1, x2) = COLOR_MAPB_IN_AG(x2) 29.54/8.78 29.54/8.78 U6_AG(x1, x2, x3, x4, x5, x6) = U6_AG(x5, x6) 29.54/8.78 29.54/8.78 SELECTA_IN_AGA(x1, x2, x3) = SELECTA_IN_AGA(x2) 29.54/8.78 29.54/8.78 U1_AGA(x1, x2, x3, x4, x5) = U1_AGA(x2, x3, x5) 29.54/8.78 29.54/8.78 U7_AG(x1, x2, x3, x4, x5, x6) = U7_AG(x5, x6) 29.54/8.78 29.54/8.78 U8_AG(x1, x2, x3, x4, x5, x6) = U8_AG(x5, x6) 29.54/8.78 29.54/8.78 MEMBERSC_IN_AG(x1, x2) = MEMBERSC_IN_AG(x2) 29.54/8.78 29.54/8.78 U2_AG(x1, x2, x3, x4) = U2_AG(x3, x4) 29.54/8.78 29.54/8.78 MEMBERD_IN_AG(x1, x2) = MEMBERD_IN_AG(x2) 29.54/8.78 29.54/8.78 U5_AG(x1, x2, x3, x4) = U5_AG(x2, x3, x4) 29.54/8.78 29.54/8.78 U3_AG(x1, x2, x3, x4) = U3_AG(x3, x4) 29.54/8.78 29.54/8.78 U4_AG(x1, x2, x3, x4) = U4_AG(x3, x4) 29.54/8.78 29.54/8.78 U9_AG(x1, x2, x3, x4, x5, x6) = U9_AG(x5, x6) 29.54/8.78 29.54/8.78 U10_AG(x1, x2, x3, x4, x5, x6) = U10_AG(x5, x6) 29.54/8.78 29.54/8.78 29.54/8.78 We have to consider all (P,R,Pi)-chains 29.54/8.78 29.54/8.78 29.54/8.78 Infinitary Constructor Rewriting Termination of PiDP implies Termination of TRIPLES 29.54/8.78 29.54/8.78 29.54/8.78 29.54/8.78 ---------------------------------------- 29.54/8.78 29.54/8.78 (90) 29.54/8.78 Obligation: 29.54/8.78 Pi DP problem: 29.54/8.78 The TRS P consists of the following rules: 29.54/8.78 29.54/8.78 COLOR_MAPB_IN_AG(.(region(X1, X2, X3), X4), X5) -> U6_AG(X1, X2, X3, X4, X5, selectA_in_aga(X2, X5, X6)) 29.54/8.78 COLOR_MAPB_IN_AG(.(region(X1, X2, X3), X4), X5) -> SELECTA_IN_AGA(X2, X5, X6) 29.54/8.78 SELECTA_IN_AGA(X1, .(X2, X3), .(X2, X4)) -> U1_AGA(X1, X2, X3, X4, selectA_in_aga(X1, X3, X4)) 29.54/8.78 SELECTA_IN_AGA(X1, .(X2, X3), .(X2, X4)) -> SELECTA_IN_AGA(X1, X3, X4) 29.54/8.78 COLOR_MAPB_IN_AG(.(region(X1, X2, X3), X4), X5) -> U7_AG(X1, X2, X3, X4, X5, selectcA_in_aga(X2, X5, X6)) 29.54/8.78 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.54/8.78 U7_AG(X1, X2, X3, X4, X5, selectcA_out_aga(X2, X5, X6)) -> MEMBERSC_IN_AG(X3, X6) 29.54/8.78 MEMBERSC_IN_AG(.(X1, X2), X3) -> U2_AG(X1, X2, X3, memberD_in_ag(X1, X3)) 29.54/8.78 MEMBERSC_IN_AG(.(X1, X2), X3) -> MEMBERD_IN_AG(X1, X3) 29.54/8.78 MEMBERD_IN_AG(X1, .(X2, X3)) -> U5_AG(X1, X2, X3, memberD_in_ag(X1, X3)) 29.54/8.78 MEMBERD_IN_AG(X1, .(X2, X3)) -> MEMBERD_IN_AG(X1, X3) 29.54/8.78 MEMBERSC_IN_AG(.(X1, X2), X3) -> U3_AG(X1, X2, X3, membercD_in_ag(X1, X3)) 29.54/8.78 U3_AG(X1, X2, X3, membercD_out_ag(X1, X3)) -> U4_AG(X1, X2, X3, membersC_in_ag(X2, X3)) 29.54/8.78 U3_AG(X1, X2, X3, membercD_out_ag(X1, X3)) -> MEMBERSC_IN_AG(X2, X3) 29.54/8.78 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.54/8.78 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.54/8.78 U9_AG(X1, X2, X3, X4, X5, memberscC_out_ag(X3, X6)) -> COLOR_MAPB_IN_AG(X4, X5) 29.54/8.78 29.54/8.78 The TRS R consists of the following rules: 29.54/8.78 29.54/8.78 selectcA_in_aga(X1, .(X1, X2), X2) -> selectcA_out_aga(X1, .(X1, X2), X2) 29.54/8.78 selectcA_in_aga(X1, .(X2, X3), .(X2, X4)) -> U12_aga(X1, X2, X3, X4, selectcA_in_aga(X1, X3, X4)) 29.54/8.78 U12_aga(X1, X2, X3, X4, selectcA_out_aga(X1, X3, X4)) -> selectcA_out_aga(X1, .(X2, X3), .(X2, X4)) 29.54/8.78 membercD_in_ag(X1, .(X1, X2)) -> membercD_out_ag(X1, .(X1, X2)) 29.54/8.78 membercD_in_ag(X1, .(X2, X3)) -> U18_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 29.54/8.78 U18_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> membercD_out_ag(X1, .(X2, X3)) 29.54/8.78 memberscC_in_ag(.(X1, X2), X3) -> U16_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 29.54/8.78 U16_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> U17_ag(X1, X2, X3, memberscC_in_ag(X2, X3)) 29.54/8.78 memberscC_in_ag([], X1) -> memberscC_out_ag([], X1) 29.54/8.78 U17_ag(X1, X2, X3, memberscC_out_ag(X2, X3)) -> memberscC_out_ag(.(X1, X2), X3) 29.54/8.78 29.54/8.78 The argument filtering Pi contains the following mapping: 29.54/8.78 color_mapB_in_ag(x1, x2) = color_mapB_in_ag(x2) 29.54/8.78 29.54/8.78 selectA_in_aga(x1, x2, x3) = selectA_in_aga(x2) 29.54/8.78 29.54/8.78 .(x1, x2) = .(x1, x2) 29.54/8.78 29.54/8.78 region(x1, x2, x3) = region(x2, x3) 29.54/8.78 29.54/8.78 selectcA_in_aga(x1, x2, x3) = selectcA_in_aga(x2) 29.54/8.78 29.54/8.78 selectcA_out_aga(x1, x2, x3) = selectcA_out_aga(x1, x2, x3) 29.54/8.78 29.54/8.78 U12_aga(x1, x2, x3, x4, x5) = U12_aga(x2, x3, x5) 29.54/8.78 29.54/8.78 membersC_in_ag(x1, x2) = membersC_in_ag(x2) 29.54/8.78 29.54/8.78 memberD_in_ag(x1, x2) = memberD_in_ag(x2) 29.54/8.78 29.54/8.78 membercD_in_ag(x1, x2) = membercD_in_ag(x2) 29.54/8.78 29.54/8.78 membercD_out_ag(x1, x2) = membercD_out_ag(x1, x2) 29.54/8.78 29.54/8.78 U18_ag(x1, x2, x3, x4) = U18_ag(x2, x3, x4) 29.54/8.78 29.54/8.78 memberscC_in_ag(x1, x2) = memberscC_in_ag(x2) 29.54/8.78 29.54/8.78 U16_ag(x1, x2, x3, x4) = U16_ag(x3, x4) 29.54/8.78 29.54/8.78 U17_ag(x1, x2, x3, x4) = U17_ag(x1, x3, x4) 29.54/8.78 29.54/8.78 memberscC_out_ag(x1, x2) = memberscC_out_ag(x1, x2) 29.54/8.78 29.54/8.78 COLOR_MAPB_IN_AG(x1, x2) = COLOR_MAPB_IN_AG(x2) 29.54/8.78 29.54/8.78 U6_AG(x1, x2, x3, x4, x5, x6) = U6_AG(x5, x6) 29.54/8.78 29.54/8.78 SELECTA_IN_AGA(x1, x2, x3) = SELECTA_IN_AGA(x2) 29.54/8.78 29.54/8.78 U1_AGA(x1, x2, x3, x4, x5) = U1_AGA(x2, x3, x5) 29.54/8.78 29.54/8.78 U7_AG(x1, x2, x3, x4, x5, x6) = U7_AG(x5, x6) 29.54/8.78 29.54/8.78 U8_AG(x1, x2, x3, x4, x5, x6) = U8_AG(x5, x6) 29.54/8.78 29.54/8.78 MEMBERSC_IN_AG(x1, x2) = MEMBERSC_IN_AG(x2) 29.54/8.78 29.54/8.78 U2_AG(x1, x2, x3, x4) = U2_AG(x3, x4) 29.54/8.78 29.54/8.78 MEMBERD_IN_AG(x1, x2) = MEMBERD_IN_AG(x2) 29.54/8.78 29.54/8.78 U5_AG(x1, x2, x3, x4) = U5_AG(x2, x3, x4) 29.54/8.78 29.54/8.78 U3_AG(x1, x2, x3, x4) = U3_AG(x3, x4) 29.54/8.78 29.54/8.78 U4_AG(x1, x2, x3, x4) = U4_AG(x3, x4) 29.54/8.78 29.54/8.78 U9_AG(x1, x2, x3, x4, x5, x6) = U9_AG(x5, x6) 29.54/8.78 29.54/8.78 U10_AG(x1, x2, x3, x4, x5, x6) = U10_AG(x5, x6) 29.54/8.78 29.54/8.78 29.54/8.78 We have to consider all (P,R,Pi)-chains 29.54/8.78 ---------------------------------------- 29.54/8.78 29.54/8.78 (91) DependencyGraphProof (EQUIVALENT) 29.54/8.78 The approximation of the Dependency Graph [LOPSTR] contains 4 SCCs with 10 less nodes. 29.54/8.78 ---------------------------------------- 29.54/8.78 29.54/8.78 (92) 29.54/8.78 Complex Obligation (AND) 29.54/8.78 29.54/8.78 ---------------------------------------- 29.54/8.78 29.54/8.78 (93) 29.54/8.78 Obligation: 29.54/8.78 Pi DP problem: 29.54/8.78 The TRS P consists of the following rules: 29.54/8.78 29.54/8.78 MEMBERD_IN_AG(X1, .(X2, X3)) -> MEMBERD_IN_AG(X1, X3) 29.54/8.78 29.54/8.78 The TRS R consists of the following rules: 29.54/8.78 29.54/8.78 selectcA_in_aga(X1, .(X1, X2), X2) -> selectcA_out_aga(X1, .(X1, X2), X2) 29.54/8.78 selectcA_in_aga(X1, .(X2, X3), .(X2, X4)) -> U12_aga(X1, X2, X3, X4, selectcA_in_aga(X1, X3, X4)) 29.54/8.78 U12_aga(X1, X2, X3, X4, selectcA_out_aga(X1, X3, X4)) -> selectcA_out_aga(X1, .(X2, X3), .(X2, X4)) 29.54/8.78 membercD_in_ag(X1, .(X1, X2)) -> membercD_out_ag(X1, .(X1, X2)) 29.54/8.78 membercD_in_ag(X1, .(X2, X3)) -> U18_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 29.54/8.78 U18_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> membercD_out_ag(X1, .(X2, X3)) 29.54/8.78 memberscC_in_ag(.(X1, X2), X3) -> U16_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 29.54/8.78 U16_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> U17_ag(X1, X2, X3, memberscC_in_ag(X2, X3)) 29.54/8.78 memberscC_in_ag([], X1) -> memberscC_out_ag([], X1) 29.54/8.78 U17_ag(X1, X2, X3, memberscC_out_ag(X2, X3)) -> memberscC_out_ag(.(X1, X2), X3) 29.54/8.78 29.54/8.78 The argument filtering Pi contains the following mapping: 29.54/8.78 .(x1, x2) = .(x1, x2) 29.54/8.78 29.54/8.78 selectcA_in_aga(x1, x2, x3) = selectcA_in_aga(x2) 29.54/8.78 29.54/8.78 selectcA_out_aga(x1, x2, x3) = selectcA_out_aga(x1, x2, x3) 29.54/8.78 29.54/8.78 U12_aga(x1, x2, x3, x4, x5) = U12_aga(x2, x3, x5) 29.54/8.78 29.54/8.78 membercD_in_ag(x1, x2) = membercD_in_ag(x2) 29.54/8.78 29.54/8.78 membercD_out_ag(x1, x2) = membercD_out_ag(x1, x2) 29.54/8.78 29.54/8.78 U18_ag(x1, x2, x3, x4) = U18_ag(x2, x3, x4) 29.54/8.78 29.54/8.78 memberscC_in_ag(x1, x2) = memberscC_in_ag(x2) 29.54/8.78 29.54/8.78 U16_ag(x1, x2, x3, x4) = U16_ag(x3, x4) 29.54/8.78 29.54/8.78 U17_ag(x1, x2, x3, x4) = U17_ag(x1, x3, x4) 29.54/8.78 29.54/8.78 memberscC_out_ag(x1, x2) = memberscC_out_ag(x1, x2) 29.54/8.78 29.54/8.78 MEMBERD_IN_AG(x1, x2) = MEMBERD_IN_AG(x2) 29.54/8.78 29.54/8.78 29.54/8.78 We have to consider all (P,R,Pi)-chains 29.54/8.78 ---------------------------------------- 29.54/8.78 29.54/8.78 (94) UsableRulesProof (EQUIVALENT) 29.54/8.78 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 29.54/8.78 ---------------------------------------- 29.54/8.78 29.54/8.78 (95) 29.54/8.78 Obligation: 29.54/8.78 Pi DP problem: 29.54/8.78 The TRS P consists of the following rules: 29.54/8.78 29.54/8.78 MEMBERD_IN_AG(X1, .(X2, X3)) -> MEMBERD_IN_AG(X1, X3) 29.54/8.78 29.54/8.78 R is empty. 29.54/8.78 The argument filtering Pi contains the following mapping: 29.54/8.78 .(x1, x2) = .(x1, x2) 29.54/8.78 29.54/8.78 MEMBERD_IN_AG(x1, x2) = MEMBERD_IN_AG(x2) 29.54/8.78 29.54/8.78 29.54/8.78 We have to consider all (P,R,Pi)-chains 29.54/8.78 ---------------------------------------- 29.54/8.78 29.54/8.78 (96) PiDPToQDPProof (SOUND) 29.54/8.78 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 29.54/8.78 ---------------------------------------- 29.54/8.78 29.54/8.78 (97) 29.54/8.78 Obligation: 29.54/8.78 Q DP problem: 29.54/8.78 The TRS P consists of the following rules: 29.54/8.78 29.54/8.78 MEMBERD_IN_AG(.(X2, X3)) -> MEMBERD_IN_AG(X3) 29.54/8.78 29.54/8.78 R is empty. 29.54/8.78 Q is empty. 29.54/8.78 We have to consider all (P,Q,R)-chains. 29.54/8.78 ---------------------------------------- 29.54/8.78 29.54/8.78 (98) QDPSizeChangeProof (EQUIVALENT) 29.54/8.78 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.54/8.78 29.54/8.78 From the DPs we obtained the following set of size-change graphs: 29.54/8.78 *MEMBERD_IN_AG(.(X2, X3)) -> MEMBERD_IN_AG(X3) 29.54/8.78 The graph contains the following edges 1 > 1 29.54/8.78 29.54/8.78 29.54/8.78 ---------------------------------------- 29.54/8.78 29.54/8.78 (99) 29.54/8.78 YES 29.54/8.78 29.54/8.78 ---------------------------------------- 29.54/8.78 29.54/8.78 (100) 29.54/8.78 Obligation: 29.54/8.78 Pi DP problem: 29.54/8.78 The TRS P consists of the following rules: 29.54/8.78 29.54/8.78 MEMBERSC_IN_AG(.(X1, X2), X3) -> U3_AG(X1, X2, X3, membercD_in_ag(X1, X3)) 29.54/8.78 U3_AG(X1, X2, X3, membercD_out_ag(X1, X3)) -> MEMBERSC_IN_AG(X2, X3) 29.54/8.78 29.54/8.78 The TRS R consists of the following rules: 29.54/8.78 29.54/8.78 selectcA_in_aga(X1, .(X1, X2), X2) -> selectcA_out_aga(X1, .(X1, X2), X2) 29.54/8.78 selectcA_in_aga(X1, .(X2, X3), .(X2, X4)) -> U12_aga(X1, X2, X3, X4, selectcA_in_aga(X1, X3, X4)) 29.54/8.78 U12_aga(X1, X2, X3, X4, selectcA_out_aga(X1, X3, X4)) -> selectcA_out_aga(X1, .(X2, X3), .(X2, X4)) 29.54/8.78 membercD_in_ag(X1, .(X1, X2)) -> membercD_out_ag(X1, .(X1, X2)) 29.54/8.78 membercD_in_ag(X1, .(X2, X3)) -> U18_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 29.54/8.78 U18_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> membercD_out_ag(X1, .(X2, X3)) 29.54/8.78 memberscC_in_ag(.(X1, X2), X3) -> U16_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 29.54/8.78 U16_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> U17_ag(X1, X2, X3, memberscC_in_ag(X2, X3)) 29.54/8.78 memberscC_in_ag([], X1) -> memberscC_out_ag([], X1) 29.54/8.78 U17_ag(X1, X2, X3, memberscC_out_ag(X2, X3)) -> memberscC_out_ag(.(X1, X2), X3) 29.54/8.78 29.54/8.78 The argument filtering Pi contains the following mapping: 29.54/8.78 .(x1, x2) = .(x1, x2) 29.54/8.78 29.54/8.78 selectcA_in_aga(x1, x2, x3) = selectcA_in_aga(x2) 29.54/8.78 29.54/8.78 selectcA_out_aga(x1, x2, x3) = selectcA_out_aga(x1, x2, x3) 29.54/8.78 29.54/8.78 U12_aga(x1, x2, x3, x4, x5) = U12_aga(x2, x3, x5) 29.54/8.78 29.54/8.78 membercD_in_ag(x1, x2) = membercD_in_ag(x2) 29.54/8.78 29.54/8.78 membercD_out_ag(x1, x2) = membercD_out_ag(x1, x2) 29.54/8.78 29.54/8.78 U18_ag(x1, x2, x3, x4) = U18_ag(x2, x3, x4) 29.54/8.78 29.54/8.78 memberscC_in_ag(x1, x2) = memberscC_in_ag(x2) 29.54/8.78 29.54/8.78 U16_ag(x1, x2, x3, x4) = U16_ag(x3, x4) 29.54/8.78 29.54/8.78 U17_ag(x1, x2, x3, x4) = U17_ag(x1, x3, x4) 29.54/8.78 29.54/8.78 memberscC_out_ag(x1, x2) = memberscC_out_ag(x1, x2) 29.54/8.78 29.54/8.78 MEMBERSC_IN_AG(x1, x2) = MEMBERSC_IN_AG(x2) 29.54/8.78 29.54/8.78 U3_AG(x1, x2, x3, x4) = U3_AG(x3, x4) 29.54/8.78 29.54/8.78 29.54/8.78 We have to consider all (P,R,Pi)-chains 29.54/8.78 ---------------------------------------- 29.54/8.78 29.54/8.78 (101) UsableRulesProof (EQUIVALENT) 29.54/8.78 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 29.54/8.78 ---------------------------------------- 29.54/8.78 29.54/8.78 (102) 29.54/8.78 Obligation: 29.54/8.78 Pi DP problem: 29.54/8.78 The TRS P consists of the following rules: 29.54/8.78 29.54/8.78 MEMBERSC_IN_AG(.(X1, X2), X3) -> U3_AG(X1, X2, X3, membercD_in_ag(X1, X3)) 29.54/8.78 U3_AG(X1, X2, X3, membercD_out_ag(X1, X3)) -> MEMBERSC_IN_AG(X2, X3) 29.54/8.78 29.54/8.78 The TRS R consists of the following rules: 29.54/8.78 29.54/8.78 membercD_in_ag(X1, .(X1, X2)) -> membercD_out_ag(X1, .(X1, X2)) 29.54/8.78 membercD_in_ag(X1, .(X2, X3)) -> U18_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 29.54/8.78 U18_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> membercD_out_ag(X1, .(X2, X3)) 29.54/8.78 29.54/8.78 The argument filtering Pi contains the following mapping: 29.54/8.78 .(x1, x2) = .(x1, x2) 29.54/8.78 29.54/8.78 membercD_in_ag(x1, x2) = membercD_in_ag(x2) 29.54/8.78 29.54/8.78 membercD_out_ag(x1, x2) = membercD_out_ag(x1, x2) 29.54/8.78 29.54/8.78 U18_ag(x1, x2, x3, x4) = U18_ag(x2, x3, x4) 29.54/8.78 29.54/8.78 MEMBERSC_IN_AG(x1, x2) = MEMBERSC_IN_AG(x2) 29.54/8.78 29.54/8.78 U3_AG(x1, x2, x3, x4) = U3_AG(x3, x4) 29.54/8.78 29.54/8.78 29.54/8.78 We have to consider all (P,R,Pi)-chains 29.54/8.78 ---------------------------------------- 29.54/8.78 29.54/8.78 (103) PiDPToQDPProof (SOUND) 29.54/8.78 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 29.54/8.78 ---------------------------------------- 29.54/8.78 29.54/8.78 (104) 29.54/8.78 Obligation: 29.54/8.78 Q DP problem: 29.54/8.78 The TRS P consists of the following rules: 29.54/8.78 29.54/8.78 MEMBERSC_IN_AG(X3) -> U3_AG(X3, membercD_in_ag(X3)) 29.54/8.78 U3_AG(X3, membercD_out_ag(X1, X3)) -> MEMBERSC_IN_AG(X3) 29.54/8.78 29.54/8.78 The TRS R consists of the following rules: 29.54/8.78 29.54/8.78 membercD_in_ag(.(X1, X2)) -> membercD_out_ag(X1, .(X1, X2)) 29.54/8.78 membercD_in_ag(.(X2, X3)) -> U18_ag(X2, X3, membercD_in_ag(X3)) 29.54/8.78 U18_ag(X2, X3, membercD_out_ag(X1, X3)) -> membercD_out_ag(X1, .(X2, X3)) 29.54/8.78 29.54/8.78 The set Q consists of the following terms: 29.54/8.78 29.54/8.78 membercD_in_ag(x0) 29.54/8.78 U18_ag(x0, x1, x2) 29.54/8.78 29.54/8.78 We have to consider all (P,Q,R)-chains. 29.54/8.78 ---------------------------------------- 29.54/8.78 29.54/8.78 (105) TransformationProof (SOUND) 29.54/8.78 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.54/8.78 29.54/8.78 (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.54/8.78 (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.54/8.78 29.54/8.78 29.54/8.78 ---------------------------------------- 29.54/8.78 29.54/8.78 (106) 29.54/8.78 Obligation: 29.54/8.78 Q DP problem: 29.54/8.78 The TRS P consists of the following rules: 29.54/8.78 29.54/8.78 U3_AG(X3, membercD_out_ag(X1, X3)) -> MEMBERSC_IN_AG(X3) 29.54/8.78 MEMBERSC_IN_AG(.(x0, x1)) -> U3_AG(.(x0, x1), membercD_out_ag(x0, .(x0, x1))) 29.54/8.78 MEMBERSC_IN_AG(.(x0, x1)) -> U3_AG(.(x0, x1), U18_ag(x0, x1, membercD_in_ag(x1))) 29.54/8.78 29.54/8.78 The TRS R consists of the following rules: 29.54/8.78 29.54/8.78 membercD_in_ag(.(X1, X2)) -> membercD_out_ag(X1, .(X1, X2)) 29.54/8.78 membercD_in_ag(.(X2, X3)) -> U18_ag(X2, X3, membercD_in_ag(X3)) 29.54/8.78 U18_ag(X2, X3, membercD_out_ag(X1, X3)) -> membercD_out_ag(X1, .(X2, X3)) 29.54/8.78 29.54/8.78 The set Q consists of the following terms: 29.54/8.78 29.54/8.78 membercD_in_ag(x0) 29.54/8.78 U18_ag(x0, x1, x2) 29.54/8.78 29.54/8.78 We have to consider all (P,Q,R)-chains. 29.54/8.78 ---------------------------------------- 29.54/8.78 29.54/8.78 (107) TransformationProof (EQUIVALENT) 29.54/8.78 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.54/8.78 29.54/8.78 (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.54/8.78 (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.54/8.78 29.54/8.78 29.54/8.78 ---------------------------------------- 29.54/8.78 29.54/8.78 (108) 29.54/8.78 Obligation: 29.54/8.78 Q DP problem: 29.54/8.78 The TRS P consists of the following rules: 29.54/8.78 29.54/8.78 MEMBERSC_IN_AG(.(x0, x1)) -> U3_AG(.(x0, x1), membercD_out_ag(x0, .(x0, x1))) 29.54/8.78 MEMBERSC_IN_AG(.(x0, x1)) -> U3_AG(.(x0, x1), U18_ag(x0, x1, membercD_in_ag(x1))) 29.54/8.78 U3_AG(.(z0, z1), membercD_out_ag(z0, .(z0, z1))) -> MEMBERSC_IN_AG(.(z0, z1)) 29.54/8.78 U3_AG(.(z0, z1), membercD_out_ag(x1, .(z0, z1))) -> MEMBERSC_IN_AG(.(z0, z1)) 29.54/8.78 29.54/8.78 The TRS R consists of the following rules: 29.54/8.78 29.54/8.78 membercD_in_ag(.(X1, X2)) -> membercD_out_ag(X1, .(X1, X2)) 29.54/8.78 membercD_in_ag(.(X2, X3)) -> U18_ag(X2, X3, membercD_in_ag(X3)) 29.54/8.78 U18_ag(X2, X3, membercD_out_ag(X1, X3)) -> membercD_out_ag(X1, .(X2, X3)) 29.54/8.78 29.54/8.78 The set Q consists of the following terms: 29.54/8.78 29.54/8.78 membercD_in_ag(x0) 29.54/8.78 U18_ag(x0, x1, x2) 29.54/8.78 29.54/8.78 We have to consider all (P,Q,R)-chains. 29.54/8.78 ---------------------------------------- 29.54/8.78 29.54/8.78 (109) 29.54/8.78 Obligation: 29.54/8.78 Pi DP problem: 29.54/8.78 The TRS P consists of the following rules: 29.54/8.78 29.54/8.78 SELECTA_IN_AGA(X1, .(X2, X3), .(X2, X4)) -> SELECTA_IN_AGA(X1, X3, X4) 29.54/8.78 29.54/8.78 The TRS R consists of the following rules: 29.54/8.78 29.54/8.78 selectcA_in_aga(X1, .(X1, X2), X2) -> selectcA_out_aga(X1, .(X1, X2), X2) 29.54/8.78 selectcA_in_aga(X1, .(X2, X3), .(X2, X4)) -> U12_aga(X1, X2, X3, X4, selectcA_in_aga(X1, X3, X4)) 29.54/8.78 U12_aga(X1, X2, X3, X4, selectcA_out_aga(X1, X3, X4)) -> selectcA_out_aga(X1, .(X2, X3), .(X2, X4)) 29.54/8.78 membercD_in_ag(X1, .(X1, X2)) -> membercD_out_ag(X1, .(X1, X2)) 29.54/8.78 membercD_in_ag(X1, .(X2, X3)) -> U18_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 29.54/8.78 U18_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> membercD_out_ag(X1, .(X2, X3)) 29.54/8.78 memberscC_in_ag(.(X1, X2), X3) -> U16_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 29.54/8.78 U16_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> U17_ag(X1, X2, X3, memberscC_in_ag(X2, X3)) 29.54/8.78 memberscC_in_ag([], X1) -> memberscC_out_ag([], X1) 29.54/8.78 U17_ag(X1, X2, X3, memberscC_out_ag(X2, X3)) -> memberscC_out_ag(.(X1, X2), X3) 29.54/8.78 29.54/8.78 The argument filtering Pi contains the following mapping: 29.54/8.78 .(x1, x2) = .(x1, x2) 29.54/8.78 29.54/8.78 selectcA_in_aga(x1, x2, x3) = selectcA_in_aga(x2) 29.54/8.78 29.54/8.78 selectcA_out_aga(x1, x2, x3) = selectcA_out_aga(x1, x2, x3) 29.54/8.78 29.54/8.78 U12_aga(x1, x2, x3, x4, x5) = U12_aga(x2, x3, x5) 29.54/8.78 29.54/8.78 membercD_in_ag(x1, x2) = membercD_in_ag(x2) 29.54/8.78 29.54/8.78 membercD_out_ag(x1, x2) = membercD_out_ag(x1, x2) 29.54/8.78 29.54/8.78 U18_ag(x1, x2, x3, x4) = U18_ag(x2, x3, x4) 29.54/8.78 29.54/8.78 memberscC_in_ag(x1, x2) = memberscC_in_ag(x2) 29.54/8.78 29.54/8.78 U16_ag(x1, x2, x3, x4) = U16_ag(x3, x4) 29.54/8.78 29.54/8.78 U17_ag(x1, x2, x3, x4) = U17_ag(x1, x3, x4) 29.54/8.78 29.54/8.78 memberscC_out_ag(x1, x2) = memberscC_out_ag(x1, x2) 29.54/8.78 29.54/8.78 SELECTA_IN_AGA(x1, x2, x3) = SELECTA_IN_AGA(x2) 29.54/8.78 29.54/8.78 29.54/8.78 We have to consider all (P,R,Pi)-chains 29.54/8.78 ---------------------------------------- 29.54/8.78 29.54/8.78 (110) UsableRulesProof (EQUIVALENT) 29.54/8.78 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 29.54/8.78 ---------------------------------------- 29.54/8.78 29.54/8.78 (111) 29.54/8.78 Obligation: 29.54/8.78 Pi DP problem: 29.54/8.78 The TRS P consists of the following rules: 29.54/8.78 29.54/8.78 SELECTA_IN_AGA(X1, .(X2, X3), .(X2, X4)) -> SELECTA_IN_AGA(X1, X3, X4) 29.54/8.78 29.54/8.78 R is empty. 29.54/8.78 The argument filtering Pi contains the following mapping: 29.54/8.78 .(x1, x2) = .(x1, x2) 29.54/8.78 29.54/8.78 SELECTA_IN_AGA(x1, x2, x3) = SELECTA_IN_AGA(x2) 29.54/8.78 29.54/8.78 29.54/8.78 We have to consider all (P,R,Pi)-chains 29.54/8.78 ---------------------------------------- 29.54/8.78 29.54/8.78 (112) 29.54/8.78 Obligation: 29.54/8.78 Pi DP problem: 29.54/8.78 The TRS P consists of the following rules: 29.54/8.78 29.54/8.78 COLOR_MAPB_IN_AG(.(region(X1, X2, X3), X4), X5) -> U7_AG(X1, X2, X3, X4, X5, selectcA_in_aga(X2, X5, X6)) 29.54/8.78 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.54/8.78 U9_AG(X1, X2, X3, X4, X5, memberscC_out_ag(X3, X6)) -> COLOR_MAPB_IN_AG(X4, X5) 29.54/8.78 29.54/8.78 The TRS R consists of the following rules: 29.54/8.78 29.54/8.78 selectcA_in_aga(X1, .(X1, X2), X2) -> selectcA_out_aga(X1, .(X1, X2), X2) 29.54/8.78 selectcA_in_aga(X1, .(X2, X3), .(X2, X4)) -> U12_aga(X1, X2, X3, X4, selectcA_in_aga(X1, X3, X4)) 29.54/8.78 U12_aga(X1, X2, X3, X4, selectcA_out_aga(X1, X3, X4)) -> selectcA_out_aga(X1, .(X2, X3), .(X2, X4)) 29.54/8.78 membercD_in_ag(X1, .(X1, X2)) -> membercD_out_ag(X1, .(X1, X2)) 29.54/8.78 membercD_in_ag(X1, .(X2, X3)) -> U18_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 29.54/8.78 U18_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> membercD_out_ag(X1, .(X2, X3)) 29.54/8.78 memberscC_in_ag(.(X1, X2), X3) -> U16_ag(X1, X2, X3, membercD_in_ag(X1, X3)) 29.54/8.78 U16_ag(X1, X2, X3, membercD_out_ag(X1, X3)) -> U17_ag(X1, X2, X3, memberscC_in_ag(X2, X3)) 29.54/8.78 memberscC_in_ag([], X1) -> memberscC_out_ag([], X1) 29.54/8.78 U17_ag(X1, X2, X3, memberscC_out_ag(X2, X3)) -> memberscC_out_ag(.(X1, X2), X3) 29.54/8.78 29.54/8.78 The argument filtering Pi contains the following mapping: 29.54/8.78 .(x1, x2) = .(x1, x2) 29.54/8.78 29.54/8.78 region(x1, x2, x3) = region(x2, x3) 29.54/8.78 29.54/8.78 selectcA_in_aga(x1, x2, x3) = selectcA_in_aga(x2) 29.54/8.78 29.54/8.78 selectcA_out_aga(x1, x2, x3) = selectcA_out_aga(x1, x2, x3) 29.54/8.78 29.54/8.78 U12_aga(x1, x2, x3, x4, x5) = U12_aga(x2, x3, x5) 29.54/8.78 29.54/8.78 membercD_in_ag(x1, x2) = membercD_in_ag(x2) 29.54/8.78 29.54/8.78 membercD_out_ag(x1, x2) = membercD_out_ag(x1, x2) 29.54/8.78 29.54/8.78 U18_ag(x1, x2, x3, x4) = U18_ag(x2, x3, x4) 29.54/8.78 29.54/8.78 memberscC_in_ag(x1, x2) = memberscC_in_ag(x2) 29.54/8.78 29.54/8.78 U16_ag(x1, x2, x3, x4) = U16_ag(x3, x4) 29.54/8.78 29.54/8.78 U17_ag(x1, x2, x3, x4) = U17_ag(x1, x3, x4) 29.54/8.78 29.54/8.78 memberscC_out_ag(x1, x2) = memberscC_out_ag(x1, x2) 29.54/8.78 29.54/8.78 COLOR_MAPB_IN_AG(x1, x2) = COLOR_MAPB_IN_AG(x2) 29.54/8.78 29.54/8.78 U7_AG(x1, x2, x3, x4, x5, x6) = U7_AG(x5, x6) 29.54/8.78 29.54/8.78 U9_AG(x1, x2, x3, x4, x5, x6) = U9_AG(x5, x6) 29.54/8.78 29.54/8.78 29.54/8.78 We have to consider all (P,R,Pi)-chains 29.54/8.78 ---------------------------------------- 29.54/8.78 29.54/8.78 (113) PrologToIRSwTTransformerProof (SOUND) 29.54/8.78 Transformed Prolog program to IRSwT according to method in Master Thesis of A. Weinert 29.54/8.78 29.54/8.78 { 29.54/8.78 "root": 22, 29.54/8.78 "program": { 29.54/8.78 "directives": [], 29.54/8.78 "clauses": [ 29.54/8.78 [ 29.54/8.78 "(color_map (. Region Regions) Colors)", 29.54/8.78 "(',' (color_region Region Colors) (color_map Regions Colors))" 29.54/8.78 ], 29.54/8.78 [ 29.54/8.78 "(color_map ([]) Colors)", 29.54/8.78 null 29.54/8.78 ], 29.54/8.78 [ 29.54/8.78 "(color_region (region Name Color Neighbors) Colors)", 29.54/8.78 "(',' (select Color Colors Colors1) (members Neighbors Colors1))" 29.54/8.78 ], 29.54/8.78 [ 29.54/8.78 "(select X (. X Xs) Xs)", 29.54/8.78 null 29.54/8.78 ], 29.54/8.78 [ 29.54/8.78 "(select X (. Y Ys) (. Y Zs))", 29.54/8.78 "(select X Ys Zs)" 29.54/8.78 ], 29.54/8.78 [ 29.54/8.78 "(members (. X Xs) Ys)", 29.54/8.78 "(',' (member X Ys) (members Xs Ys))" 29.54/8.78 ], 29.54/8.78 [ 29.54/8.78 "(members ([]) Ys)", 29.54/8.78 null 29.54/8.78 ], 29.54/8.78 [ 29.54/8.78 "(member X (. X X1))", 29.54/8.78 null 29.54/8.78 ], 29.54/8.78 [ 29.54/8.78 "(member X (. X2 Xs))", 29.54/8.78 "(member X Xs)" 29.54/8.78 ] 29.54/8.78 ] 29.54/8.78 }, 29.54/8.78 "graph": { 29.54/8.78 "nodes": { 29.54/8.78 "22": { 29.54/8.78 "goal": [{ 29.54/8.78 "clause": -1, 29.54/8.78 "scope": -1, 29.54/8.78 "term": "(color_map T1 T2)" 29.54/8.78 }], 29.54/8.78 "kb": { 29.54/8.78 "nonunifying": [], 29.54/8.78 "intvars": {}, 29.54/8.78 "arithmetic": { 29.54/8.78 "type": "PlainIntegerRelationState", 29.54/8.78 "relations": [] 29.54/8.78 }, 29.54/8.78 "ground": ["T2"], 29.54/8.78 "free": [], 29.54/8.78 "exprvars": [] 29.54/8.78 } 29.54/8.78 }, 29.54/8.78 "45": { 29.54/8.78 "goal": [{ 29.54/8.78 "clause": 0, 29.54/8.78 "scope": 1, 29.54/8.78 "term": "(color_map T1 T2)" 29.54/8.78 }], 29.54/8.78 "kb": { 29.54/8.78 "nonunifying": [], 29.54/8.78 "intvars": {}, 29.54/8.78 "arithmetic": { 29.54/8.78 "type": "PlainIntegerRelationState", 29.54/8.78 "relations": [] 29.54/8.78 }, 29.54/8.78 "ground": ["T2"], 29.54/8.78 "free": [], 29.54/8.78 "exprvars": [] 29.54/8.78 } 29.54/8.78 }, 29.54/8.78 "24": { 29.54/8.78 "goal": [ 29.54/8.78 { 29.54/8.78 "clause": 0, 29.54/8.78 "scope": 1, 29.54/8.78 "term": "(color_map T1 T2)" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "clause": 1, 29.54/8.78 "scope": 1, 29.54/8.78 "term": "(color_map T1 T2)" 29.54/8.78 } 29.54/8.78 ], 29.54/8.78 "kb": { 29.54/8.78 "nonunifying": [], 29.54/8.78 "intvars": {}, 29.54/8.78 "arithmetic": { 29.54/8.78 "type": "PlainIntegerRelationState", 29.54/8.78 "relations": [] 29.54/8.78 }, 29.54/8.78 "ground": ["T2"], 29.54/8.78 "free": [], 29.54/8.78 "exprvars": [] 29.54/8.78 } 29.54/8.78 }, 29.54/8.78 "46": { 29.54/8.78 "goal": [{ 29.54/8.78 "clause": 1, 29.54/8.78 "scope": 1, 29.54/8.78 "term": "(color_map T1 T2)" 29.54/8.78 }], 29.54/8.78 "kb": { 29.54/8.78 "nonunifying": [], 29.54/8.78 "intvars": {}, 29.54/8.78 "arithmetic": { 29.54/8.78 "type": "PlainIntegerRelationState", 29.54/8.78 "relations": [] 29.54/8.78 }, 29.54/8.78 "ground": ["T2"], 29.54/8.78 "free": [], 29.54/8.78 "exprvars": [] 29.54/8.78 } 29.54/8.78 }, 29.54/8.78 "49": { 29.54/8.78 "goal": [{ 29.54/8.78 "clause": -1, 29.54/8.78 "scope": -1, 29.54/8.78 "term": "(',' (color_region T18 T17) (color_map T19 T17))" 29.54/8.78 }], 29.54/8.78 "kb": { 29.54/8.78 "nonunifying": [], 29.54/8.78 "intvars": {}, 29.54/8.78 "arithmetic": { 29.54/8.78 "type": "PlainIntegerRelationState", 29.54/8.78 "relations": [] 29.54/8.78 }, 29.54/8.78 "ground": ["T17"], 29.54/8.78 "free": [], 29.54/8.78 "exprvars": [] 29.54/8.78 } 29.54/8.78 }, 29.54/8.78 "type": "Nodes", 29.54/8.78 "371": { 29.54/8.78 "goal": [{ 29.54/8.78 "clause": 2, 29.54/8.78 "scope": 2, 29.54/8.78 "term": "(color_region T18 T17)" 29.54/8.78 }], 29.54/8.78 "kb": { 29.54/8.78 "nonunifying": [], 29.54/8.78 "intvars": {}, 29.54/8.78 "arithmetic": { 29.54/8.78 "type": "PlainIntegerRelationState", 29.54/8.78 "relations": [] 29.54/8.78 }, 29.54/8.78 "ground": ["T17"], 29.54/8.78 "free": [], 29.54/8.78 "exprvars": [] 29.54/8.78 } 29.54/8.78 }, 29.54/8.78 "450": { 29.54/8.78 "goal": [ 29.54/8.78 { 29.54/8.78 "clause": 7, 29.54/8.78 "scope": 5, 29.54/8.78 "term": "(member T95 T94)" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "clause": 8, 29.54/8.78 "scope": 5, 29.54/8.78 "term": "(member T95 T94)" 29.54/8.78 } 29.54/8.78 ], 29.54/8.78 "kb": { 29.54/8.78 "nonunifying": [], 29.54/8.78 "intvars": {}, 29.54/8.78 "arithmetic": { 29.54/8.78 "type": "PlainIntegerRelationState", 29.54/8.78 "relations": [] 29.54/8.78 }, 29.54/8.78 "ground": ["T94"], 29.54/8.78 "free": [], 29.54/8.78 "exprvars": [] 29.54/8.78 } 29.54/8.78 }, 29.54/8.78 "451": { 29.54/8.78 "goal": [{ 29.54/8.78 "clause": 7, 29.54/8.78 "scope": 5, 29.54/8.78 "term": "(member T95 T94)" 29.54/8.78 }], 29.54/8.78 "kb": { 29.54/8.78 "nonunifying": [], 29.54/8.78 "intvars": {}, 29.54/8.78 "arithmetic": { 29.54/8.78 "type": "PlainIntegerRelationState", 29.54/8.78 "relations": [] 29.54/8.78 }, 29.54/8.78 "ground": ["T94"], 29.54/8.78 "free": [], 29.54/8.78 "exprvars": [] 29.54/8.78 } 29.54/8.78 }, 29.54/8.78 "375": { 29.54/8.78 "goal": [{ 29.54/8.78 "clause": -1, 29.54/8.78 "scope": -1, 29.54/8.78 "term": "(',' (select T41 T40 X41) (members T42 X41))" 29.54/8.78 }], 29.54/8.78 "kb": { 29.54/8.78 "nonunifying": [], 29.54/8.78 "intvars": {}, 29.54/8.78 "arithmetic": { 29.54/8.78 "type": "PlainIntegerRelationState", 29.54/8.78 "relations": [] 29.54/8.78 }, 29.54/8.78 "ground": ["T40"], 29.54/8.78 "free": ["X41"], 29.54/8.78 "exprvars": [] 29.54/8.78 } 29.54/8.78 }, 29.54/8.78 "452": { 29.54/8.78 "goal": [{ 29.54/8.78 "clause": 8, 29.54/8.78 "scope": 5, 29.54/8.78 "term": "(member T95 T94)" 29.54/8.78 }], 29.54/8.78 "kb": { 29.54/8.78 "nonunifying": [], 29.54/8.78 "intvars": {}, 29.54/8.78 "arithmetic": { 29.54/8.78 "type": "PlainIntegerRelationState", 29.54/8.78 "relations": [] 29.54/8.78 }, 29.54/8.78 "ground": ["T94"], 29.54/8.78 "free": [], 29.54/8.78 "exprvars": [] 29.54/8.78 } 29.54/8.78 }, 29.54/8.78 "376": { 29.54/8.78 "goal": [], 29.54/8.78 "kb": { 29.54/8.78 "nonunifying": [], 29.54/8.78 "intvars": {}, 29.54/8.78 "arithmetic": { 29.54/8.78 "type": "PlainIntegerRelationState", 29.54/8.78 "relations": [] 29.54/8.78 }, 29.54/8.78 "ground": [], 29.54/8.78 "free": [], 29.54/8.78 "exprvars": [] 29.54/8.78 } 29.54/8.78 }, 29.54/8.78 "432": { 29.54/8.78 "goal": [{ 29.54/8.78 "clause": -1, 29.54/8.78 "scope": -1, 29.54/8.78 "term": "(',' (member T95 T94) (members T96 T94))" 29.54/8.78 }], 29.54/8.78 "kb": { 29.54/8.78 "nonunifying": [], 29.54/8.78 "intvars": {}, 29.54/8.78 "arithmetic": { 29.54/8.78 "type": "PlainIntegerRelationState", 29.54/8.78 "relations": [] 29.54/8.78 }, 29.54/8.78 "ground": ["T94"], 29.54/8.78 "free": [], 29.54/8.78 "exprvars": [] 29.54/8.78 } 29.54/8.78 }, 29.54/8.78 "454": { 29.54/8.78 "goal": [{ 29.54/8.78 "clause": -1, 29.54/8.78 "scope": -1, 29.54/8.78 "term": "(true)" 29.54/8.78 }], 29.54/8.78 "kb": { 29.54/8.78 "nonunifying": [], 29.54/8.78 "intvars": {}, 29.54/8.78 "arithmetic": { 29.54/8.78 "type": "PlainIntegerRelationState", 29.54/8.78 "relations": [] 29.54/8.78 }, 29.54/8.78 "ground": [], 29.54/8.78 "free": [], 29.54/8.78 "exprvars": [] 29.54/8.78 } 29.54/8.78 }, 29.54/8.78 "411": { 29.54/8.78 "goal": [{ 29.54/8.78 "clause": 3, 29.54/8.78 "scope": 3, 29.54/8.78 "term": "(select T41 T40 X41)" 29.54/8.78 }], 29.54/8.78 "kb": { 29.54/8.78 "nonunifying": [], 29.54/8.78 "intvars": {}, 29.54/8.78 "arithmetic": { 29.54/8.78 "type": "PlainIntegerRelationState", 29.54/8.78 "relations": [] 29.54/8.78 }, 29.54/8.78 "ground": ["T40"], 29.54/8.78 "free": ["X41"], 29.54/8.78 "exprvars": [] 29.54/8.78 } 29.54/8.78 }, 29.54/8.78 "433": { 29.54/8.78 "goal": [], 29.54/8.78 "kb": { 29.54/8.78 "nonunifying": [], 29.54/8.78 "intvars": {}, 29.54/8.78 "arithmetic": { 29.54/8.78 "type": "PlainIntegerRelationState", 29.54/8.78 "relations": [] 29.54/8.78 }, 29.54/8.78 "ground": [], 29.54/8.78 "free": [], 29.54/8.78 "exprvars": [] 29.54/8.78 } 29.54/8.78 }, 29.54/8.78 "455": { 29.54/8.78 "goal": [], 29.54/8.78 "kb": { 29.54/8.78 "nonunifying": [], 29.54/8.78 "intvars": {}, 29.54/8.78 "arithmetic": { 29.54/8.78 "type": "PlainIntegerRelationState", 29.54/8.78 "relations": [] 29.54/8.78 }, 29.54/8.78 "ground": [], 29.54/8.78 "free": [], 29.54/8.78 "exprvars": [] 29.54/8.78 } 29.54/8.78 }, 29.54/8.78 "412": { 29.54/8.78 "goal": [{ 29.54/8.78 "clause": 4, 29.54/8.78 "scope": 3, 29.54/8.78 "term": "(select T41 T40 X41)" 29.54/8.78 }], 29.54/8.78 "kb": { 29.54/8.78 "nonunifying": [], 29.54/8.78 "intvars": {}, 29.54/8.78 "arithmetic": { 29.54/8.78 "type": "PlainIntegerRelationState", 29.54/8.78 "relations": [] 29.54/8.78 }, 29.54/8.78 "ground": ["T40"], 29.54/8.78 "free": ["X41"], 29.54/8.78 "exprvars": [] 29.54/8.78 } 29.54/8.78 }, 29.54/8.78 "456": { 29.54/8.78 "goal": [], 29.54/8.78 "kb": { 29.54/8.78 "nonunifying": [], 29.54/8.78 "intvars": {}, 29.54/8.78 "arithmetic": { 29.54/8.78 "type": "PlainIntegerRelationState", 29.54/8.78 "relations": [] 29.54/8.78 }, 29.54/8.78 "ground": [], 29.54/8.78 "free": [], 29.54/8.78 "exprvars": [] 29.54/8.78 } 29.54/8.78 }, 29.54/8.78 "413": { 29.54/8.78 "goal": [{ 29.54/8.78 "clause": -1, 29.54/8.78 "scope": -1, 29.54/8.78 "term": "(true)" 29.54/8.78 }], 29.54/8.78 "kb": { 29.54/8.78 "nonunifying": [], 29.54/8.78 "intvars": {}, 29.54/8.78 "arithmetic": { 29.54/8.78 "type": "PlainIntegerRelationState", 29.54/8.78 "relations": [] 29.54/8.78 }, 29.54/8.78 "ground": [], 29.54/8.78 "free": [], 29.54/8.78 "exprvars": [] 29.54/8.78 } 29.54/8.78 }, 29.54/8.78 "414": { 29.54/8.78 "goal": [], 29.54/8.78 "kb": { 29.54/8.78 "nonunifying": [], 29.54/8.78 "intvars": {}, 29.54/8.78 "arithmetic": { 29.54/8.78 "type": "PlainIntegerRelationState", 29.54/8.78 "relations": [] 29.54/8.78 }, 29.54/8.78 "ground": [], 29.54/8.78 "free": [], 29.54/8.78 "exprvars": [] 29.54/8.78 } 29.54/8.78 }, 29.54/8.78 "415": { 29.54/8.78 "goal": [], 29.54/8.78 "kb": { 29.54/8.78 "nonunifying": [], 29.54/8.78 "intvars": {}, 29.54/8.78 "arithmetic": { 29.54/8.78 "type": "PlainIntegerRelationState", 29.54/8.78 "relations": [] 29.54/8.78 }, 29.54/8.78 "ground": [], 29.54/8.78 "free": [], 29.54/8.78 "exprvars": [] 29.54/8.78 } 29.54/8.78 }, 29.54/8.78 "50": { 29.54/8.78 "goal": [], 29.54/8.78 "kb": { 29.54/8.78 "nonunifying": [], 29.54/8.78 "intvars": {}, 29.54/8.78 "arithmetic": { 29.54/8.78 "type": "PlainIntegerRelationState", 29.54/8.78 "relations": [] 29.54/8.78 }, 29.54/8.78 "ground": [], 29.54/8.78 "free": [], 29.54/8.78 "exprvars": [] 29.54/8.78 } 29.54/8.78 }, 29.54/8.78 "419": { 29.54/8.78 "goal": [{ 29.54/8.78 "clause": -1, 29.54/8.78 "scope": -1, 29.54/8.78 "term": "(select T72 T71 X74)" 29.54/8.78 }], 29.54/8.78 "kb": { 29.54/8.78 "nonunifying": [], 29.54/8.78 "intvars": {}, 29.54/8.78 "arithmetic": { 29.54/8.78 "type": "PlainIntegerRelationState", 29.54/8.78 "relations": [] 29.54/8.78 }, 29.54/8.78 "ground": ["T71"], 29.54/8.78 "free": ["X74"], 29.54/8.78 "exprvars": [] 29.54/8.78 } 29.54/8.78 }, 29.54/8.78 "380": { 29.54/8.78 "goal": [{ 29.54/8.78 "clause": -1, 29.54/8.78 "scope": -1, 29.54/8.78 "term": "(select T41 T40 X41)" 29.54/8.78 }], 29.54/8.78 "kb": { 29.54/8.78 "nonunifying": [], 29.54/8.78 "intvars": {}, 29.54/8.78 "arithmetic": { 29.54/8.78 "type": "PlainIntegerRelationState", 29.54/8.78 "relations": [] 29.54/8.78 }, 29.54/8.78 "ground": ["T40"], 29.54/8.78 "free": ["X41"], 29.54/8.78 "exprvars": [] 29.54/8.78 } 29.54/8.78 }, 29.54/8.78 "381": { 29.54/8.78 "goal": [{ 29.54/8.78 "clause": -1, 29.54/8.78 "scope": -1, 29.54/8.78 "term": "(members T48 T47)" 29.54/8.78 }], 29.54/8.78 "kb": { 29.54/8.78 "nonunifying": [], 29.54/8.78 "intvars": {}, 29.54/8.78 "arithmetic": { 29.54/8.78 "type": "PlainIntegerRelationState", 29.54/8.78 "relations": [] 29.54/8.78 }, 29.54/8.78 "ground": ["T47"], 29.54/8.78 "free": [], 29.54/8.78 "exprvars": [] 29.54/8.78 } 29.54/8.78 }, 29.54/8.78 "382": { 29.54/8.78 "goal": [ 29.54/8.78 { 29.54/8.78 "clause": 3, 29.54/8.78 "scope": 3, 29.54/8.78 "term": "(select T41 T40 X41)" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "clause": 4, 29.54/8.78 "scope": 3, 29.54/8.78 "term": "(select T41 T40 X41)" 29.54/8.78 } 29.54/8.78 ], 29.54/8.78 "kb": { 29.54/8.78 "nonunifying": [], 29.54/8.78 "intvars": {}, 29.54/8.78 "arithmetic": { 29.54/8.78 "type": "PlainIntegerRelationState", 29.54/8.78 "relations": [] 29.54/8.78 }, 29.54/8.78 "ground": ["T40"], 29.54/8.78 "free": ["X41"], 29.54/8.78 "exprvars": [] 29.54/8.78 } 29.54/8.78 }, 29.54/8.78 "461": { 29.54/8.78 "goal": [{ 29.54/8.78 "clause": -1, 29.54/8.78 "scope": -1, 29.54/8.78 "term": "(member T125 T124)" 29.54/8.78 }], 29.54/8.78 "kb": { 29.54/8.78 "nonunifying": [], 29.54/8.78 "intvars": {}, 29.54/8.78 "arithmetic": { 29.54/8.78 "type": "PlainIntegerRelationState", 29.54/8.78 "relations": [] 29.54/8.78 }, 29.54/8.78 "ground": ["T124"], 29.54/8.78 "free": [], 29.54/8.78 "exprvars": [] 29.54/8.78 } 29.54/8.78 }, 29.54/8.78 "462": { 29.54/8.78 "goal": [], 29.54/8.78 "kb": { 29.54/8.78 "nonunifying": [], 29.54/8.78 "intvars": {}, 29.54/8.78 "arithmetic": { 29.54/8.78 "type": "PlainIntegerRelationState", 29.54/8.78 "relations": [] 29.54/8.78 }, 29.54/8.78 "ground": [], 29.54/8.78 "free": [], 29.54/8.78 "exprvars": [] 29.54/8.78 } 29.54/8.78 }, 29.54/8.78 "320": { 29.54/8.78 "goal": [{ 29.54/8.78 "clause": -1, 29.54/8.78 "scope": -1, 29.54/8.78 "term": "(color_region T18 T17)" 29.54/8.78 }], 29.54/8.78 "kb": { 29.54/8.78 "nonunifying": [], 29.54/8.78 "intvars": {}, 29.54/8.78 "arithmetic": { 29.54/8.78 "type": "PlainIntegerRelationState", 29.54/8.78 "relations": [] 29.54/8.78 }, 29.54/8.78 "ground": ["T17"], 29.54/8.78 "free": [], 29.54/8.78 "exprvars": [] 29.54/8.78 } 29.54/8.78 }, 29.54/8.78 "420": { 29.54/8.78 "goal": [], 29.54/8.78 "kb": { 29.54/8.78 "nonunifying": [], 29.54/8.78 "intvars": {}, 29.54/8.78 "arithmetic": { 29.54/8.78 "type": "PlainIntegerRelationState", 29.54/8.78 "relations": [] 29.54/8.78 }, 29.54/8.78 "ground": [], 29.54/8.78 "free": [], 29.54/8.78 "exprvars": [] 29.54/8.78 } 29.54/8.78 }, 29.54/8.78 "322": { 29.54/8.78 "goal": [{ 29.54/8.78 "clause": -1, 29.54/8.78 "scope": -1, 29.54/8.78 "term": "(color_map T24 T17)" 29.54/8.78 }], 29.54/8.78 "kb": { 29.54/8.78 "nonunifying": [], 29.54/8.78 "intvars": {}, 29.54/8.78 "arithmetic": { 29.54/8.78 "type": "PlainIntegerRelationState", 29.54/8.78 "relations": [] 29.54/8.78 }, 29.54/8.78 "ground": ["T17"], 29.54/8.78 "free": [], 29.54/8.78 "exprvars": [] 29.54/8.78 } 29.54/8.78 }, 29.54/8.78 "465": { 29.54/8.78 "goal": [{ 29.54/8.78 "clause": -1, 29.54/8.78 "scope": -1, 29.54/8.78 "term": "(true)" 29.54/8.78 }], 29.54/8.78 "kb": { 29.54/8.78 "nonunifying": [], 29.54/8.78 "intvars": {}, 29.54/8.78 "arithmetic": { 29.54/8.78 "type": "PlainIntegerRelationState", 29.54/8.78 "relations": [] 29.54/8.78 }, 29.54/8.78 "ground": [], 29.54/8.78 "free": [], 29.54/8.78 "exprvars": [] 29.54/8.78 } 29.54/8.78 }, 29.54/8.78 "487": { 29.54/8.78 "goal": [{ 29.54/8.78 "clause": -1, 29.54/8.78 "scope": -1, 29.54/8.78 "term": "(true)" 29.54/8.78 }], 29.54/8.78 "kb": { 29.54/8.78 "nonunifying": [], 29.54/8.78 "intvars": {}, 29.54/8.78 "arithmetic": { 29.54/8.78 "type": "PlainIntegerRelationState", 29.54/8.78 "relations": [] 29.54/8.78 }, 29.54/8.78 "ground": [], 29.54/8.78 "free": [], 29.54/8.78 "exprvars": [] 29.54/8.78 } 29.54/8.78 }, 29.54/8.78 "466": { 29.54/8.78 "goal": [], 29.54/8.78 "kb": { 29.54/8.78 "nonunifying": [], 29.54/8.78 "intvars": {}, 29.54/8.78 "arithmetic": { 29.54/8.78 "type": "PlainIntegerRelationState", 29.54/8.78 "relations": [] 29.54/8.78 }, 29.54/8.78 "ground": [], 29.54/8.78 "free": [], 29.54/8.78 "exprvars": [] 29.54/8.78 } 29.54/8.78 }, 29.54/8.78 "488": { 29.54/8.78 "goal": [], 29.54/8.78 "kb": { 29.54/8.78 "nonunifying": [], 29.54/8.78 "intvars": {}, 29.54/8.78 "arithmetic": { 29.54/8.78 "type": "PlainIntegerRelationState", 29.54/8.78 "relations": [] 29.54/8.78 }, 29.54/8.78 "ground": [], 29.54/8.78 "free": [], 29.54/8.78 "exprvars": [] 29.54/8.78 } 29.54/8.78 }, 29.54/8.78 "445": { 29.54/8.78 "goal": [{ 29.54/8.78 "clause": -1, 29.54/8.78 "scope": -1, 29.54/8.78 "term": "(member T95 T94)" 29.54/8.78 }], 29.54/8.78 "kb": { 29.54/8.78 "nonunifying": [], 29.54/8.78 "intvars": {}, 29.54/8.78 "arithmetic": { 29.54/8.78 "type": "PlainIntegerRelationState", 29.54/8.78 "relations": [] 29.54/8.78 }, 29.54/8.78 "ground": ["T94"], 29.54/8.78 "free": [], 29.54/8.78 "exprvars": [] 29.54/8.78 } 29.54/8.78 }, 29.54/8.78 "467": { 29.54/8.78 "goal": [], 29.54/8.78 "kb": { 29.54/8.78 "nonunifying": [], 29.54/8.78 "intvars": {}, 29.54/8.78 "arithmetic": { 29.54/8.78 "type": "PlainIntegerRelationState", 29.54/8.78 "relations": [] 29.54/8.78 }, 29.54/8.78 "ground": [], 29.54/8.78 "free": [], 29.54/8.78 "exprvars": [] 29.54/8.78 } 29.54/8.78 }, 29.54/8.78 "489": { 29.54/8.78 "goal": [], 29.54/8.78 "kb": { 29.54/8.78 "nonunifying": [], 29.54/8.78 "intvars": {}, 29.54/8.78 "arithmetic": { 29.54/8.78 "type": "PlainIntegerRelationState", 29.54/8.78 "relations": [] 29.54/8.78 }, 29.54/8.78 "ground": [], 29.54/8.78 "free": [], 29.54/8.78 "exprvars": [] 29.54/8.78 } 29.54/8.78 }, 29.54/8.78 "446": { 29.54/8.78 "goal": [{ 29.54/8.78 "clause": -1, 29.54/8.78 "scope": -1, 29.54/8.78 "term": "(members T101 T94)" 29.54/8.78 }], 29.54/8.78 "kb": { 29.54/8.78 "nonunifying": [], 29.54/8.78 "intvars": {}, 29.54/8.78 "arithmetic": { 29.54/8.78 "type": "PlainIntegerRelationState", 29.54/8.78 "relations": [] 29.54/8.78 }, 29.54/8.78 "ground": ["T94"], 29.54/8.78 "free": [], 29.54/8.78 "exprvars": [] 29.54/8.78 } 29.54/8.78 }, 29.54/8.78 "425": { 29.54/8.78 "goal": [ 29.54/8.78 { 29.54/8.78 "clause": 5, 29.54/8.78 "scope": 4, 29.54/8.78 "term": "(members T48 T47)" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "clause": 6, 29.54/8.78 "scope": 4, 29.54/8.78 "term": "(members T48 T47)" 29.54/8.78 } 29.54/8.78 ], 29.54/8.78 "kb": { 29.54/8.78 "nonunifying": [], 29.54/8.78 "intvars": {}, 29.54/8.78 "arithmetic": { 29.54/8.78 "type": "PlainIntegerRelationState", 29.54/8.78 "relations": [] 29.54/8.78 }, 29.54/8.78 "ground": ["T47"], 29.54/8.78 "free": [], 29.54/8.78 "exprvars": [] 29.54/8.78 } 29.54/8.78 }, 29.54/8.78 "426": { 29.54/8.78 "goal": [{ 29.54/8.78 "clause": 5, 29.54/8.78 "scope": 4, 29.54/8.78 "term": "(members T48 T47)" 29.54/8.78 }], 29.54/8.78 "kb": { 29.54/8.78 "nonunifying": [], 29.54/8.78 "intvars": {}, 29.54/8.78 "arithmetic": { 29.54/8.78 "type": "PlainIntegerRelationState", 29.54/8.78 "relations": [] 29.54/8.78 }, 29.54/8.78 "ground": ["T47"], 29.54/8.78 "free": [], 29.54/8.78 "exprvars": [] 29.54/8.78 } 29.54/8.78 }, 29.54/8.78 "427": { 29.54/8.78 "goal": [{ 29.54/8.78 "clause": 6, 29.54/8.78 "scope": 4, 29.54/8.78 "term": "(members T48 T47)" 29.54/8.78 }], 29.54/8.78 "kb": { 29.54/8.78 "nonunifying": [], 29.54/8.78 "intvars": {}, 29.54/8.78 "arithmetic": { 29.54/8.78 "type": "PlainIntegerRelationState", 29.54/8.78 "relations": [] 29.54/8.78 }, 29.54/8.78 "ground": ["T47"], 29.54/8.78 "free": [], 29.54/8.78 "exprvars": [] 29.54/8.78 } 29.54/8.78 } 29.54/8.78 }, 29.54/8.78 "edges": [ 29.54/8.78 { 29.54/8.78 "from": 22, 29.54/8.78 "to": 24, 29.54/8.78 "label": "CASE" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 24, 29.54/8.78 "to": 45, 29.54/8.78 "label": "PARALLEL" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 24, 29.54/8.78 "to": 46, 29.54/8.78 "label": "PARALLEL" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 45, 29.54/8.78 "to": 49, 29.54/8.78 "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.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 45, 29.54/8.78 "to": 50, 29.54/8.78 "label": "EVAL-BACKTRACK" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 46, 29.54/8.78 "to": 487, 29.54/8.78 "label": "EVAL with clause\ncolor_map([], X139).\nand substitutionT1 -> [],\nT2 -> T141,\nX139 -> T141" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 46, 29.54/8.78 "to": 488, 29.54/8.78 "label": "EVAL-BACKTRACK" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 49, 29.54/8.78 "to": 320, 29.54/8.78 "label": "SPLIT 1" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 49, 29.54/8.78 "to": 322, 29.54/8.78 "label": "SPLIT 2\nnew knowledge:\nT17 is ground\nreplacements:T19 -> T24" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 320, 29.54/8.78 "to": 371, 29.54/8.78 "label": "CASE" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 322, 29.54/8.78 "to": 22, 29.54/8.78 "label": "INSTANCE with matching:\nT1 -> T24\nT2 -> T17" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 371, 29.54/8.78 "to": 375, 29.54/8.78 "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.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 371, 29.54/8.78 "to": 376, 29.54/8.78 "label": "EVAL-BACKTRACK" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 375, 29.54/8.78 "to": 380, 29.54/8.78 "label": "SPLIT 1" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 375, 29.54/8.78 "to": 381, 29.54/8.78 "label": "SPLIT 2\nnew knowledge:\nT41 is ground\nT40 is ground\nT47 is ground\nreplacements:X41 -> T47,\nT42 -> T48" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 380, 29.54/8.78 "to": 382, 29.54/8.78 "label": "CASE" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 381, 29.54/8.78 "to": 425, 29.54/8.78 "label": "CASE" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 382, 29.54/8.78 "to": 411, 29.54/8.78 "label": "PARALLEL" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 382, 29.54/8.78 "to": 412, 29.54/8.78 "label": "PARALLEL" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 411, 29.54/8.78 "to": 413, 29.54/8.78 "label": "EVAL with clause\nselect(X58, .(X58, X59), X59).\nand substitutionT41 -> T61,\nX58 -> T61,\nX59 -> T62,\nT40 -> .(T61, T62),\nX41 -> T62" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 411, 29.54/8.78 "to": 414, 29.54/8.78 "label": "EVAL-BACKTRACK" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 412, 29.54/8.78 "to": 419, 29.54/8.78 "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.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 412, 29.54/8.78 "to": 420, 29.54/8.78 "label": "EVAL-BACKTRACK" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 413, 29.54/8.78 "to": 415, 29.54/8.78 "label": "SUCCESS" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 419, 29.54/8.78 "to": 380, 29.54/8.78 "label": "INSTANCE with matching:\nT41 -> T72\nT40 -> T71\nX41 -> X74" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 425, 29.54/8.78 "to": 426, 29.54/8.78 "label": "PARALLEL" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 425, 29.54/8.78 "to": 427, 29.54/8.78 "label": "PARALLEL" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 426, 29.54/8.78 "to": 432, 29.54/8.78 "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.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 426, 29.54/8.78 "to": 433, 29.54/8.78 "label": "EVAL-BACKTRACK" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 427, 29.54/8.78 "to": 465, 29.54/8.78 "label": "EVAL with clause\nmembers([], X133).\nand substitutionT48 -> [],\nT47 -> T135,\nX133 -> T135" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 427, 29.54/8.78 "to": 466, 29.54/8.78 "label": "EVAL-BACKTRACK" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 432, 29.54/8.78 "to": 445, 29.54/8.78 "label": "SPLIT 1" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 432, 29.54/8.78 "to": 446, 29.54/8.78 "label": "SPLIT 2\nnew knowledge:\nT95 is ground\nT94 is ground\nreplacements:T96 -> T101" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 445, 29.54/8.78 "to": 450, 29.54/8.78 "label": "CASE" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 446, 29.54/8.78 "to": 381, 29.54/8.78 "label": "INSTANCE with matching:\nT48 -> T101\nT47 -> T94" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 450, 29.54/8.78 "to": 451, 29.54/8.78 "label": "PARALLEL" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 450, 29.54/8.78 "to": 452, 29.54/8.78 "label": "PARALLEL" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 451, 29.54/8.78 "to": 454, 29.54/8.78 "label": "EVAL with clause\nmember(X113, .(X113, X114)).\nand substitutionT95 -> T114,\nX113 -> T114,\nX114 -> T115,\nT94 -> .(T114, T115)" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 451, 29.54/8.78 "to": 455, 29.54/8.78 "label": "EVAL-BACKTRACK" 29.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 452, 29.54/8.78 "to": 461, 29.54/8.78 "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.54/8.78 }, 29.54/8.78 { 29.54/8.78 "from": 452, 29.54/8.79 "to": 462, 29.54/8.79 "label": "EVAL-BACKTRACK" 29.54/8.79 }, 29.54/8.79 { 29.54/8.79 "from": 454, 29.54/8.79 "to": 456, 29.54/8.79 "label": "SUCCESS" 29.54/8.79 }, 29.54/8.79 { 29.54/8.79 "from": 461, 29.54/8.79 "to": 445, 29.54/8.79 "label": "INSTANCE with matching:\nT95 -> T125\nT94 -> T124" 29.54/8.79 }, 29.54/8.79 { 29.54/8.79 "from": 465, 29.54/8.79 "to": 467, 29.54/8.79 "label": "SUCCESS" 29.54/8.79 }, 29.54/8.79 { 29.54/8.79 "from": 487, 29.54/8.79 "to": 489, 29.54/8.79 "label": "SUCCESS" 29.54/8.79 } 29.54/8.79 ], 29.54/8.79 "type": "Graph" 29.54/8.79 } 29.54/8.79 } 29.54/8.79 29.54/8.79 ---------------------------------------- 29.54/8.79 29.54/8.79 (114) 29.54/8.79 Complex Obligation (AND) 29.54/8.79 29.54/8.79 ---------------------------------------- 29.54/8.79 29.54/8.79 (115) 29.54/8.79 Obligation: 29.54/8.79 Rules: 29.54/8.79 f450_out(T94) -> f445_out(T94) :|: TRUE 29.54/8.79 f445_in(x) -> f450_in(x) :|: TRUE 29.54/8.79 f451_out(x1) -> f450_out(x1) :|: TRUE 29.54/8.79 f450_in(x2) -> f452_in(x2) :|: TRUE 29.54/8.79 f450_in(x3) -> f451_in(x3) :|: TRUE 29.54/8.79 f452_out(x4) -> f450_out(x4) :|: TRUE 29.54/8.79 f462_out -> f452_out(x5) :|: TRUE 29.54/8.79 f452_in(x6) -> f462_in :|: TRUE 29.54/8.79 f452_in(.(T123, T124)) -> f461_in(T124) :|: TRUE 29.54/8.79 f461_out(x7) -> f452_out(.(x8, x7)) :|: TRUE 29.54/8.79 f461_in(x9) -> f445_in(x9) :|: TRUE 29.54/8.79 f445_out(x10) -> f461_out(x10) :|: TRUE 29.54/8.79 f24_out(T2) -> f22_out(T2) :|: TRUE 29.54/8.79 f22_in(x11) -> f24_in(x11) :|: TRUE 29.54/8.79 f24_in(x12) -> f45_in(x12) :|: TRUE 29.54/8.79 f45_out(x13) -> f24_out(x13) :|: TRUE 29.54/8.79 f24_in(x14) -> f46_in(x14) :|: TRUE 29.54/8.79 f46_out(x15) -> f24_out(x15) :|: TRUE 29.54/8.79 f50_out -> f45_out(x16) :|: TRUE 29.54/8.79 f45_in(T17) -> f49_in(T17) :|: TRUE 29.54/8.79 f45_in(x17) -> f50_in :|: TRUE 29.54/8.79 f49_out(x18) -> f45_out(x18) :|: TRUE 29.54/8.79 f49_in(x19) -> f320_in(x19) :|: TRUE 29.54/8.79 f322_out(x20) -> f49_out(x20) :|: TRUE 29.54/8.79 f320_out(x21) -> f322_in(x21) :|: TRUE 29.54/8.79 f320_in(x22) -> f371_in(x22) :|: TRUE 29.54/8.79 f371_out(x23) -> f320_out(x23) :|: TRUE 29.54/8.79 f375_out(T40) -> f371_out(T40) :|: TRUE 29.54/8.79 f371_in(x24) -> f376_in :|: TRUE 29.54/8.79 f376_out -> f371_out(x25) :|: TRUE 29.54/8.79 f371_in(x26) -> f375_in(x26) :|: TRUE 29.54/8.79 f380_out(x27) -> f381_in(x28) :|: TRUE 29.54/8.79 f381_out(x29) -> f375_out(x30) :|: TRUE 29.54/8.79 f375_in(x31) -> f380_in(x31) :|: TRUE 29.54/8.79 f381_in(T47) -> f425_in(T47) :|: TRUE 29.54/8.79 f425_out(x32) -> f381_out(x32) :|: TRUE 29.54/8.79 f425_in(x33) -> f427_in(x33) :|: TRUE 29.54/8.79 f426_out(x34) -> f425_out(x34) :|: TRUE 29.54/8.79 f427_out(x35) -> f425_out(x35) :|: TRUE 29.54/8.79 f425_in(x36) -> f426_in(x36) :|: TRUE 29.54/8.79 f426_in(x37) -> f433_in :|: TRUE 29.54/8.79 f426_in(x38) -> f432_in(x38) :|: TRUE 29.54/8.79 f433_out -> f426_out(x39) :|: TRUE 29.54/8.79 f432_out(x40) -> f426_out(x40) :|: TRUE 29.54/8.79 f432_in(x41) -> f445_in(x41) :|: TRUE 29.54/8.79 f445_out(x42) -> f446_in(x42) :|: TRUE 29.54/8.79 f446_out(x43) -> f432_out(x43) :|: TRUE 29.54/8.79 Start term: f22_in(T2) 29.54/8.79 29.54/8.79 ---------------------------------------- 29.54/8.79 29.54/8.79 (116) IRSwTSimpleDependencyGraphProof (EQUIVALENT) 29.54/8.79 Constructed simple dependency graph. 29.54/8.79 29.54/8.79 Simplified to the following IRSwTs: 29.54/8.79 29.54/8.79 29.54/8.79 ---------------------------------------- 29.54/8.79 29.54/8.79 (117) 29.54/8.79 TRUE 29.54/8.79 29.54/8.79 ---------------------------------------- 29.54/8.79 29.54/8.79 (118) 29.54/8.79 Obligation: 29.54/8.79 Rules: 29.54/8.79 f450_out(T94) -> f445_out(T94) :|: TRUE 29.54/8.79 f445_in(x) -> f450_in(x) :|: TRUE 29.54/8.79 f451_out(x1) -> f450_out(x1) :|: TRUE 29.54/8.79 f450_in(x2) -> f452_in(x2) :|: TRUE 29.54/8.79 f450_in(x3) -> f451_in(x3) :|: TRUE 29.54/8.79 f452_out(x4) -> f450_out(x4) :|: TRUE 29.54/8.79 f432_in(x5) -> f445_in(x5) :|: TRUE 29.54/8.79 f445_out(x6) -> f446_in(x6) :|: TRUE 29.54/8.79 f446_out(x7) -> f432_out(x7) :|: TRUE 29.54/8.79 f454_in -> f454_out :|: TRUE 29.54/8.79 f426_in(T47) -> f433_in :|: TRUE 29.54/8.79 f426_in(x8) -> f432_in(x8) :|: TRUE 29.54/8.79 f433_out -> f426_out(x9) :|: TRUE 29.54/8.79 f432_out(x10) -> f426_out(x10) :|: TRUE 29.54/8.79 f446_in(x11) -> f381_in(x11) :|: TRUE 29.54/8.79 f381_out(x12) -> f446_out(x12) :|: TRUE 29.54/8.79 f381_in(x13) -> f425_in(x13) :|: TRUE 29.54/8.79 f425_out(x14) -> f381_out(x14) :|: TRUE 29.54/8.79 f425_in(x15) -> f427_in(x15) :|: TRUE 29.54/8.79 f426_out(x16) -> f425_out(x16) :|: TRUE 29.54/8.79 f427_out(x17) -> f425_out(x17) :|: TRUE 29.54/8.79 f425_in(x18) -> f426_in(x18) :|: TRUE 29.54/8.79 f451_in(.(T114, T115)) -> f454_in :|: TRUE 29.54/8.79 f455_out -> f451_out(x19) :|: TRUE 29.54/8.79 f454_out -> f451_out(.(x20, x21)) :|: TRUE 29.54/8.79 f451_in(x22) -> f455_in :|: TRUE 29.54/8.79 f462_out -> f452_out(x23) :|: TRUE 29.54/8.79 f452_in(x24) -> f462_in :|: TRUE 29.54/8.79 f452_in(.(T123, T124)) -> f461_in(T124) :|: TRUE 29.54/8.79 f461_out(x25) -> f452_out(.(x26, x25)) :|: TRUE 29.54/8.79 f461_in(x27) -> f445_in(x27) :|: TRUE 29.54/8.79 f445_out(x28) -> f461_out(x28) :|: TRUE 29.54/8.79 f24_out(T2) -> f22_out(T2) :|: TRUE 29.54/8.79 f22_in(x29) -> f24_in(x29) :|: TRUE 29.54/8.79 f24_in(x30) -> f45_in(x30) :|: TRUE 29.54/8.79 f45_out(x31) -> f24_out(x31) :|: TRUE 29.54/8.79 f24_in(x32) -> f46_in(x32) :|: TRUE 29.54/8.79 f46_out(x33) -> f24_out(x33) :|: TRUE 29.54/8.79 f50_out -> f45_out(x34) :|: TRUE 29.54/8.79 f45_in(T17) -> f49_in(T17) :|: TRUE 29.54/8.79 f45_in(x35) -> f50_in :|: TRUE 29.54/8.79 f49_out(x36) -> f45_out(x36) :|: TRUE 29.54/8.79 f49_in(x37) -> f320_in(x37) :|: TRUE 29.54/8.79 f322_out(x38) -> f49_out(x38) :|: TRUE 29.54/8.79 f320_out(x39) -> f322_in(x39) :|: TRUE 29.54/8.79 f320_in(x40) -> f371_in(x40) :|: TRUE 29.54/8.79 f371_out(x41) -> f320_out(x41) :|: TRUE 29.54/8.79 f375_out(T40) -> f371_out(T40) :|: TRUE 29.54/8.79 f371_in(x42) -> f376_in :|: TRUE 29.54/8.79 f376_out -> f371_out(x43) :|: TRUE 29.54/8.79 f371_in(x44) -> f375_in(x44) :|: TRUE 29.54/8.79 f380_out(x45) -> f381_in(x46) :|: TRUE 29.54/8.79 f381_out(x47) -> f375_out(x48) :|: TRUE 29.54/8.79 f375_in(x49) -> f380_in(x49) :|: TRUE 29.54/8.79 Start term: f22_in(T2) 29.54/8.79 29.54/8.79 ---------------------------------------- 29.54/8.79 29.54/8.79 (119) IRSwTSimpleDependencyGraphProof (EQUIVALENT) 29.54/8.79 Constructed simple dependency graph. 29.54/8.79 29.54/8.79 Simplified to the following IRSwTs: 29.54/8.79 29.54/8.79 29.54/8.79 ---------------------------------------- 29.54/8.79 29.54/8.79 (120) 29.54/8.79 TRUE 29.54/8.79 29.54/8.79 ---------------------------------------- 29.54/8.79 29.54/8.79 (121) 29.54/8.79 Obligation: 29.54/8.79 Rules: 29.54/8.79 f380_in(T40) -> f382_in(T40) :|: TRUE 29.54/8.79 f382_out(x) -> f380_out(x) :|: TRUE 29.54/8.79 f411_out(x1) -> f382_out(x1) :|: TRUE 29.54/8.79 f382_in(x2) -> f411_in(x2) :|: TRUE 29.54/8.79 f412_out(x3) -> f382_out(x3) :|: TRUE 29.54/8.79 f382_in(x4) -> f412_in(x4) :|: TRUE 29.54/8.79 f412_in(.(T70, T71)) -> f419_in(T71) :|: TRUE 29.54/8.79 f412_in(x5) -> f420_in :|: TRUE 29.54/8.79 f420_out -> f412_out(x6) :|: TRUE 29.54/8.79 f419_out(x7) -> f412_out(.(x8, x7)) :|: TRUE 29.54/8.79 f419_in(x9) -> f380_in(x9) :|: TRUE 29.54/8.79 f380_out(x10) -> f419_out(x10) :|: TRUE 29.54/8.79 f24_out(T2) -> f22_out(T2) :|: TRUE 29.54/8.79 f22_in(x11) -> f24_in(x11) :|: TRUE 29.54/8.79 f24_in(x12) -> f45_in(x12) :|: TRUE 29.54/8.79 f45_out(x13) -> f24_out(x13) :|: TRUE 29.54/8.79 f24_in(x14) -> f46_in(x14) :|: TRUE 29.54/8.79 f46_out(x15) -> f24_out(x15) :|: TRUE 29.54/8.79 f50_out -> f45_out(x16) :|: TRUE 29.54/8.79 f45_in(T17) -> f49_in(T17) :|: TRUE 29.54/8.79 f45_in(x17) -> f50_in :|: TRUE 29.54/8.79 f49_out(x18) -> f45_out(x18) :|: TRUE 29.54/8.79 f49_in(x19) -> f320_in(x19) :|: TRUE 29.54/8.79 f322_out(x20) -> f49_out(x20) :|: TRUE 29.54/8.79 f320_out(x21) -> f322_in(x21) :|: TRUE 29.54/8.79 f320_in(x22) -> f371_in(x22) :|: TRUE 29.54/8.79 f371_out(x23) -> f320_out(x23) :|: TRUE 29.54/8.79 f375_out(x24) -> f371_out(x24) :|: TRUE 29.54/8.79 f371_in(x25) -> f376_in :|: TRUE 29.54/8.79 f376_out -> f371_out(x26) :|: TRUE 29.54/8.79 f371_in(x27) -> f375_in(x27) :|: TRUE 29.54/8.79 f380_out(x28) -> f381_in(x29) :|: TRUE 29.54/8.79 f381_out(x30) -> f375_out(x31) :|: TRUE 29.54/8.79 f375_in(x32) -> f380_in(x32) :|: TRUE 29.54/8.79 Start term: f22_in(T2) 29.54/8.79 29.54/8.79 ---------------------------------------- 29.54/8.79 29.54/8.79 (122) IRSwTSimpleDependencyGraphProof (EQUIVALENT) 29.54/8.79 Constructed simple dependency graph. 29.54/8.79 29.54/8.79 Simplified to the following IRSwTs: 29.54/8.79 29.54/8.79 intTRSProblem: 29.54/8.79 f380_in(T40) -> f382_in(T40) :|: TRUE 29.54/8.79 f382_in(x4) -> f412_in(x4) :|: TRUE 29.54/8.79 f412_in(.(T70, T71)) -> f419_in(T71) :|: TRUE 29.54/8.79 f419_in(x9) -> f380_in(x9) :|: TRUE 29.54/8.79 29.54/8.79 29.54/8.79 ---------------------------------------- 29.54/8.79 29.54/8.79 (123) 29.54/8.79 Obligation: 29.54/8.79 Rules: 29.54/8.79 f380_in(T40) -> f382_in(T40) :|: TRUE 29.54/8.79 f382_in(x4) -> f412_in(x4) :|: TRUE 29.54/8.79 f412_in(.(T70, T71)) -> f419_in(T71) :|: TRUE 29.54/8.79 f419_in(x9) -> f380_in(x9) :|: TRUE 29.54/8.79 29.54/8.79 ---------------------------------------- 29.54/8.79 29.54/8.79 (124) IntTRSCompressionProof (EQUIVALENT) 29.54/8.79 Compressed rules. 29.54/8.79 ---------------------------------------- 29.54/8.79 29.54/8.79 (125) 29.54/8.79 Obligation: 29.54/8.79 Rules: 29.54/8.79 f380_in(.(T70:0, T71:0)) -> f380_in(T71:0) :|: TRUE 29.54/8.79 29.54/8.79 ---------------------------------------- 29.54/8.79 29.54/8.79 (126) IRSFormatTransformerProof (EQUIVALENT) 29.54/8.79 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 29.54/8.79 ---------------------------------------- 29.54/8.79 29.54/8.79 (127) 29.54/8.79 Obligation: 29.54/8.79 Rules: 29.54/8.79 f380_in(.(T70:0, T71:0)) -> f380_in(T71:0) :|: TRUE 29.54/8.79 29.54/8.79 ---------------------------------------- 29.54/8.79 29.54/8.79 (128) IRSwTTerminationDigraphProof (EQUIVALENT) 29.54/8.79 Constructed termination digraph! 29.54/8.79 Nodes: 29.54/8.79 (1) f380_in(.(T70:0, T71:0)) -> f380_in(T71:0) :|: TRUE 29.54/8.79 29.54/8.79 Arcs: 29.54/8.79 (1) -> (1) 29.54/8.79 29.54/8.79 This digraph is fully evaluated! 29.54/8.79 ---------------------------------------- 29.54/8.79 29.54/8.79 (129) 29.54/8.79 Obligation: 29.54/8.79 29.54/8.79 Termination digraph: 29.54/8.79 Nodes: 29.54/8.79 (1) f380_in(.(T70:0, T71:0)) -> f380_in(T71:0) :|: TRUE 29.54/8.79 29.54/8.79 Arcs: 29.54/8.79 (1) -> (1) 29.54/8.79 29.54/8.79 This digraph is fully evaluated! 29.54/8.79 29.54/8.79 ---------------------------------------- 29.54/8.79 29.54/8.79 (130) IntTRSUnneededArgumentFilterProof (EQUIVALENT) 29.54/8.79 Some arguments are removed because they cannot influence termination. We removed arguments according to the following replacements: 29.54/8.79 29.54/8.79 .(x1, x2) -> .(x2) 29.54/8.79 29.54/8.79 ---------------------------------------- 29.54/8.79 29.54/8.79 (131) 29.54/8.79 Obligation: 29.54/8.79 Rules: 29.54/8.79 f380_in(.(T71:0)) -> f380_in(T71:0) :|: TRUE 29.54/8.79 29.54/8.79 ---------------------------------------- 29.54/8.79 29.54/8.79 (132) TempFilterProof (SOUND) 29.54/8.79 Used the following sort dictionary for filtering: 29.54/8.79 f380_in(VARIABLE) 29.54/8.79 .(VARIABLE) 29.54/8.79 Removed predefined arithmetic. 29.54/8.79 ---------------------------------------- 29.54/8.79 29.54/8.79 (133) 29.54/8.79 Obligation: 29.54/8.79 Rules: 29.54/8.79 f380_in(.(T71:0)) -> f380_in(T71:0) 29.54/8.79 29.54/8.79 ---------------------------------------- 29.54/8.79 29.54/8.79 (134) IRSwTToQDPProof (SOUND) 29.54/8.79 Removed the integers and created a QDP-Problem. 29.54/8.79 ---------------------------------------- 29.54/8.79 29.54/8.79 (135) 29.54/8.79 Obligation: 29.54/8.79 Q DP problem: 29.54/8.79 The TRS P consists of the following rules: 29.54/8.79 29.54/8.79 f380_in(.(T71:0)) -> f380_in(T71:0) 29.54/8.79 29.54/8.79 R is empty. 29.54/8.79 Q is empty. 29.54/8.79 We have to consider all (P,Q,R)-chains. 29.54/8.79 ---------------------------------------- 29.54/8.79 29.54/8.79 (136) QDPSizeChangeProof (EQUIVALENT) 29.54/8.79 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.54/8.79 29.54/8.79 From the DPs we obtained the following set of size-change graphs: 29.54/8.79 *f380_in(.(T71:0)) -> f380_in(T71:0) 29.54/8.79 The graph contains the following edges 1 > 1 29.54/8.79 29.54/8.79 29.54/8.79 ---------------------------------------- 29.54/8.79 29.54/8.79 (137) 29.54/8.79 YES 29.54/8.79 29.54/8.79 ---------------------------------------- 29.54/8.79 29.54/8.79 (138) 29.54/8.79 Obligation: 29.54/8.79 Rules: 29.54/8.79 f375_out(T40) -> f371_out(T40) :|: TRUE 29.54/8.79 f371_in(T17) -> f376_in :|: TRUE 29.54/8.79 f376_out -> f371_out(x) :|: TRUE 29.54/8.79 f371_in(x1) -> f375_in(x1) :|: TRUE 29.54/8.79 f380_in(x2) -> f382_in(x2) :|: TRUE 29.54/8.79 f382_out(x3) -> f380_out(x3) :|: TRUE 29.54/8.79 f49_in(x4) -> f320_in(x4) :|: TRUE 29.54/8.79 f322_out(x5) -> f49_out(x5) :|: TRUE 29.54/8.79 f320_out(x6) -> f322_in(x6) :|: TRUE 29.54/8.79 f450_out(T94) -> f445_out(T94) :|: TRUE 29.54/8.79 f445_in(x7) -> f450_in(x7) :|: TRUE 29.54/8.79 f24_out(T2) -> f22_out(T2) :|: TRUE 29.54/8.79 f22_in(x8) -> f24_in(x8) :|: TRUE 29.54/8.79 f411_out(x9) -> f382_out(x9) :|: TRUE 29.54/8.79 f382_in(x10) -> f411_in(x10) :|: TRUE 29.54/8.79 f412_out(x11) -> f382_out(x11) :|: TRUE 29.54/8.79 f382_in(x12) -> f412_in(x12) :|: TRUE 29.54/8.79 f381_in(T47) -> f425_in(T47) :|: TRUE 29.54/8.79 f425_out(x13) -> f381_out(x13) :|: TRUE 29.54/8.79 f425_in(x14) -> f427_in(x14) :|: TRUE 29.54/8.79 f426_out(x15) -> f425_out(x15) :|: TRUE 29.54/8.79 f427_out(x16) -> f425_out(x16) :|: TRUE 29.54/8.79 f425_in(x17) -> f426_in(x17) :|: TRUE 29.54/8.79 f427_in(x18) -> f466_in :|: TRUE 29.54/8.79 f466_out -> f427_out(x19) :|: TRUE 29.54/8.79 f427_in(T135) -> f465_in :|: TRUE 29.54/8.79 f465_out -> f427_out(x20) :|: TRUE 29.54/8.79 f461_in(T124) -> f445_in(T124) :|: TRUE 29.54/8.79 f445_out(x21) -> f461_out(x21) :|: TRUE 29.54/8.79 f50_out -> f45_out(x22) :|: TRUE 29.54/8.79 f45_in(x23) -> f49_in(x23) :|: TRUE 29.54/8.79 f45_in(x24) -> f50_in :|: TRUE 29.54/8.79 f49_out(x25) -> f45_out(x25) :|: TRUE 29.54/8.79 f320_in(x26) -> f371_in(x26) :|: TRUE 29.54/8.79 f371_out(x27) -> f320_out(x27) :|: TRUE 29.54/8.79 f413_in -> f413_out :|: TRUE 29.54/8.79 f451_out(x28) -> f450_out(x28) :|: TRUE 29.54/8.79 f450_in(x29) -> f452_in(x29) :|: TRUE 29.54/8.79 f450_in(x30) -> f451_in(x30) :|: TRUE 29.54/8.79 f452_out(x31) -> f450_out(x31) :|: TRUE 29.54/8.79 f432_in(x32) -> f445_in(x32) :|: TRUE 29.54/8.79 f445_out(x33) -> f446_in(x33) :|: TRUE 29.54/8.79 f446_out(x34) -> f432_out(x34) :|: TRUE 29.54/8.79 f419_in(T71) -> f380_in(T71) :|: TRUE 29.54/8.79 f380_out(x35) -> f419_out(x35) :|: TRUE 29.54/8.79 f454_in -> f454_out :|: TRUE 29.54/8.79 f426_in(x36) -> f433_in :|: TRUE 29.54/8.79 f426_in(x37) -> f432_in(x37) :|: TRUE 29.54/8.79 f433_out -> f426_out(x38) :|: TRUE 29.54/8.79 f432_out(x39) -> f426_out(x39) :|: TRUE 29.54/8.79 f465_in -> f465_out :|: TRUE 29.54/8.79 f446_in(x40) -> f381_in(x40) :|: TRUE 29.54/8.79 f381_out(x41) -> f446_out(x41) :|: TRUE 29.54/8.79 f22_out(x42) -> f322_out(x42) :|: TRUE 29.54/8.79 f322_in(x43) -> f22_in(x43) :|: TRUE 29.54/8.79 f24_in(x44) -> f45_in(x44) :|: TRUE 29.54/8.79 f45_out(x45) -> f24_out(x45) :|: TRUE 29.54/8.79 f24_in(x46) -> f46_in(x46) :|: TRUE 29.54/8.79 f46_out(x47) -> f24_out(x47) :|: TRUE 29.54/8.79 f380_out(x48) -> f381_in(x49) :|: TRUE 29.54/8.79 f381_out(x50) -> f375_out(x51) :|: TRUE 29.54/8.79 f375_in(x52) -> f380_in(x52) :|: TRUE 29.54/8.79 f412_in(.(x53, x54)) -> f419_in(x54) :|: TRUE 29.54/8.79 f412_in(x55) -> f420_in :|: TRUE 29.54/8.79 f420_out -> f412_out(x56) :|: TRUE 29.54/8.79 f419_out(x57) -> f412_out(.(x58, x57)) :|: TRUE 29.54/8.79 f451_in(.(T114, T115)) -> f454_in :|: TRUE 29.54/8.79 f455_out -> f451_out(x59) :|: TRUE 29.54/8.79 f454_out -> f451_out(.(x60, x61)) :|: TRUE 29.54/8.79 f451_in(x62) -> f455_in :|: TRUE 29.54/8.79 f462_out -> f452_out(x63) :|: TRUE 29.54/8.79 f452_in(x64) -> f462_in :|: TRUE 29.54/8.79 f452_in(.(x65, x66)) -> f461_in(x66) :|: TRUE 29.54/8.79 f461_out(x67) -> f452_out(.(x68, x67)) :|: TRUE 29.54/8.79 f411_in(x69) -> f414_in :|: TRUE 29.54/8.79 f413_out -> f411_out(.(T61, T62)) :|: TRUE 29.54/8.79 f411_in(.(x70, x71)) -> f413_in :|: TRUE 29.54/8.79 f414_out -> f411_out(x72) :|: TRUE 29.54/8.79 Start term: f22_in(T2) 29.54/8.79 29.54/8.79 ---------------------------------------- 29.54/8.79 29.54/8.79 (139) IRSwTSimpleDependencyGraphProof (EQUIVALENT) 29.54/8.79 Constructed simple dependency graph. 29.54/8.79 29.54/8.79 Simplified to the following IRSwTs: 29.54/8.79 29.54/8.79 intTRSProblem: 29.54/8.79 f375_out(T40) -> f371_out(T40) :|: TRUE 29.54/8.79 f371_in(x1) -> f375_in(x1) :|: TRUE 29.54/8.79 f380_in(x2) -> f382_in(x2) :|: TRUE 29.54/8.79 f382_out(x3) -> f380_out(x3) :|: TRUE 29.54/8.79 f49_in(x4) -> f320_in(x4) :|: TRUE 29.54/8.79 f320_out(x6) -> f322_in(x6) :|: TRUE 29.54/8.79 f450_out(T94) -> f445_out(T94) :|: TRUE 29.54/8.79 f445_in(x7) -> f450_in(x7) :|: TRUE 29.54/8.79 f22_in(x8) -> f24_in(x8) :|: TRUE 29.54/8.79 f411_out(x9) -> f382_out(x9) :|: TRUE 29.54/8.79 f382_in(x10) -> f411_in(x10) :|: TRUE 29.54/8.79 f412_out(x11) -> f382_out(x11) :|: TRUE 29.54/8.79 f382_in(x12) -> f412_in(x12) :|: TRUE 29.54/8.79 f381_in(T47) -> f425_in(T47) :|: TRUE 29.54/8.79 f425_out(x13) -> f381_out(x13) :|: TRUE 29.54/8.79 f425_in(x14) -> f427_in(x14) :|: TRUE 29.54/8.79 f426_out(x15) -> f425_out(x15) :|: TRUE 29.54/8.79 f427_out(x16) -> f425_out(x16) :|: TRUE 29.54/8.79 f425_in(x17) -> f426_in(x17) :|: TRUE 29.54/8.79 f427_in(T135) -> f465_in :|: TRUE 29.54/8.79 f465_out -> f427_out(x20) :|: TRUE 29.54/8.79 f461_in(T124) -> f445_in(T124) :|: TRUE 29.54/8.79 f445_out(x21) -> f461_out(x21) :|: TRUE 29.54/8.79 f45_in(x23) -> f49_in(x23) :|: TRUE 29.54/8.79 f320_in(x26) -> f371_in(x26) :|: TRUE 29.54/8.79 f371_out(x27) -> f320_out(x27) :|: TRUE 29.54/8.79 f413_in -> f413_out :|: TRUE 29.54/8.79 f451_out(x28) -> f450_out(x28) :|: TRUE 29.54/8.79 f450_in(x29) -> f452_in(x29) :|: TRUE 29.54/8.79 f450_in(x30) -> f451_in(x30) :|: TRUE 29.54/8.79 f452_out(x31) -> f450_out(x31) :|: TRUE 29.54/8.79 f432_in(x32) -> f445_in(x32) :|: TRUE 29.54/8.79 f445_out(x33) -> f446_in(x33) :|: TRUE 29.54/8.79 f446_out(x34) -> f432_out(x34) :|: TRUE 29.54/8.79 f419_in(T71) -> f380_in(T71) :|: TRUE 29.54/8.79 f380_out(x35) -> f419_out(x35) :|: TRUE 29.54/8.79 f454_in -> f454_out :|: TRUE 29.54/8.79 f426_in(x37) -> f432_in(x37) :|: TRUE 29.54/8.79 f432_out(x39) -> f426_out(x39) :|: TRUE 29.54/8.79 f465_in -> f465_out :|: TRUE 29.54/8.79 f446_in(x40) -> f381_in(x40) :|: TRUE 29.54/8.79 f381_out(x41) -> f446_out(x41) :|: TRUE 29.54/8.79 f322_in(x43) -> f22_in(x43) :|: TRUE 29.54/8.79 f24_in(x44) -> f45_in(x44) :|: TRUE 29.54/8.79 f380_out(x48) -> f381_in(x49) :|: TRUE 29.54/8.79 f381_out(x50) -> f375_out(x51) :|: TRUE 29.54/8.79 f375_in(x52) -> f380_in(x52) :|: TRUE 29.54/8.79 f412_in(.(x53, x54)) -> f419_in(x54) :|: TRUE 29.54/8.79 f419_out(x57) -> f412_out(.(x58, x57)) :|: TRUE 29.54/8.79 f451_in(.(T114, T115)) -> f454_in :|: TRUE 29.54/8.79 f454_out -> f451_out(.(x60, x61)) :|: TRUE 29.54/8.79 f452_in(.(x65, x66)) -> f461_in(x66) :|: TRUE 29.54/8.79 f461_out(x67) -> f452_out(.(x68, x67)) :|: TRUE 29.54/8.79 f413_out -> f411_out(.(T61, T62)) :|: TRUE 29.54/8.79 f411_in(.(x70, x71)) -> f413_in :|: TRUE 29.54/8.79 29.54/8.79 29.54/8.79 ---------------------------------------- 29.54/8.79 29.54/8.79 (140) 29.54/8.79 Obligation: 29.54/8.79 Rules: 29.54/8.79 f375_out(T40) -> f371_out(T40) :|: TRUE 29.54/8.79 f371_in(x1) -> f375_in(x1) :|: TRUE 29.54/8.79 f380_in(x2) -> f382_in(x2) :|: TRUE 29.54/8.79 f382_out(x3) -> f380_out(x3) :|: TRUE 29.54/8.79 f49_in(x4) -> f320_in(x4) :|: TRUE 29.54/8.79 f320_out(x6) -> f322_in(x6) :|: TRUE 29.54/8.79 f450_out(T94) -> f445_out(T94) :|: TRUE 29.54/8.79 f445_in(x7) -> f450_in(x7) :|: TRUE 29.54/8.79 f22_in(x8) -> f24_in(x8) :|: TRUE 29.54/8.79 f411_out(x9) -> f382_out(x9) :|: TRUE 29.54/8.79 f382_in(x10) -> f411_in(x10) :|: TRUE 29.54/8.79 f412_out(x11) -> f382_out(x11) :|: TRUE 29.54/8.79 f382_in(x12) -> f412_in(x12) :|: TRUE 29.54/8.79 f381_in(T47) -> f425_in(T47) :|: TRUE 29.54/8.79 f425_out(x13) -> f381_out(x13) :|: TRUE 29.54/8.79 f425_in(x14) -> f427_in(x14) :|: TRUE 29.54/8.79 f426_out(x15) -> f425_out(x15) :|: TRUE 29.54/8.79 f427_out(x16) -> f425_out(x16) :|: TRUE 29.54/8.79 f425_in(x17) -> f426_in(x17) :|: TRUE 29.54/8.79 f427_in(T135) -> f465_in :|: TRUE 29.54/8.79 f465_out -> f427_out(x20) :|: TRUE 29.54/8.79 f461_in(T124) -> f445_in(T124) :|: TRUE 29.54/8.79 f445_out(x21) -> f461_out(x21) :|: TRUE 29.54/8.79 f45_in(x23) -> f49_in(x23) :|: TRUE 29.54/8.79 f320_in(x26) -> f371_in(x26) :|: TRUE 29.54/8.79 f371_out(x27) -> f320_out(x27) :|: TRUE 29.54/8.79 f413_in -> f413_out :|: TRUE 29.54/8.79 f451_out(x28) -> f450_out(x28) :|: TRUE 29.54/8.79 f450_in(x29) -> f452_in(x29) :|: TRUE 29.54/8.79 f450_in(x30) -> f451_in(x30) :|: TRUE 29.54/8.79 f452_out(x31) -> f450_out(x31) :|: TRUE 29.54/8.79 f432_in(x32) -> f445_in(x32) :|: TRUE 29.54/8.79 f445_out(x33) -> f446_in(x33) :|: TRUE 29.54/8.79 f446_out(x34) -> f432_out(x34) :|: TRUE 29.54/8.79 f419_in(T71) -> f380_in(T71) :|: TRUE 29.54/8.79 f380_out(x35) -> f419_out(x35) :|: TRUE 29.54/8.79 f454_in -> f454_out :|: TRUE 29.54/8.79 f426_in(x37) -> f432_in(x37) :|: TRUE 29.54/8.79 f432_out(x39) -> f426_out(x39) :|: TRUE 29.54/8.79 f465_in -> f465_out :|: TRUE 29.54/8.79 f446_in(x40) -> f381_in(x40) :|: TRUE 29.54/8.79 f381_out(x41) -> f446_out(x41) :|: TRUE 29.54/8.79 f322_in(x43) -> f22_in(x43) :|: TRUE 29.54/8.79 f24_in(x44) -> f45_in(x44) :|: TRUE 29.54/8.79 f380_out(x48) -> f381_in(x49) :|: TRUE 29.54/8.79 f381_out(x50) -> f375_out(x51) :|: TRUE 29.54/8.79 f375_in(x52) -> f380_in(x52) :|: TRUE 29.54/8.79 f412_in(.(x53, x54)) -> f419_in(x54) :|: TRUE 29.54/8.79 f419_out(x57) -> f412_out(.(x58, x57)) :|: TRUE 29.54/8.79 f451_in(.(T114, T115)) -> f454_in :|: TRUE 29.54/8.79 f454_out -> f451_out(.(x60, x61)) :|: TRUE 29.54/8.79 f452_in(.(x65, x66)) -> f461_in(x66) :|: TRUE 29.54/8.79 f461_out(x67) -> f452_out(.(x68, x67)) :|: TRUE 29.54/8.79 f413_out -> f411_out(.(T61, T62)) :|: TRUE 29.54/8.79 f411_in(.(x70, x71)) -> f413_in :|: TRUE 29.54/8.79 29.54/8.79 ---------------------------------------- 29.54/8.79 29.54/8.79 (141) IntTRSCompressionProof (EQUIVALENT) 29.54/8.79 Compressed rules. 29.54/8.79 ---------------------------------------- 29.54/8.79 29.54/8.79 (142) 29.54/8.79 Obligation: 29.54/8.79 Rules: 29.54/8.79 f380_in(.(x53:0, x54:0)) -> f380_in(x54:0) :|: TRUE 29.54/8.79 f382_out(x3:0) -> f381_in(x49:0) :|: TRUE 29.54/8.79 f425_out(x13:0) -> f425_out(x13:0) :|: TRUE 29.54/8.79 f425_out(x) -> f380_in(x1) :|: TRUE 29.54/8.79 f380_in(.(x70:0, x71:0)) -> f382_out(.(T61:0, T62:0)) :|: TRUE 29.54/8.79 f450_out(T94:0) -> f381_in(T94:0) :|: TRUE 29.54/8.79 f445_in(.(x65:0, x66:0)) -> f445_in(x66:0) :|: TRUE 29.54/8.79 f445_in(.(T114:0, T115:0)) -> f450_out(.(x60:0, x61:0)) :|: TRUE 29.54/8.79 f450_out(x2) -> f450_out(.(x3, x2)) :|: TRUE 29.54/8.79 f381_in(T47:0) -> f445_in(T47:0) :|: TRUE 29.54/8.79 f381_in(x4) -> f425_out(x5) :|: TRUE 29.54/8.79 f382_out(x6) -> f382_out(.(x7, x6)) :|: TRUE 29.54/8.79 29.54/8.79 ---------------------------------------- 29.54/8.79 29.54/8.79 (143) IRSFormatTransformerProof (EQUIVALENT) 29.54/8.79 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 29.54/8.79 ---------------------------------------- 29.54/8.79 29.54/8.79 (144) 29.54/8.79 Obligation: 29.54/8.79 Rules: 29.54/8.79 f380_in(.(x53:0, x54:0)) -> f380_in(x54:0) :|: TRUE 29.54/8.79 f382_out(x3:0) -> f381_in(x49:0) :|: TRUE 29.54/8.79 f425_out(x13:0) -> f425_out(x13:0) :|: TRUE 29.54/8.79 f425_out(x) -> f380_in(x1) :|: TRUE 29.54/8.79 f380_in(.(x70:0, x71:0)) -> f382_out(.(T61:0, T62:0)) :|: TRUE 29.54/8.79 f450_out(T94:0) -> f381_in(T94:0) :|: TRUE 29.54/8.79 f445_in(.(x65:0, x66:0)) -> f445_in(x66:0) :|: TRUE 29.54/8.79 f445_in(.(T114:0, T115:0)) -> f450_out(.(x60:0, x61:0)) :|: TRUE 29.54/8.79 f450_out(x2) -> f450_out(.(x3, x2)) :|: TRUE 29.54/8.79 f381_in(T47:0) -> f445_in(T47:0) :|: TRUE 29.54/8.79 f381_in(x4) -> f425_out(x5) :|: TRUE 29.54/8.79 f382_out(x6) -> f382_out(.(x7, x6)) :|: TRUE 29.54/8.79 29.54/8.79 ---------------------------------------- 29.54/8.79 29.54/8.79 (145) IRSwTTerminationDigraphProof (EQUIVALENT) 29.54/8.79 Constructed termination digraph! 29.54/8.79 Nodes: 29.54/8.79 (1) f380_in(.(x53:0, x54:0)) -> f380_in(x54:0) :|: TRUE 29.54/8.79 (2) f382_out(x3:0) -> f381_in(x49:0) :|: TRUE 29.54/8.79 (3) f425_out(x13:0) -> f425_out(x13:0) :|: TRUE 29.54/8.79 (4) f425_out(x) -> f380_in(x1) :|: TRUE 29.54/8.79 (5) f380_in(.(x70:0, x71:0)) -> f382_out(.(T61:0, T62:0)) :|: TRUE 29.54/8.79 (6) f450_out(T94:0) -> f381_in(T94:0) :|: TRUE 29.54/8.79 (7) f445_in(.(x65:0, x66:0)) -> f445_in(x66:0) :|: TRUE 29.54/8.79 (8) f445_in(.(T114:0, T115:0)) -> f450_out(.(x60:0, x61:0)) :|: TRUE 29.54/8.79 (9) f450_out(x2) -> f450_out(.(x3, x2)) :|: TRUE 29.54/8.79 (10) f381_in(T47:0) -> f445_in(T47:0) :|: TRUE 29.54/8.79 (11) f381_in(x4) -> f425_out(x5) :|: TRUE 29.54/8.79 (12) f382_out(x6) -> f382_out(.(x7, x6)) :|: TRUE 29.54/8.79 29.54/8.79 Arcs: 29.54/8.79 (1) -> (1), (5) 29.54/8.79 (2) -> (10), (11) 29.54/8.79 (3) -> (3), (4) 29.54/8.79 (4) -> (1), (5) 29.54/8.79 (5) -> (2), (12) 29.54/8.79 (6) -> (10), (11) 29.54/8.79 (7) -> (7), (8) 29.54/8.79 (8) -> (6), (9) 29.54/8.79 (9) -> (6), (9) 29.54/8.79 (10) -> (7), (8) 29.54/8.79 (11) -> (3), (4) 29.54/8.79 (12) -> (2), (12) 29.54/8.79 29.54/8.79 This digraph is fully evaluated! 29.54/8.79 ---------------------------------------- 29.54/8.79 29.54/8.79 (146) 29.54/8.79 Obligation: 29.54/8.79 29.54/8.79 Termination digraph: 29.54/8.79 Nodes: 29.54/8.79 (1) f380_in(.(x53:0, x54:0)) -> f380_in(x54:0) :|: TRUE 29.54/8.79 (2) f425_out(x) -> f380_in(x1) :|: TRUE 29.54/8.79 (3) f425_out(x13:0) -> f425_out(x13:0) :|: TRUE 29.54/8.79 (4) f381_in(x4) -> f425_out(x5) :|: TRUE 29.54/8.79 (5) f450_out(T94:0) -> f381_in(T94:0) :|: TRUE 29.54/8.79 (6) f450_out(x2) -> f450_out(.(x3, x2)) :|: TRUE 29.54/8.79 (7) f445_in(.(T114:0, T115:0)) -> f450_out(.(x60:0, x61:0)) :|: TRUE 29.54/8.79 (8) f445_in(.(x65:0, x66:0)) -> f445_in(x66:0) :|: TRUE 29.54/8.79 (9) f381_in(T47:0) -> f445_in(T47:0) :|: TRUE 29.54/8.79 (10) f382_out(x3:0) -> f381_in(x49:0) :|: TRUE 29.54/8.79 (11) f382_out(x6) -> f382_out(.(x7, x6)) :|: TRUE 29.54/8.79 (12) f380_in(.(x70:0, x71:0)) -> f382_out(.(T61:0, T62:0)) :|: TRUE 29.54/8.79 29.54/8.79 Arcs: 29.54/8.79 (1) -> (1), (12) 29.54/8.79 (2) -> (1), (12) 29.54/8.79 (3) -> (2), (3) 29.54/8.79 (4) -> (2), (3) 29.54/8.79 (5) -> (4), (9) 29.54/8.79 (6) -> (5), (6) 29.54/8.79 (7) -> (5), (6) 29.54/8.79 (8) -> (7), (8) 29.54/8.79 (9) -> (7), (8) 29.54/8.79 (10) -> (4), (9) 29.54/8.79 (11) -> (10), (11) 29.54/8.79 (12) -> (10), (11) 29.54/8.79 29.54/8.79 This digraph is fully evaluated! 29.67/10.44 EOF