↳ PROLOG
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
With regard to the inferred argument filtering the predicates were used in the following modes:
color_map2: (f,b)
color_region2: (f,b)
select3: (f,b,f)
members2: (f,b)
member2: (f,b)
Transforming PROLOG into the following Term Rewriting System:
Pi-finite rewrite system:
The TRS R consists of the following rules:
color_map_2_in_ag2(._22(Region, Regions), Colors) -> if_color_map_2_in_1_ag4(Region, Regions, Colors, color_region_2_in_ag2(Region, Colors))
color_region_2_in_ag2(region_33(Name, Color, Neighbors), Colors) -> if_color_region_2_in_1_ag5(Name, Color, Neighbors, Colors, select_3_in_aga3(Color, Colors, Colors1))
select_3_in_aga3(X, ._22(X, Xs), Xs) -> select_3_out_aga3(X, ._22(X, Xs), Xs)
select_3_in_aga3(X, ._22(Y, Ys), ._22(Y, Zs)) -> if_select_3_in_1_aga5(X, Y, Ys, Zs, select_3_in_aga3(X, Ys, Zs))
if_select_3_in_1_aga5(X, Y, Ys, Zs, select_3_out_aga3(X, Ys, Zs)) -> select_3_out_aga3(X, ._22(Y, Ys), ._22(Y, Zs))
if_color_region_2_in_1_ag5(Name, Color, Neighbors, Colors, select_3_out_aga3(Color, Colors, Colors1)) -> if_color_region_2_in_2_ag6(Name, Color, Neighbors, Colors, Colors1, members_2_in_ag2(Neighbors, Colors1))
members_2_in_ag2(._22(X, Xs), Ys) -> if_members_2_in_1_ag4(X, Xs, Ys, member_2_in_ag2(X, Ys))
member_2_in_ag2(X, ._22(X, underscore)) -> member_2_out_ag2(X, ._22(X, underscore))
member_2_in_ag2(X, ._22(underscore1, Xs)) -> if_member_2_in_1_ag4(X, underscore1, Xs, member_2_in_ag2(X, Xs))
if_member_2_in_1_ag4(X, underscore1, Xs, member_2_out_ag2(X, Xs)) -> member_2_out_ag2(X, ._22(underscore1, Xs))
if_members_2_in_1_ag4(X, Xs, Ys, member_2_out_ag2(X, Ys)) -> if_members_2_in_2_ag4(X, Xs, Ys, members_2_in_ag2(Xs, Ys))
members_2_in_ag2([]_0, Ys) -> members_2_out_ag2([]_0, Ys)
if_members_2_in_2_ag4(X, Xs, Ys, members_2_out_ag2(Xs, Ys)) -> members_2_out_ag2(._22(X, Xs), Ys)
if_color_region_2_in_2_ag6(Name, Color, Neighbors, Colors, Colors1, members_2_out_ag2(Neighbors, Colors1)) -> color_region_2_out_ag2(region_33(Name, Color, Neighbors), Colors)
if_color_map_2_in_1_ag4(Region, Regions, Colors, color_region_2_out_ag2(Region, Colors)) -> if_color_map_2_in_2_ag4(Region, Regions, Colors, color_map_2_in_ag2(Regions, Colors))
color_map_2_in_ag2([]_0, Colors) -> color_map_2_out_ag2([]_0, Colors)
if_color_map_2_in_2_ag4(Region, Regions, Colors, color_map_2_out_ag2(Regions, Colors)) -> color_map_2_out_ag2(._22(Region, Regions), Colors)
Infinitary Constructor Rewriting Termination of PiTRS implies Termination of PROLOG
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PrologToPiTRSProof
color_map_2_in_ag2(._22(Region, Regions), Colors) -> if_color_map_2_in_1_ag4(Region, Regions, Colors, color_region_2_in_ag2(Region, Colors))
color_region_2_in_ag2(region_33(Name, Color, Neighbors), Colors) -> if_color_region_2_in_1_ag5(Name, Color, Neighbors, Colors, select_3_in_aga3(Color, Colors, Colors1))
select_3_in_aga3(X, ._22(X, Xs), Xs) -> select_3_out_aga3(X, ._22(X, Xs), Xs)
select_3_in_aga3(X, ._22(Y, Ys), ._22(Y, Zs)) -> if_select_3_in_1_aga5(X, Y, Ys, Zs, select_3_in_aga3(X, Ys, Zs))
if_select_3_in_1_aga5(X, Y, Ys, Zs, select_3_out_aga3(X, Ys, Zs)) -> select_3_out_aga3(X, ._22(Y, Ys), ._22(Y, Zs))
if_color_region_2_in_1_ag5(Name, Color, Neighbors, Colors, select_3_out_aga3(Color, Colors, Colors1)) -> if_color_region_2_in_2_ag6(Name, Color, Neighbors, Colors, Colors1, members_2_in_ag2(Neighbors, Colors1))
members_2_in_ag2(._22(X, Xs), Ys) -> if_members_2_in_1_ag4(X, Xs, Ys, member_2_in_ag2(X, Ys))
member_2_in_ag2(X, ._22(X, underscore)) -> member_2_out_ag2(X, ._22(X, underscore))
member_2_in_ag2(X, ._22(underscore1, Xs)) -> if_member_2_in_1_ag4(X, underscore1, Xs, member_2_in_ag2(X, Xs))
if_member_2_in_1_ag4(X, underscore1, Xs, member_2_out_ag2(X, Xs)) -> member_2_out_ag2(X, ._22(underscore1, Xs))
if_members_2_in_1_ag4(X, Xs, Ys, member_2_out_ag2(X, Ys)) -> if_members_2_in_2_ag4(X, Xs, Ys, members_2_in_ag2(Xs, Ys))
members_2_in_ag2([]_0, Ys) -> members_2_out_ag2([]_0, Ys)
if_members_2_in_2_ag4(X, Xs, Ys, members_2_out_ag2(Xs, Ys)) -> members_2_out_ag2(._22(X, Xs), Ys)
if_color_region_2_in_2_ag6(Name, Color, Neighbors, Colors, Colors1, members_2_out_ag2(Neighbors, Colors1)) -> color_region_2_out_ag2(region_33(Name, Color, Neighbors), Colors)
if_color_map_2_in_1_ag4(Region, Regions, Colors, color_region_2_out_ag2(Region, Colors)) -> if_color_map_2_in_2_ag4(Region, Regions, Colors, color_map_2_in_ag2(Regions, Colors))
color_map_2_in_ag2([]_0, Colors) -> color_map_2_out_ag2([]_0, Colors)
if_color_map_2_in_2_ag4(Region, Regions, Colors, color_map_2_out_ag2(Regions, Colors)) -> color_map_2_out_ag2(._22(Region, Regions), Colors)
COLOR_MAP_2_IN_AG2(._22(Region, Regions), Colors) -> IF_COLOR_MAP_2_IN_1_AG4(Region, Regions, Colors, color_region_2_in_ag2(Region, Colors))
COLOR_MAP_2_IN_AG2(._22(Region, Regions), Colors) -> COLOR_REGION_2_IN_AG2(Region, Colors)
COLOR_REGION_2_IN_AG2(region_33(Name, Color, Neighbors), Colors) -> IF_COLOR_REGION_2_IN_1_AG5(Name, Color, Neighbors, Colors, select_3_in_aga3(Color, Colors, Colors1))
COLOR_REGION_2_IN_AG2(region_33(Name, Color, Neighbors), Colors) -> SELECT_3_IN_AGA3(Color, Colors, Colors1)
SELECT_3_IN_AGA3(X, ._22(Y, Ys), ._22(Y, Zs)) -> IF_SELECT_3_IN_1_AGA5(X, Y, Ys, Zs, select_3_in_aga3(X, Ys, Zs))
SELECT_3_IN_AGA3(X, ._22(Y, Ys), ._22(Y, Zs)) -> SELECT_3_IN_AGA3(X, Ys, Zs)
IF_COLOR_REGION_2_IN_1_AG5(Name, Color, Neighbors, Colors, select_3_out_aga3(Color, Colors, Colors1)) -> IF_COLOR_REGION_2_IN_2_AG6(Name, Color, Neighbors, Colors, Colors1, members_2_in_ag2(Neighbors, Colors1))
IF_COLOR_REGION_2_IN_1_AG5(Name, Color, Neighbors, Colors, select_3_out_aga3(Color, Colors, Colors1)) -> MEMBERS_2_IN_AG2(Neighbors, Colors1)
MEMBERS_2_IN_AG2(._22(X, Xs), Ys) -> IF_MEMBERS_2_IN_1_AG4(X, Xs, Ys, member_2_in_ag2(X, Ys))
MEMBERS_2_IN_AG2(._22(X, Xs), Ys) -> MEMBER_2_IN_AG2(X, Ys)
MEMBER_2_IN_AG2(X, ._22(underscore1, Xs)) -> IF_MEMBER_2_IN_1_AG4(X, underscore1, Xs, member_2_in_ag2(X, Xs))
MEMBER_2_IN_AG2(X, ._22(underscore1, Xs)) -> MEMBER_2_IN_AG2(X, Xs)
IF_MEMBERS_2_IN_1_AG4(X, Xs, Ys, member_2_out_ag2(X, Ys)) -> IF_MEMBERS_2_IN_2_AG4(X, Xs, Ys, members_2_in_ag2(Xs, Ys))
IF_MEMBERS_2_IN_1_AG4(X, Xs, Ys, member_2_out_ag2(X, Ys)) -> MEMBERS_2_IN_AG2(Xs, Ys)
IF_COLOR_MAP_2_IN_1_AG4(Region, Regions, Colors, color_region_2_out_ag2(Region, Colors)) -> IF_COLOR_MAP_2_IN_2_AG4(Region, Regions, Colors, color_map_2_in_ag2(Regions, Colors))
IF_COLOR_MAP_2_IN_1_AG4(Region, Regions, Colors, color_region_2_out_ag2(Region, Colors)) -> COLOR_MAP_2_IN_AG2(Regions, Colors)
color_map_2_in_ag2(._22(Region, Regions), Colors) -> if_color_map_2_in_1_ag4(Region, Regions, Colors, color_region_2_in_ag2(Region, Colors))
color_region_2_in_ag2(region_33(Name, Color, Neighbors), Colors) -> if_color_region_2_in_1_ag5(Name, Color, Neighbors, Colors, select_3_in_aga3(Color, Colors, Colors1))
select_3_in_aga3(X, ._22(X, Xs), Xs) -> select_3_out_aga3(X, ._22(X, Xs), Xs)
select_3_in_aga3(X, ._22(Y, Ys), ._22(Y, Zs)) -> if_select_3_in_1_aga5(X, Y, Ys, Zs, select_3_in_aga3(X, Ys, Zs))
if_select_3_in_1_aga5(X, Y, Ys, Zs, select_3_out_aga3(X, Ys, Zs)) -> select_3_out_aga3(X, ._22(Y, Ys), ._22(Y, Zs))
if_color_region_2_in_1_ag5(Name, Color, Neighbors, Colors, select_3_out_aga3(Color, Colors, Colors1)) -> if_color_region_2_in_2_ag6(Name, Color, Neighbors, Colors, Colors1, members_2_in_ag2(Neighbors, Colors1))
members_2_in_ag2(._22(X, Xs), Ys) -> if_members_2_in_1_ag4(X, Xs, Ys, member_2_in_ag2(X, Ys))
member_2_in_ag2(X, ._22(X, underscore)) -> member_2_out_ag2(X, ._22(X, underscore))
member_2_in_ag2(X, ._22(underscore1, Xs)) -> if_member_2_in_1_ag4(X, underscore1, Xs, member_2_in_ag2(X, Xs))
if_member_2_in_1_ag4(X, underscore1, Xs, member_2_out_ag2(X, Xs)) -> member_2_out_ag2(X, ._22(underscore1, Xs))
if_members_2_in_1_ag4(X, Xs, Ys, member_2_out_ag2(X, Ys)) -> if_members_2_in_2_ag4(X, Xs, Ys, members_2_in_ag2(Xs, Ys))
members_2_in_ag2([]_0, Ys) -> members_2_out_ag2([]_0, Ys)
if_members_2_in_2_ag4(X, Xs, Ys, members_2_out_ag2(Xs, Ys)) -> members_2_out_ag2(._22(X, Xs), Ys)
if_color_region_2_in_2_ag6(Name, Color, Neighbors, Colors, Colors1, members_2_out_ag2(Neighbors, Colors1)) -> color_region_2_out_ag2(region_33(Name, Color, Neighbors), Colors)
if_color_map_2_in_1_ag4(Region, Regions, Colors, color_region_2_out_ag2(Region, Colors)) -> if_color_map_2_in_2_ag4(Region, Regions, Colors, color_map_2_in_ag2(Regions, Colors))
color_map_2_in_ag2([]_0, Colors) -> color_map_2_out_ag2([]_0, Colors)
if_color_map_2_in_2_ag4(Region, Regions, Colors, color_map_2_out_ag2(Regions, Colors)) -> color_map_2_out_ag2(._22(Region, Regions), Colors)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ PrologToPiTRSProof
COLOR_MAP_2_IN_AG2(._22(Region, Regions), Colors) -> IF_COLOR_MAP_2_IN_1_AG4(Region, Regions, Colors, color_region_2_in_ag2(Region, Colors))
COLOR_MAP_2_IN_AG2(._22(Region, Regions), Colors) -> COLOR_REGION_2_IN_AG2(Region, Colors)
COLOR_REGION_2_IN_AG2(region_33(Name, Color, Neighbors), Colors) -> IF_COLOR_REGION_2_IN_1_AG5(Name, Color, Neighbors, Colors, select_3_in_aga3(Color, Colors, Colors1))
COLOR_REGION_2_IN_AG2(region_33(Name, Color, Neighbors), Colors) -> SELECT_3_IN_AGA3(Color, Colors, Colors1)
SELECT_3_IN_AGA3(X, ._22(Y, Ys), ._22(Y, Zs)) -> IF_SELECT_3_IN_1_AGA5(X, Y, Ys, Zs, select_3_in_aga3(X, Ys, Zs))
SELECT_3_IN_AGA3(X, ._22(Y, Ys), ._22(Y, Zs)) -> SELECT_3_IN_AGA3(X, Ys, Zs)
IF_COLOR_REGION_2_IN_1_AG5(Name, Color, Neighbors, Colors, select_3_out_aga3(Color, Colors, Colors1)) -> IF_COLOR_REGION_2_IN_2_AG6(Name, Color, Neighbors, Colors, Colors1, members_2_in_ag2(Neighbors, Colors1))
IF_COLOR_REGION_2_IN_1_AG5(Name, Color, Neighbors, Colors, select_3_out_aga3(Color, Colors, Colors1)) -> MEMBERS_2_IN_AG2(Neighbors, Colors1)
MEMBERS_2_IN_AG2(._22(X, Xs), Ys) -> IF_MEMBERS_2_IN_1_AG4(X, Xs, Ys, member_2_in_ag2(X, Ys))
MEMBERS_2_IN_AG2(._22(X, Xs), Ys) -> MEMBER_2_IN_AG2(X, Ys)
MEMBER_2_IN_AG2(X, ._22(underscore1, Xs)) -> IF_MEMBER_2_IN_1_AG4(X, underscore1, Xs, member_2_in_ag2(X, Xs))
MEMBER_2_IN_AG2(X, ._22(underscore1, Xs)) -> MEMBER_2_IN_AG2(X, Xs)
IF_MEMBERS_2_IN_1_AG4(X, Xs, Ys, member_2_out_ag2(X, Ys)) -> IF_MEMBERS_2_IN_2_AG4(X, Xs, Ys, members_2_in_ag2(Xs, Ys))
IF_MEMBERS_2_IN_1_AG4(X, Xs, Ys, member_2_out_ag2(X, Ys)) -> MEMBERS_2_IN_AG2(Xs, Ys)
IF_COLOR_MAP_2_IN_1_AG4(Region, Regions, Colors, color_region_2_out_ag2(Region, Colors)) -> IF_COLOR_MAP_2_IN_2_AG4(Region, Regions, Colors, color_map_2_in_ag2(Regions, Colors))
IF_COLOR_MAP_2_IN_1_AG4(Region, Regions, Colors, color_region_2_out_ag2(Region, Colors)) -> COLOR_MAP_2_IN_AG2(Regions, Colors)
color_map_2_in_ag2(._22(Region, Regions), Colors) -> if_color_map_2_in_1_ag4(Region, Regions, Colors, color_region_2_in_ag2(Region, Colors))
color_region_2_in_ag2(region_33(Name, Color, Neighbors), Colors) -> if_color_region_2_in_1_ag5(Name, Color, Neighbors, Colors, select_3_in_aga3(Color, Colors, Colors1))
select_3_in_aga3(X, ._22(X, Xs), Xs) -> select_3_out_aga3(X, ._22(X, Xs), Xs)
select_3_in_aga3(X, ._22(Y, Ys), ._22(Y, Zs)) -> if_select_3_in_1_aga5(X, Y, Ys, Zs, select_3_in_aga3(X, Ys, Zs))
if_select_3_in_1_aga5(X, Y, Ys, Zs, select_3_out_aga3(X, Ys, Zs)) -> select_3_out_aga3(X, ._22(Y, Ys), ._22(Y, Zs))
if_color_region_2_in_1_ag5(Name, Color, Neighbors, Colors, select_3_out_aga3(Color, Colors, Colors1)) -> if_color_region_2_in_2_ag6(Name, Color, Neighbors, Colors, Colors1, members_2_in_ag2(Neighbors, Colors1))
members_2_in_ag2(._22(X, Xs), Ys) -> if_members_2_in_1_ag4(X, Xs, Ys, member_2_in_ag2(X, Ys))
member_2_in_ag2(X, ._22(X, underscore)) -> member_2_out_ag2(X, ._22(X, underscore))
member_2_in_ag2(X, ._22(underscore1, Xs)) -> if_member_2_in_1_ag4(X, underscore1, Xs, member_2_in_ag2(X, Xs))
if_member_2_in_1_ag4(X, underscore1, Xs, member_2_out_ag2(X, Xs)) -> member_2_out_ag2(X, ._22(underscore1, Xs))
if_members_2_in_1_ag4(X, Xs, Ys, member_2_out_ag2(X, Ys)) -> if_members_2_in_2_ag4(X, Xs, Ys, members_2_in_ag2(Xs, Ys))
members_2_in_ag2([]_0, Ys) -> members_2_out_ag2([]_0, Ys)
if_members_2_in_2_ag4(X, Xs, Ys, members_2_out_ag2(Xs, Ys)) -> members_2_out_ag2(._22(X, Xs), Ys)
if_color_region_2_in_2_ag6(Name, Color, Neighbors, Colors, Colors1, members_2_out_ag2(Neighbors, Colors1)) -> color_region_2_out_ag2(region_33(Name, Color, Neighbors), Colors)
if_color_map_2_in_1_ag4(Region, Regions, Colors, color_region_2_out_ag2(Region, Colors)) -> if_color_map_2_in_2_ag4(Region, Regions, Colors, color_map_2_in_ag2(Regions, Colors))
color_map_2_in_ag2([]_0, Colors) -> color_map_2_out_ag2([]_0, Colors)
if_color_map_2_in_2_ag4(Region, Regions, Colors, color_map_2_out_ag2(Regions, Colors)) -> color_map_2_out_ag2(._22(Region, Regions), Colors)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDP
↳ PiDP
↳ PrologToPiTRSProof
MEMBER_2_IN_AG2(X, ._22(underscore1, Xs)) -> MEMBER_2_IN_AG2(X, Xs)
color_map_2_in_ag2(._22(Region, Regions), Colors) -> if_color_map_2_in_1_ag4(Region, Regions, Colors, color_region_2_in_ag2(Region, Colors))
color_region_2_in_ag2(region_33(Name, Color, Neighbors), Colors) -> if_color_region_2_in_1_ag5(Name, Color, Neighbors, Colors, select_3_in_aga3(Color, Colors, Colors1))
select_3_in_aga3(X, ._22(X, Xs), Xs) -> select_3_out_aga3(X, ._22(X, Xs), Xs)
select_3_in_aga3(X, ._22(Y, Ys), ._22(Y, Zs)) -> if_select_3_in_1_aga5(X, Y, Ys, Zs, select_3_in_aga3(X, Ys, Zs))
if_select_3_in_1_aga5(X, Y, Ys, Zs, select_3_out_aga3(X, Ys, Zs)) -> select_3_out_aga3(X, ._22(Y, Ys), ._22(Y, Zs))
if_color_region_2_in_1_ag5(Name, Color, Neighbors, Colors, select_3_out_aga3(Color, Colors, Colors1)) -> if_color_region_2_in_2_ag6(Name, Color, Neighbors, Colors, Colors1, members_2_in_ag2(Neighbors, Colors1))
members_2_in_ag2(._22(X, Xs), Ys) -> if_members_2_in_1_ag4(X, Xs, Ys, member_2_in_ag2(X, Ys))
member_2_in_ag2(X, ._22(X, underscore)) -> member_2_out_ag2(X, ._22(X, underscore))
member_2_in_ag2(X, ._22(underscore1, Xs)) -> if_member_2_in_1_ag4(X, underscore1, Xs, member_2_in_ag2(X, Xs))
if_member_2_in_1_ag4(X, underscore1, Xs, member_2_out_ag2(X, Xs)) -> member_2_out_ag2(X, ._22(underscore1, Xs))
if_members_2_in_1_ag4(X, Xs, Ys, member_2_out_ag2(X, Ys)) -> if_members_2_in_2_ag4(X, Xs, Ys, members_2_in_ag2(Xs, Ys))
members_2_in_ag2([]_0, Ys) -> members_2_out_ag2([]_0, Ys)
if_members_2_in_2_ag4(X, Xs, Ys, members_2_out_ag2(Xs, Ys)) -> members_2_out_ag2(._22(X, Xs), Ys)
if_color_region_2_in_2_ag6(Name, Color, Neighbors, Colors, Colors1, members_2_out_ag2(Neighbors, Colors1)) -> color_region_2_out_ag2(region_33(Name, Color, Neighbors), Colors)
if_color_map_2_in_1_ag4(Region, Regions, Colors, color_region_2_out_ag2(Region, Colors)) -> if_color_map_2_in_2_ag4(Region, Regions, Colors, color_map_2_in_ag2(Regions, Colors))
color_map_2_in_ag2([]_0, Colors) -> color_map_2_out_ag2([]_0, Colors)
if_color_map_2_in_2_ag4(Region, Regions, Colors, color_map_2_out_ag2(Regions, Colors)) -> color_map_2_out_ag2(._22(Region, Regions), Colors)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ PiDP
↳ PiDP
↳ PiDP
↳ PrologToPiTRSProof
MEMBER_2_IN_AG2(X, ._22(underscore1, Xs)) -> MEMBER_2_IN_AG2(X, Xs)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ QDPSizeChangeProof
↳ PiDP
↳ PiDP
↳ PiDP
↳ PrologToPiTRSProof
MEMBER_2_IN_AG1(._22(underscore1, Xs)) -> MEMBER_2_IN_AG1(Xs)
From the DPs we obtained the following set of size-change graphs:
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDP
↳ PrologToPiTRSProof
MEMBERS_2_IN_AG2(._22(X, Xs), Ys) -> IF_MEMBERS_2_IN_1_AG4(X, Xs, Ys, member_2_in_ag2(X, Ys))
IF_MEMBERS_2_IN_1_AG4(X, Xs, Ys, member_2_out_ag2(X, Ys)) -> MEMBERS_2_IN_AG2(Xs, Ys)
color_map_2_in_ag2(._22(Region, Regions), Colors) -> if_color_map_2_in_1_ag4(Region, Regions, Colors, color_region_2_in_ag2(Region, Colors))
color_region_2_in_ag2(region_33(Name, Color, Neighbors), Colors) -> if_color_region_2_in_1_ag5(Name, Color, Neighbors, Colors, select_3_in_aga3(Color, Colors, Colors1))
select_3_in_aga3(X, ._22(X, Xs), Xs) -> select_3_out_aga3(X, ._22(X, Xs), Xs)
select_3_in_aga3(X, ._22(Y, Ys), ._22(Y, Zs)) -> if_select_3_in_1_aga5(X, Y, Ys, Zs, select_3_in_aga3(X, Ys, Zs))
if_select_3_in_1_aga5(X, Y, Ys, Zs, select_3_out_aga3(X, Ys, Zs)) -> select_3_out_aga3(X, ._22(Y, Ys), ._22(Y, Zs))
if_color_region_2_in_1_ag5(Name, Color, Neighbors, Colors, select_3_out_aga3(Color, Colors, Colors1)) -> if_color_region_2_in_2_ag6(Name, Color, Neighbors, Colors, Colors1, members_2_in_ag2(Neighbors, Colors1))
members_2_in_ag2(._22(X, Xs), Ys) -> if_members_2_in_1_ag4(X, Xs, Ys, member_2_in_ag2(X, Ys))
member_2_in_ag2(X, ._22(X, underscore)) -> member_2_out_ag2(X, ._22(X, underscore))
member_2_in_ag2(X, ._22(underscore1, Xs)) -> if_member_2_in_1_ag4(X, underscore1, Xs, member_2_in_ag2(X, Xs))
if_member_2_in_1_ag4(X, underscore1, Xs, member_2_out_ag2(X, Xs)) -> member_2_out_ag2(X, ._22(underscore1, Xs))
if_members_2_in_1_ag4(X, Xs, Ys, member_2_out_ag2(X, Ys)) -> if_members_2_in_2_ag4(X, Xs, Ys, members_2_in_ag2(Xs, Ys))
members_2_in_ag2([]_0, Ys) -> members_2_out_ag2([]_0, Ys)
if_members_2_in_2_ag4(X, Xs, Ys, members_2_out_ag2(Xs, Ys)) -> members_2_out_ag2(._22(X, Xs), Ys)
if_color_region_2_in_2_ag6(Name, Color, Neighbors, Colors, Colors1, members_2_out_ag2(Neighbors, Colors1)) -> color_region_2_out_ag2(region_33(Name, Color, Neighbors), Colors)
if_color_map_2_in_1_ag4(Region, Regions, Colors, color_region_2_out_ag2(Region, Colors)) -> if_color_map_2_in_2_ag4(Region, Regions, Colors, color_map_2_in_ag2(Regions, Colors))
color_map_2_in_ag2([]_0, Colors) -> color_map_2_out_ag2([]_0, Colors)
if_color_map_2_in_2_ag4(Region, Regions, Colors, color_map_2_out_ag2(Regions, Colors)) -> color_map_2_out_ag2(._22(Region, Regions), Colors)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ PiDP
↳ PiDP
↳ PrologToPiTRSProof
MEMBERS_2_IN_AG2(._22(X, Xs), Ys) -> IF_MEMBERS_2_IN_1_AG4(X, Xs, Ys, member_2_in_ag2(X, Ys))
IF_MEMBERS_2_IN_1_AG4(X, Xs, Ys, member_2_out_ag2(X, Ys)) -> MEMBERS_2_IN_AG2(Xs, Ys)
member_2_in_ag2(X, ._22(X, underscore)) -> member_2_out_ag2(X, ._22(X, underscore))
member_2_in_ag2(X, ._22(underscore1, Xs)) -> if_member_2_in_1_ag4(X, underscore1, Xs, member_2_in_ag2(X, Xs))
if_member_2_in_1_ag4(X, underscore1, Xs, member_2_out_ag2(X, Xs)) -> member_2_out_ag2(X, ._22(underscore1, Xs))
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ PiDP
↳ PiDP
↳ PrologToPiTRSProof
MEMBERS_2_IN_AG1(Ys) -> IF_MEMBERS_2_IN_1_AG2(Ys, member_2_in_ag1(Ys))
IF_MEMBERS_2_IN_1_AG2(Ys, member_2_out_ag1(X)) -> MEMBERS_2_IN_AG1(Ys)
member_2_in_ag1(._22(X, underscore)) -> member_2_out_ag1(X)
member_2_in_ag1(._22(underscore1, Xs)) -> if_member_2_in_1_ag1(member_2_in_ag1(Xs))
if_member_2_in_1_ag1(member_2_out_ag1(X)) -> member_2_out_ag1(X)
member_2_in_ag1(x0)
if_member_2_in_1_ag1(x0)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PrologToPiTRSProof
SELECT_3_IN_AGA3(X, ._22(Y, Ys), ._22(Y, Zs)) -> SELECT_3_IN_AGA3(X, Ys, Zs)
color_map_2_in_ag2(._22(Region, Regions), Colors) -> if_color_map_2_in_1_ag4(Region, Regions, Colors, color_region_2_in_ag2(Region, Colors))
color_region_2_in_ag2(region_33(Name, Color, Neighbors), Colors) -> if_color_region_2_in_1_ag5(Name, Color, Neighbors, Colors, select_3_in_aga3(Color, Colors, Colors1))
select_3_in_aga3(X, ._22(X, Xs), Xs) -> select_3_out_aga3(X, ._22(X, Xs), Xs)
select_3_in_aga3(X, ._22(Y, Ys), ._22(Y, Zs)) -> if_select_3_in_1_aga5(X, Y, Ys, Zs, select_3_in_aga3(X, Ys, Zs))
if_select_3_in_1_aga5(X, Y, Ys, Zs, select_3_out_aga3(X, Ys, Zs)) -> select_3_out_aga3(X, ._22(Y, Ys), ._22(Y, Zs))
if_color_region_2_in_1_ag5(Name, Color, Neighbors, Colors, select_3_out_aga3(Color, Colors, Colors1)) -> if_color_region_2_in_2_ag6(Name, Color, Neighbors, Colors, Colors1, members_2_in_ag2(Neighbors, Colors1))
members_2_in_ag2(._22(X, Xs), Ys) -> if_members_2_in_1_ag4(X, Xs, Ys, member_2_in_ag2(X, Ys))
member_2_in_ag2(X, ._22(X, underscore)) -> member_2_out_ag2(X, ._22(X, underscore))
member_2_in_ag2(X, ._22(underscore1, Xs)) -> if_member_2_in_1_ag4(X, underscore1, Xs, member_2_in_ag2(X, Xs))
if_member_2_in_1_ag4(X, underscore1, Xs, member_2_out_ag2(X, Xs)) -> member_2_out_ag2(X, ._22(underscore1, Xs))
if_members_2_in_1_ag4(X, Xs, Ys, member_2_out_ag2(X, Ys)) -> if_members_2_in_2_ag4(X, Xs, Ys, members_2_in_ag2(Xs, Ys))
members_2_in_ag2([]_0, Ys) -> members_2_out_ag2([]_0, Ys)
if_members_2_in_2_ag4(X, Xs, Ys, members_2_out_ag2(Xs, Ys)) -> members_2_out_ag2(._22(X, Xs), Ys)
if_color_region_2_in_2_ag6(Name, Color, Neighbors, Colors, Colors1, members_2_out_ag2(Neighbors, Colors1)) -> color_region_2_out_ag2(region_33(Name, Color, Neighbors), Colors)
if_color_map_2_in_1_ag4(Region, Regions, Colors, color_region_2_out_ag2(Region, Colors)) -> if_color_map_2_in_2_ag4(Region, Regions, Colors, color_map_2_in_ag2(Regions, Colors))
color_map_2_in_ag2([]_0, Colors) -> color_map_2_out_ag2([]_0, Colors)
if_color_map_2_in_2_ag4(Region, Regions, Colors, color_map_2_out_ag2(Regions, Colors)) -> color_map_2_out_ag2(._22(Region, Regions), Colors)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ PiDP
↳ PrologToPiTRSProof
SELECT_3_IN_AGA3(X, ._22(Y, Ys), ._22(Y, Zs)) -> SELECT_3_IN_AGA3(X, Ys, Zs)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ QDPSizeChangeProof
↳ PiDP
↳ PrologToPiTRSProof
SELECT_3_IN_AGA1(._22(Y, Ys)) -> SELECT_3_IN_AGA1(Ys)
From the DPs we obtained the following set of size-change graphs:
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PrologToPiTRSProof
COLOR_MAP_2_IN_AG2(._22(Region, Regions), Colors) -> IF_COLOR_MAP_2_IN_1_AG4(Region, Regions, Colors, color_region_2_in_ag2(Region, Colors))
IF_COLOR_MAP_2_IN_1_AG4(Region, Regions, Colors, color_region_2_out_ag2(Region, Colors)) -> COLOR_MAP_2_IN_AG2(Regions, Colors)
color_map_2_in_ag2(._22(Region, Regions), Colors) -> if_color_map_2_in_1_ag4(Region, Regions, Colors, color_region_2_in_ag2(Region, Colors))
color_region_2_in_ag2(region_33(Name, Color, Neighbors), Colors) -> if_color_region_2_in_1_ag5(Name, Color, Neighbors, Colors, select_3_in_aga3(Color, Colors, Colors1))
select_3_in_aga3(X, ._22(X, Xs), Xs) -> select_3_out_aga3(X, ._22(X, Xs), Xs)
select_3_in_aga3(X, ._22(Y, Ys), ._22(Y, Zs)) -> if_select_3_in_1_aga5(X, Y, Ys, Zs, select_3_in_aga3(X, Ys, Zs))
if_select_3_in_1_aga5(X, Y, Ys, Zs, select_3_out_aga3(X, Ys, Zs)) -> select_3_out_aga3(X, ._22(Y, Ys), ._22(Y, Zs))
if_color_region_2_in_1_ag5(Name, Color, Neighbors, Colors, select_3_out_aga3(Color, Colors, Colors1)) -> if_color_region_2_in_2_ag6(Name, Color, Neighbors, Colors, Colors1, members_2_in_ag2(Neighbors, Colors1))
members_2_in_ag2(._22(X, Xs), Ys) -> if_members_2_in_1_ag4(X, Xs, Ys, member_2_in_ag2(X, Ys))
member_2_in_ag2(X, ._22(X, underscore)) -> member_2_out_ag2(X, ._22(X, underscore))
member_2_in_ag2(X, ._22(underscore1, Xs)) -> if_member_2_in_1_ag4(X, underscore1, Xs, member_2_in_ag2(X, Xs))
if_member_2_in_1_ag4(X, underscore1, Xs, member_2_out_ag2(X, Xs)) -> member_2_out_ag2(X, ._22(underscore1, Xs))
if_members_2_in_1_ag4(X, Xs, Ys, member_2_out_ag2(X, Ys)) -> if_members_2_in_2_ag4(X, Xs, Ys, members_2_in_ag2(Xs, Ys))
members_2_in_ag2([]_0, Ys) -> members_2_out_ag2([]_0, Ys)
if_members_2_in_2_ag4(X, Xs, Ys, members_2_out_ag2(Xs, Ys)) -> members_2_out_ag2(._22(X, Xs), Ys)
if_color_region_2_in_2_ag6(Name, Color, Neighbors, Colors, Colors1, members_2_out_ag2(Neighbors, Colors1)) -> color_region_2_out_ag2(region_33(Name, Color, Neighbors), Colors)
if_color_map_2_in_1_ag4(Region, Regions, Colors, color_region_2_out_ag2(Region, Colors)) -> if_color_map_2_in_2_ag4(Region, Regions, Colors, color_map_2_in_ag2(Regions, Colors))
color_map_2_in_ag2([]_0, Colors) -> color_map_2_out_ag2([]_0, Colors)
if_color_map_2_in_2_ag4(Region, Regions, Colors, color_map_2_out_ag2(Regions, Colors)) -> color_map_2_out_ag2(._22(Region, Regions), Colors)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ PrologToPiTRSProof
COLOR_MAP_2_IN_AG2(._22(Region, Regions), Colors) -> IF_COLOR_MAP_2_IN_1_AG4(Region, Regions, Colors, color_region_2_in_ag2(Region, Colors))
IF_COLOR_MAP_2_IN_1_AG4(Region, Regions, Colors, color_region_2_out_ag2(Region, Colors)) -> COLOR_MAP_2_IN_AG2(Regions, Colors)
color_region_2_in_ag2(region_33(Name, Color, Neighbors), Colors) -> if_color_region_2_in_1_ag5(Name, Color, Neighbors, Colors, select_3_in_aga3(Color, Colors, Colors1))
if_color_region_2_in_1_ag5(Name, Color, Neighbors, Colors, select_3_out_aga3(Color, Colors, Colors1)) -> if_color_region_2_in_2_ag6(Name, Color, Neighbors, Colors, Colors1, members_2_in_ag2(Neighbors, Colors1))
select_3_in_aga3(X, ._22(X, Xs), Xs) -> select_3_out_aga3(X, ._22(X, Xs), Xs)
select_3_in_aga3(X, ._22(Y, Ys), ._22(Y, Zs)) -> if_select_3_in_1_aga5(X, Y, Ys, Zs, select_3_in_aga3(X, Ys, Zs))
if_color_region_2_in_2_ag6(Name, Color, Neighbors, Colors, Colors1, members_2_out_ag2(Neighbors, Colors1)) -> color_region_2_out_ag2(region_33(Name, Color, Neighbors), Colors)
if_select_3_in_1_aga5(X, Y, Ys, Zs, select_3_out_aga3(X, Ys, Zs)) -> select_3_out_aga3(X, ._22(Y, Ys), ._22(Y, Zs))
members_2_in_ag2(._22(X, Xs), Ys) -> if_members_2_in_1_ag4(X, Xs, Ys, member_2_in_ag2(X, Ys))
members_2_in_ag2([]_0, Ys) -> members_2_out_ag2([]_0, Ys)
if_members_2_in_1_ag4(X, Xs, Ys, member_2_out_ag2(X, Ys)) -> if_members_2_in_2_ag4(X, Xs, Ys, members_2_in_ag2(Xs, Ys))
member_2_in_ag2(X, ._22(X, underscore)) -> member_2_out_ag2(X, ._22(X, underscore))
member_2_in_ag2(X, ._22(underscore1, Xs)) -> if_member_2_in_1_ag4(X, underscore1, Xs, member_2_in_ag2(X, Xs))
if_members_2_in_2_ag4(X, Xs, Ys, members_2_out_ag2(Xs, Ys)) -> members_2_out_ag2(._22(X, Xs), Ys)
if_member_2_in_1_ag4(X, underscore1, Xs, member_2_out_ag2(X, Xs)) -> member_2_out_ag2(X, ._22(underscore1, Xs))
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ PrologToPiTRSProof
COLOR_MAP_2_IN_AG1(Colors) -> IF_COLOR_MAP_2_IN_1_AG2(Colors, color_region_2_in_ag1(Colors))
IF_COLOR_MAP_2_IN_1_AG2(Colors, color_region_2_out_ag1(Region)) -> COLOR_MAP_2_IN_AG1(Colors)
color_region_2_in_ag1(Colors) -> if_color_region_2_in_1_ag1(select_3_in_aga1(Colors))
if_color_region_2_in_1_ag1(select_3_out_aga2(Color, Colors1)) -> if_color_region_2_in_2_ag2(Color, members_2_in_ag1(Colors1))
select_3_in_aga1(._22(X, Xs)) -> select_3_out_aga2(X, Xs)
select_3_in_aga1(._22(Y, Ys)) -> if_select_3_in_1_aga2(Y, select_3_in_aga1(Ys))
if_color_region_2_in_2_ag2(Color, members_2_out_ag1(Neighbors)) -> color_region_2_out_ag1(region_32(Color, Neighbors))
if_select_3_in_1_aga2(Y, select_3_out_aga2(X, Zs)) -> select_3_out_aga2(X, ._22(Y, Zs))
members_2_in_ag1(Ys) -> if_members_2_in_1_ag2(Ys, member_2_in_ag1(Ys))
members_2_in_ag1(Ys) -> members_2_out_ag1([]_0)
if_members_2_in_1_ag2(Ys, member_2_out_ag1(X)) -> if_members_2_in_2_ag2(X, members_2_in_ag1(Ys))
member_2_in_ag1(._22(X, underscore)) -> member_2_out_ag1(X)
member_2_in_ag1(._22(underscore1, Xs)) -> if_member_2_in_1_ag1(member_2_in_ag1(Xs))
if_members_2_in_2_ag2(X, members_2_out_ag1(Xs)) -> members_2_out_ag1(._22(X, Xs))
if_member_2_in_1_ag1(member_2_out_ag1(X)) -> member_2_out_ag1(X)
color_region_2_in_ag1(x0)
if_color_region_2_in_1_ag1(x0)
select_3_in_aga1(x0)
if_color_region_2_in_2_ag2(x0, x1)
if_select_3_in_1_aga2(x0, x1)
members_2_in_ag1(x0)
if_members_2_in_1_ag2(x0, x1)
member_2_in_ag1(x0)
if_members_2_in_2_ag2(x0, x1)
if_member_2_in_1_ag1(x0)
color_map_2_in_ag2(._22(Region, Regions), Colors) -> if_color_map_2_in_1_ag4(Region, Regions, Colors, color_region_2_in_ag2(Region, Colors))
color_region_2_in_ag2(region_33(Name, Color, Neighbors), Colors) -> if_color_region_2_in_1_ag5(Name, Color, Neighbors, Colors, select_3_in_aga3(Color, Colors, Colors1))
select_3_in_aga3(X, ._22(X, Xs), Xs) -> select_3_out_aga3(X, ._22(X, Xs), Xs)
select_3_in_aga3(X, ._22(Y, Ys), ._22(Y, Zs)) -> if_select_3_in_1_aga5(X, Y, Ys, Zs, select_3_in_aga3(X, Ys, Zs))
if_select_3_in_1_aga5(X, Y, Ys, Zs, select_3_out_aga3(X, Ys, Zs)) -> select_3_out_aga3(X, ._22(Y, Ys), ._22(Y, Zs))
if_color_region_2_in_1_ag5(Name, Color, Neighbors, Colors, select_3_out_aga3(Color, Colors, Colors1)) -> if_color_region_2_in_2_ag6(Name, Color, Neighbors, Colors, Colors1, members_2_in_ag2(Neighbors, Colors1))
members_2_in_ag2(._22(X, Xs), Ys) -> if_members_2_in_1_ag4(X, Xs, Ys, member_2_in_ag2(X, Ys))
member_2_in_ag2(X, ._22(X, underscore)) -> member_2_out_ag2(X, ._22(X, underscore))
member_2_in_ag2(X, ._22(underscore1, Xs)) -> if_member_2_in_1_ag4(X, underscore1, Xs, member_2_in_ag2(X, Xs))
if_member_2_in_1_ag4(X, underscore1, Xs, member_2_out_ag2(X, Xs)) -> member_2_out_ag2(X, ._22(underscore1, Xs))
if_members_2_in_1_ag4(X, Xs, Ys, member_2_out_ag2(X, Ys)) -> if_members_2_in_2_ag4(X, Xs, Ys, members_2_in_ag2(Xs, Ys))
members_2_in_ag2([]_0, Ys) -> members_2_out_ag2([]_0, Ys)
if_members_2_in_2_ag4(X, Xs, Ys, members_2_out_ag2(Xs, Ys)) -> members_2_out_ag2(._22(X, Xs), Ys)
if_color_region_2_in_2_ag6(Name, Color, Neighbors, Colors, Colors1, members_2_out_ag2(Neighbors, Colors1)) -> color_region_2_out_ag2(region_33(Name, Color, Neighbors), Colors)
if_color_map_2_in_1_ag4(Region, Regions, Colors, color_region_2_out_ag2(Region, Colors)) -> if_color_map_2_in_2_ag4(Region, Regions, Colors, color_map_2_in_ag2(Regions, Colors))
color_map_2_in_ag2([]_0, Colors) -> color_map_2_out_ag2([]_0, Colors)
if_color_map_2_in_2_ag4(Region, Regions, Colors, color_map_2_out_ag2(Regions, Colors)) -> color_map_2_out_ag2(._22(Region, Regions), Colors)
Infinitary Constructor Rewriting Termination of PiTRS implies Termination of PROLOG
↳ PROLOG
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
color_map_2_in_ag2(._22(Region, Regions), Colors) -> if_color_map_2_in_1_ag4(Region, Regions, Colors, color_region_2_in_ag2(Region, Colors))
color_region_2_in_ag2(region_33(Name, Color, Neighbors), Colors) -> if_color_region_2_in_1_ag5(Name, Color, Neighbors, Colors, select_3_in_aga3(Color, Colors, Colors1))
select_3_in_aga3(X, ._22(X, Xs), Xs) -> select_3_out_aga3(X, ._22(X, Xs), Xs)
select_3_in_aga3(X, ._22(Y, Ys), ._22(Y, Zs)) -> if_select_3_in_1_aga5(X, Y, Ys, Zs, select_3_in_aga3(X, Ys, Zs))
if_select_3_in_1_aga5(X, Y, Ys, Zs, select_3_out_aga3(X, Ys, Zs)) -> select_3_out_aga3(X, ._22(Y, Ys), ._22(Y, Zs))
if_color_region_2_in_1_ag5(Name, Color, Neighbors, Colors, select_3_out_aga3(Color, Colors, Colors1)) -> if_color_region_2_in_2_ag6(Name, Color, Neighbors, Colors, Colors1, members_2_in_ag2(Neighbors, Colors1))
members_2_in_ag2(._22(X, Xs), Ys) -> if_members_2_in_1_ag4(X, Xs, Ys, member_2_in_ag2(X, Ys))
member_2_in_ag2(X, ._22(X, underscore)) -> member_2_out_ag2(X, ._22(X, underscore))
member_2_in_ag2(X, ._22(underscore1, Xs)) -> if_member_2_in_1_ag4(X, underscore1, Xs, member_2_in_ag2(X, Xs))
if_member_2_in_1_ag4(X, underscore1, Xs, member_2_out_ag2(X, Xs)) -> member_2_out_ag2(X, ._22(underscore1, Xs))
if_members_2_in_1_ag4(X, Xs, Ys, member_2_out_ag2(X, Ys)) -> if_members_2_in_2_ag4(X, Xs, Ys, members_2_in_ag2(Xs, Ys))
members_2_in_ag2([]_0, Ys) -> members_2_out_ag2([]_0, Ys)
if_members_2_in_2_ag4(X, Xs, Ys, members_2_out_ag2(Xs, Ys)) -> members_2_out_ag2(._22(X, Xs), Ys)
if_color_region_2_in_2_ag6(Name, Color, Neighbors, Colors, Colors1, members_2_out_ag2(Neighbors, Colors1)) -> color_region_2_out_ag2(region_33(Name, Color, Neighbors), Colors)
if_color_map_2_in_1_ag4(Region, Regions, Colors, color_region_2_out_ag2(Region, Colors)) -> if_color_map_2_in_2_ag4(Region, Regions, Colors, color_map_2_in_ag2(Regions, Colors))
color_map_2_in_ag2([]_0, Colors) -> color_map_2_out_ag2([]_0, Colors)
if_color_map_2_in_2_ag4(Region, Regions, Colors, color_map_2_out_ag2(Regions, Colors)) -> color_map_2_out_ag2(._22(Region, Regions), Colors)
COLOR_MAP_2_IN_AG2(._22(Region, Regions), Colors) -> IF_COLOR_MAP_2_IN_1_AG4(Region, Regions, Colors, color_region_2_in_ag2(Region, Colors))
COLOR_MAP_2_IN_AG2(._22(Region, Regions), Colors) -> COLOR_REGION_2_IN_AG2(Region, Colors)
COLOR_REGION_2_IN_AG2(region_33(Name, Color, Neighbors), Colors) -> IF_COLOR_REGION_2_IN_1_AG5(Name, Color, Neighbors, Colors, select_3_in_aga3(Color, Colors, Colors1))
COLOR_REGION_2_IN_AG2(region_33(Name, Color, Neighbors), Colors) -> SELECT_3_IN_AGA3(Color, Colors, Colors1)
SELECT_3_IN_AGA3(X, ._22(Y, Ys), ._22(Y, Zs)) -> IF_SELECT_3_IN_1_AGA5(X, Y, Ys, Zs, select_3_in_aga3(X, Ys, Zs))
SELECT_3_IN_AGA3(X, ._22(Y, Ys), ._22(Y, Zs)) -> SELECT_3_IN_AGA3(X, Ys, Zs)
IF_COLOR_REGION_2_IN_1_AG5(Name, Color, Neighbors, Colors, select_3_out_aga3(Color, Colors, Colors1)) -> IF_COLOR_REGION_2_IN_2_AG6(Name, Color, Neighbors, Colors, Colors1, members_2_in_ag2(Neighbors, Colors1))
IF_COLOR_REGION_2_IN_1_AG5(Name, Color, Neighbors, Colors, select_3_out_aga3(Color, Colors, Colors1)) -> MEMBERS_2_IN_AG2(Neighbors, Colors1)
MEMBERS_2_IN_AG2(._22(X, Xs), Ys) -> IF_MEMBERS_2_IN_1_AG4(X, Xs, Ys, member_2_in_ag2(X, Ys))
MEMBERS_2_IN_AG2(._22(X, Xs), Ys) -> MEMBER_2_IN_AG2(X, Ys)
MEMBER_2_IN_AG2(X, ._22(underscore1, Xs)) -> IF_MEMBER_2_IN_1_AG4(X, underscore1, Xs, member_2_in_ag2(X, Xs))
MEMBER_2_IN_AG2(X, ._22(underscore1, Xs)) -> MEMBER_2_IN_AG2(X, Xs)
IF_MEMBERS_2_IN_1_AG4(X, Xs, Ys, member_2_out_ag2(X, Ys)) -> IF_MEMBERS_2_IN_2_AG4(X, Xs, Ys, members_2_in_ag2(Xs, Ys))
IF_MEMBERS_2_IN_1_AG4(X, Xs, Ys, member_2_out_ag2(X, Ys)) -> MEMBERS_2_IN_AG2(Xs, Ys)
IF_COLOR_MAP_2_IN_1_AG4(Region, Regions, Colors, color_region_2_out_ag2(Region, Colors)) -> IF_COLOR_MAP_2_IN_2_AG4(Region, Regions, Colors, color_map_2_in_ag2(Regions, Colors))
IF_COLOR_MAP_2_IN_1_AG4(Region, Regions, Colors, color_region_2_out_ag2(Region, Colors)) -> COLOR_MAP_2_IN_AG2(Regions, Colors)
color_map_2_in_ag2(._22(Region, Regions), Colors) -> if_color_map_2_in_1_ag4(Region, Regions, Colors, color_region_2_in_ag2(Region, Colors))
color_region_2_in_ag2(region_33(Name, Color, Neighbors), Colors) -> if_color_region_2_in_1_ag5(Name, Color, Neighbors, Colors, select_3_in_aga3(Color, Colors, Colors1))
select_3_in_aga3(X, ._22(X, Xs), Xs) -> select_3_out_aga3(X, ._22(X, Xs), Xs)
select_3_in_aga3(X, ._22(Y, Ys), ._22(Y, Zs)) -> if_select_3_in_1_aga5(X, Y, Ys, Zs, select_3_in_aga3(X, Ys, Zs))
if_select_3_in_1_aga5(X, Y, Ys, Zs, select_3_out_aga3(X, Ys, Zs)) -> select_3_out_aga3(X, ._22(Y, Ys), ._22(Y, Zs))
if_color_region_2_in_1_ag5(Name, Color, Neighbors, Colors, select_3_out_aga3(Color, Colors, Colors1)) -> if_color_region_2_in_2_ag6(Name, Color, Neighbors, Colors, Colors1, members_2_in_ag2(Neighbors, Colors1))
members_2_in_ag2(._22(X, Xs), Ys) -> if_members_2_in_1_ag4(X, Xs, Ys, member_2_in_ag2(X, Ys))
member_2_in_ag2(X, ._22(X, underscore)) -> member_2_out_ag2(X, ._22(X, underscore))
member_2_in_ag2(X, ._22(underscore1, Xs)) -> if_member_2_in_1_ag4(X, underscore1, Xs, member_2_in_ag2(X, Xs))
if_member_2_in_1_ag4(X, underscore1, Xs, member_2_out_ag2(X, Xs)) -> member_2_out_ag2(X, ._22(underscore1, Xs))
if_members_2_in_1_ag4(X, Xs, Ys, member_2_out_ag2(X, Ys)) -> if_members_2_in_2_ag4(X, Xs, Ys, members_2_in_ag2(Xs, Ys))
members_2_in_ag2([]_0, Ys) -> members_2_out_ag2([]_0, Ys)
if_members_2_in_2_ag4(X, Xs, Ys, members_2_out_ag2(Xs, Ys)) -> members_2_out_ag2(._22(X, Xs), Ys)
if_color_region_2_in_2_ag6(Name, Color, Neighbors, Colors, Colors1, members_2_out_ag2(Neighbors, Colors1)) -> color_region_2_out_ag2(region_33(Name, Color, Neighbors), Colors)
if_color_map_2_in_1_ag4(Region, Regions, Colors, color_region_2_out_ag2(Region, Colors)) -> if_color_map_2_in_2_ag4(Region, Regions, Colors, color_map_2_in_ag2(Regions, Colors))
color_map_2_in_ag2([]_0, Colors) -> color_map_2_out_ag2([]_0, Colors)
if_color_map_2_in_2_ag4(Region, Regions, Colors, color_map_2_out_ag2(Regions, Colors)) -> color_map_2_out_ag2(._22(Region, Regions), Colors)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
COLOR_MAP_2_IN_AG2(._22(Region, Regions), Colors) -> IF_COLOR_MAP_2_IN_1_AG4(Region, Regions, Colors, color_region_2_in_ag2(Region, Colors))
COLOR_MAP_2_IN_AG2(._22(Region, Regions), Colors) -> COLOR_REGION_2_IN_AG2(Region, Colors)
COLOR_REGION_2_IN_AG2(region_33(Name, Color, Neighbors), Colors) -> IF_COLOR_REGION_2_IN_1_AG5(Name, Color, Neighbors, Colors, select_3_in_aga3(Color, Colors, Colors1))
COLOR_REGION_2_IN_AG2(region_33(Name, Color, Neighbors), Colors) -> SELECT_3_IN_AGA3(Color, Colors, Colors1)
SELECT_3_IN_AGA3(X, ._22(Y, Ys), ._22(Y, Zs)) -> IF_SELECT_3_IN_1_AGA5(X, Y, Ys, Zs, select_3_in_aga3(X, Ys, Zs))
SELECT_3_IN_AGA3(X, ._22(Y, Ys), ._22(Y, Zs)) -> SELECT_3_IN_AGA3(X, Ys, Zs)
IF_COLOR_REGION_2_IN_1_AG5(Name, Color, Neighbors, Colors, select_3_out_aga3(Color, Colors, Colors1)) -> IF_COLOR_REGION_2_IN_2_AG6(Name, Color, Neighbors, Colors, Colors1, members_2_in_ag2(Neighbors, Colors1))
IF_COLOR_REGION_2_IN_1_AG5(Name, Color, Neighbors, Colors, select_3_out_aga3(Color, Colors, Colors1)) -> MEMBERS_2_IN_AG2(Neighbors, Colors1)
MEMBERS_2_IN_AG2(._22(X, Xs), Ys) -> IF_MEMBERS_2_IN_1_AG4(X, Xs, Ys, member_2_in_ag2(X, Ys))
MEMBERS_2_IN_AG2(._22(X, Xs), Ys) -> MEMBER_2_IN_AG2(X, Ys)
MEMBER_2_IN_AG2(X, ._22(underscore1, Xs)) -> IF_MEMBER_2_IN_1_AG4(X, underscore1, Xs, member_2_in_ag2(X, Xs))
MEMBER_2_IN_AG2(X, ._22(underscore1, Xs)) -> MEMBER_2_IN_AG2(X, Xs)
IF_MEMBERS_2_IN_1_AG4(X, Xs, Ys, member_2_out_ag2(X, Ys)) -> IF_MEMBERS_2_IN_2_AG4(X, Xs, Ys, members_2_in_ag2(Xs, Ys))
IF_MEMBERS_2_IN_1_AG4(X, Xs, Ys, member_2_out_ag2(X, Ys)) -> MEMBERS_2_IN_AG2(Xs, Ys)
IF_COLOR_MAP_2_IN_1_AG4(Region, Regions, Colors, color_region_2_out_ag2(Region, Colors)) -> IF_COLOR_MAP_2_IN_2_AG4(Region, Regions, Colors, color_map_2_in_ag2(Regions, Colors))
IF_COLOR_MAP_2_IN_1_AG4(Region, Regions, Colors, color_region_2_out_ag2(Region, Colors)) -> COLOR_MAP_2_IN_AG2(Regions, Colors)
color_map_2_in_ag2(._22(Region, Regions), Colors) -> if_color_map_2_in_1_ag4(Region, Regions, Colors, color_region_2_in_ag2(Region, Colors))
color_region_2_in_ag2(region_33(Name, Color, Neighbors), Colors) -> if_color_region_2_in_1_ag5(Name, Color, Neighbors, Colors, select_3_in_aga3(Color, Colors, Colors1))
select_3_in_aga3(X, ._22(X, Xs), Xs) -> select_3_out_aga3(X, ._22(X, Xs), Xs)
select_3_in_aga3(X, ._22(Y, Ys), ._22(Y, Zs)) -> if_select_3_in_1_aga5(X, Y, Ys, Zs, select_3_in_aga3(X, Ys, Zs))
if_select_3_in_1_aga5(X, Y, Ys, Zs, select_3_out_aga3(X, Ys, Zs)) -> select_3_out_aga3(X, ._22(Y, Ys), ._22(Y, Zs))
if_color_region_2_in_1_ag5(Name, Color, Neighbors, Colors, select_3_out_aga3(Color, Colors, Colors1)) -> if_color_region_2_in_2_ag6(Name, Color, Neighbors, Colors, Colors1, members_2_in_ag2(Neighbors, Colors1))
members_2_in_ag2(._22(X, Xs), Ys) -> if_members_2_in_1_ag4(X, Xs, Ys, member_2_in_ag2(X, Ys))
member_2_in_ag2(X, ._22(X, underscore)) -> member_2_out_ag2(X, ._22(X, underscore))
member_2_in_ag2(X, ._22(underscore1, Xs)) -> if_member_2_in_1_ag4(X, underscore1, Xs, member_2_in_ag2(X, Xs))
if_member_2_in_1_ag4(X, underscore1, Xs, member_2_out_ag2(X, Xs)) -> member_2_out_ag2(X, ._22(underscore1, Xs))
if_members_2_in_1_ag4(X, Xs, Ys, member_2_out_ag2(X, Ys)) -> if_members_2_in_2_ag4(X, Xs, Ys, members_2_in_ag2(Xs, Ys))
members_2_in_ag2([]_0, Ys) -> members_2_out_ag2([]_0, Ys)
if_members_2_in_2_ag4(X, Xs, Ys, members_2_out_ag2(Xs, Ys)) -> members_2_out_ag2(._22(X, Xs), Ys)
if_color_region_2_in_2_ag6(Name, Color, Neighbors, Colors, Colors1, members_2_out_ag2(Neighbors, Colors1)) -> color_region_2_out_ag2(region_33(Name, Color, Neighbors), Colors)
if_color_map_2_in_1_ag4(Region, Regions, Colors, color_region_2_out_ag2(Region, Colors)) -> if_color_map_2_in_2_ag4(Region, Regions, Colors, color_map_2_in_ag2(Regions, Colors))
color_map_2_in_ag2([]_0, Colors) -> color_map_2_out_ag2([]_0, Colors)
if_color_map_2_in_2_ag4(Region, Regions, Colors, color_map_2_out_ag2(Regions, Colors)) -> color_map_2_out_ag2(._22(Region, Regions), Colors)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDP
↳ PiDP
MEMBER_2_IN_AG2(X, ._22(underscore1, Xs)) -> MEMBER_2_IN_AG2(X, Xs)
color_map_2_in_ag2(._22(Region, Regions), Colors) -> if_color_map_2_in_1_ag4(Region, Regions, Colors, color_region_2_in_ag2(Region, Colors))
color_region_2_in_ag2(region_33(Name, Color, Neighbors), Colors) -> if_color_region_2_in_1_ag5(Name, Color, Neighbors, Colors, select_3_in_aga3(Color, Colors, Colors1))
select_3_in_aga3(X, ._22(X, Xs), Xs) -> select_3_out_aga3(X, ._22(X, Xs), Xs)
select_3_in_aga3(X, ._22(Y, Ys), ._22(Y, Zs)) -> if_select_3_in_1_aga5(X, Y, Ys, Zs, select_3_in_aga3(X, Ys, Zs))
if_select_3_in_1_aga5(X, Y, Ys, Zs, select_3_out_aga3(X, Ys, Zs)) -> select_3_out_aga3(X, ._22(Y, Ys), ._22(Y, Zs))
if_color_region_2_in_1_ag5(Name, Color, Neighbors, Colors, select_3_out_aga3(Color, Colors, Colors1)) -> if_color_region_2_in_2_ag6(Name, Color, Neighbors, Colors, Colors1, members_2_in_ag2(Neighbors, Colors1))
members_2_in_ag2(._22(X, Xs), Ys) -> if_members_2_in_1_ag4(X, Xs, Ys, member_2_in_ag2(X, Ys))
member_2_in_ag2(X, ._22(X, underscore)) -> member_2_out_ag2(X, ._22(X, underscore))
member_2_in_ag2(X, ._22(underscore1, Xs)) -> if_member_2_in_1_ag4(X, underscore1, Xs, member_2_in_ag2(X, Xs))
if_member_2_in_1_ag4(X, underscore1, Xs, member_2_out_ag2(X, Xs)) -> member_2_out_ag2(X, ._22(underscore1, Xs))
if_members_2_in_1_ag4(X, Xs, Ys, member_2_out_ag2(X, Ys)) -> if_members_2_in_2_ag4(X, Xs, Ys, members_2_in_ag2(Xs, Ys))
members_2_in_ag2([]_0, Ys) -> members_2_out_ag2([]_0, Ys)
if_members_2_in_2_ag4(X, Xs, Ys, members_2_out_ag2(Xs, Ys)) -> members_2_out_ag2(._22(X, Xs), Ys)
if_color_region_2_in_2_ag6(Name, Color, Neighbors, Colors, Colors1, members_2_out_ag2(Neighbors, Colors1)) -> color_region_2_out_ag2(region_33(Name, Color, Neighbors), Colors)
if_color_map_2_in_1_ag4(Region, Regions, Colors, color_region_2_out_ag2(Region, Colors)) -> if_color_map_2_in_2_ag4(Region, Regions, Colors, color_map_2_in_ag2(Regions, Colors))
color_map_2_in_ag2([]_0, Colors) -> color_map_2_out_ag2([]_0, Colors)
if_color_map_2_in_2_ag4(Region, Regions, Colors, color_map_2_out_ag2(Regions, Colors)) -> color_map_2_out_ag2(._22(Region, Regions), Colors)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ PiDP
↳ PiDP
↳ PiDP
MEMBER_2_IN_AG2(X, ._22(underscore1, Xs)) -> MEMBER_2_IN_AG2(X, Xs)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ QDPSizeChangeProof
↳ PiDP
↳ PiDP
↳ PiDP
MEMBER_2_IN_AG1(._22(underscore1, Xs)) -> MEMBER_2_IN_AG1(Xs)
From the DPs we obtained the following set of size-change graphs:
↳ PROLOG
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDP
MEMBERS_2_IN_AG2(._22(X, Xs), Ys) -> IF_MEMBERS_2_IN_1_AG4(X, Xs, Ys, member_2_in_ag2(X, Ys))
IF_MEMBERS_2_IN_1_AG4(X, Xs, Ys, member_2_out_ag2(X, Ys)) -> MEMBERS_2_IN_AG2(Xs, Ys)
color_map_2_in_ag2(._22(Region, Regions), Colors) -> if_color_map_2_in_1_ag4(Region, Regions, Colors, color_region_2_in_ag2(Region, Colors))
color_region_2_in_ag2(region_33(Name, Color, Neighbors), Colors) -> if_color_region_2_in_1_ag5(Name, Color, Neighbors, Colors, select_3_in_aga3(Color, Colors, Colors1))
select_3_in_aga3(X, ._22(X, Xs), Xs) -> select_3_out_aga3(X, ._22(X, Xs), Xs)
select_3_in_aga3(X, ._22(Y, Ys), ._22(Y, Zs)) -> if_select_3_in_1_aga5(X, Y, Ys, Zs, select_3_in_aga3(X, Ys, Zs))
if_select_3_in_1_aga5(X, Y, Ys, Zs, select_3_out_aga3(X, Ys, Zs)) -> select_3_out_aga3(X, ._22(Y, Ys), ._22(Y, Zs))
if_color_region_2_in_1_ag5(Name, Color, Neighbors, Colors, select_3_out_aga3(Color, Colors, Colors1)) -> if_color_region_2_in_2_ag6(Name, Color, Neighbors, Colors, Colors1, members_2_in_ag2(Neighbors, Colors1))
members_2_in_ag2(._22(X, Xs), Ys) -> if_members_2_in_1_ag4(X, Xs, Ys, member_2_in_ag2(X, Ys))
member_2_in_ag2(X, ._22(X, underscore)) -> member_2_out_ag2(X, ._22(X, underscore))
member_2_in_ag2(X, ._22(underscore1, Xs)) -> if_member_2_in_1_ag4(X, underscore1, Xs, member_2_in_ag2(X, Xs))
if_member_2_in_1_ag4(X, underscore1, Xs, member_2_out_ag2(X, Xs)) -> member_2_out_ag2(X, ._22(underscore1, Xs))
if_members_2_in_1_ag4(X, Xs, Ys, member_2_out_ag2(X, Ys)) -> if_members_2_in_2_ag4(X, Xs, Ys, members_2_in_ag2(Xs, Ys))
members_2_in_ag2([]_0, Ys) -> members_2_out_ag2([]_0, Ys)
if_members_2_in_2_ag4(X, Xs, Ys, members_2_out_ag2(Xs, Ys)) -> members_2_out_ag2(._22(X, Xs), Ys)
if_color_region_2_in_2_ag6(Name, Color, Neighbors, Colors, Colors1, members_2_out_ag2(Neighbors, Colors1)) -> color_region_2_out_ag2(region_33(Name, Color, Neighbors), Colors)
if_color_map_2_in_1_ag4(Region, Regions, Colors, color_region_2_out_ag2(Region, Colors)) -> if_color_map_2_in_2_ag4(Region, Regions, Colors, color_map_2_in_ag2(Regions, Colors))
color_map_2_in_ag2([]_0, Colors) -> color_map_2_out_ag2([]_0, Colors)
if_color_map_2_in_2_ag4(Region, Regions, Colors, color_map_2_out_ag2(Regions, Colors)) -> color_map_2_out_ag2(._22(Region, Regions), Colors)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ PiDP
↳ PiDP
MEMBERS_2_IN_AG2(._22(X, Xs), Ys) -> IF_MEMBERS_2_IN_1_AG4(X, Xs, Ys, member_2_in_ag2(X, Ys))
IF_MEMBERS_2_IN_1_AG4(X, Xs, Ys, member_2_out_ag2(X, Ys)) -> MEMBERS_2_IN_AG2(Xs, Ys)
member_2_in_ag2(X, ._22(X, underscore)) -> member_2_out_ag2(X, ._22(X, underscore))
member_2_in_ag2(X, ._22(underscore1, Xs)) -> if_member_2_in_1_ag4(X, underscore1, Xs, member_2_in_ag2(X, Xs))
if_member_2_in_1_ag4(X, underscore1, Xs, member_2_out_ag2(X, Xs)) -> member_2_out_ag2(X, ._22(underscore1, Xs))
↳ PROLOG
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ PiDP
↳ PiDP
MEMBERS_2_IN_AG1(Ys) -> IF_MEMBERS_2_IN_1_AG2(Ys, member_2_in_ag1(Ys))
IF_MEMBERS_2_IN_1_AG2(Ys, member_2_out_ag2(X, Ys)) -> MEMBERS_2_IN_AG1(Ys)
member_2_in_ag1(._22(X, underscore)) -> member_2_out_ag2(X, ._22(X, underscore))
member_2_in_ag1(._22(underscore1, Xs)) -> if_member_2_in_1_ag3(underscore1, Xs, member_2_in_ag1(Xs))
if_member_2_in_1_ag3(underscore1, Xs, member_2_out_ag2(X, Xs)) -> member_2_out_ag2(X, ._22(underscore1, Xs))
member_2_in_ag1(x0)
if_member_2_in_1_ag3(x0, x1, x2)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
SELECT_3_IN_AGA3(X, ._22(Y, Ys), ._22(Y, Zs)) -> SELECT_3_IN_AGA3(X, Ys, Zs)
color_map_2_in_ag2(._22(Region, Regions), Colors) -> if_color_map_2_in_1_ag4(Region, Regions, Colors, color_region_2_in_ag2(Region, Colors))
color_region_2_in_ag2(region_33(Name, Color, Neighbors), Colors) -> if_color_region_2_in_1_ag5(Name, Color, Neighbors, Colors, select_3_in_aga3(Color, Colors, Colors1))
select_3_in_aga3(X, ._22(X, Xs), Xs) -> select_3_out_aga3(X, ._22(X, Xs), Xs)
select_3_in_aga3(X, ._22(Y, Ys), ._22(Y, Zs)) -> if_select_3_in_1_aga5(X, Y, Ys, Zs, select_3_in_aga3(X, Ys, Zs))
if_select_3_in_1_aga5(X, Y, Ys, Zs, select_3_out_aga3(X, Ys, Zs)) -> select_3_out_aga3(X, ._22(Y, Ys), ._22(Y, Zs))
if_color_region_2_in_1_ag5(Name, Color, Neighbors, Colors, select_3_out_aga3(Color, Colors, Colors1)) -> if_color_region_2_in_2_ag6(Name, Color, Neighbors, Colors, Colors1, members_2_in_ag2(Neighbors, Colors1))
members_2_in_ag2(._22(X, Xs), Ys) -> if_members_2_in_1_ag4(X, Xs, Ys, member_2_in_ag2(X, Ys))
member_2_in_ag2(X, ._22(X, underscore)) -> member_2_out_ag2(X, ._22(X, underscore))
member_2_in_ag2(X, ._22(underscore1, Xs)) -> if_member_2_in_1_ag4(X, underscore1, Xs, member_2_in_ag2(X, Xs))
if_member_2_in_1_ag4(X, underscore1, Xs, member_2_out_ag2(X, Xs)) -> member_2_out_ag2(X, ._22(underscore1, Xs))
if_members_2_in_1_ag4(X, Xs, Ys, member_2_out_ag2(X, Ys)) -> if_members_2_in_2_ag4(X, Xs, Ys, members_2_in_ag2(Xs, Ys))
members_2_in_ag2([]_0, Ys) -> members_2_out_ag2([]_0, Ys)
if_members_2_in_2_ag4(X, Xs, Ys, members_2_out_ag2(Xs, Ys)) -> members_2_out_ag2(._22(X, Xs), Ys)
if_color_region_2_in_2_ag6(Name, Color, Neighbors, Colors, Colors1, members_2_out_ag2(Neighbors, Colors1)) -> color_region_2_out_ag2(region_33(Name, Color, Neighbors), Colors)
if_color_map_2_in_1_ag4(Region, Regions, Colors, color_region_2_out_ag2(Region, Colors)) -> if_color_map_2_in_2_ag4(Region, Regions, Colors, color_map_2_in_ag2(Regions, Colors))
color_map_2_in_ag2([]_0, Colors) -> color_map_2_out_ag2([]_0, Colors)
if_color_map_2_in_2_ag4(Region, Regions, Colors, color_map_2_out_ag2(Regions, Colors)) -> color_map_2_out_ag2(._22(Region, Regions), Colors)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ PiDP
SELECT_3_IN_AGA3(X, ._22(Y, Ys), ._22(Y, Zs)) -> SELECT_3_IN_AGA3(X, Ys, Zs)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ QDPSizeChangeProof
↳ PiDP
SELECT_3_IN_AGA1(._22(Y, Ys)) -> SELECT_3_IN_AGA1(Ys)
From the DPs we obtained the following set of size-change graphs:
↳ PROLOG
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ PiDP
↳ UsableRulesProof
COLOR_MAP_2_IN_AG2(._22(Region, Regions), Colors) -> IF_COLOR_MAP_2_IN_1_AG4(Region, Regions, Colors, color_region_2_in_ag2(Region, Colors))
IF_COLOR_MAP_2_IN_1_AG4(Region, Regions, Colors, color_region_2_out_ag2(Region, Colors)) -> COLOR_MAP_2_IN_AG2(Regions, Colors)
color_map_2_in_ag2(._22(Region, Regions), Colors) -> if_color_map_2_in_1_ag4(Region, Regions, Colors, color_region_2_in_ag2(Region, Colors))
color_region_2_in_ag2(region_33(Name, Color, Neighbors), Colors) -> if_color_region_2_in_1_ag5(Name, Color, Neighbors, Colors, select_3_in_aga3(Color, Colors, Colors1))
select_3_in_aga3(X, ._22(X, Xs), Xs) -> select_3_out_aga3(X, ._22(X, Xs), Xs)
select_3_in_aga3(X, ._22(Y, Ys), ._22(Y, Zs)) -> if_select_3_in_1_aga5(X, Y, Ys, Zs, select_3_in_aga3(X, Ys, Zs))
if_select_3_in_1_aga5(X, Y, Ys, Zs, select_3_out_aga3(X, Ys, Zs)) -> select_3_out_aga3(X, ._22(Y, Ys), ._22(Y, Zs))
if_color_region_2_in_1_ag5(Name, Color, Neighbors, Colors, select_3_out_aga3(Color, Colors, Colors1)) -> if_color_region_2_in_2_ag6(Name, Color, Neighbors, Colors, Colors1, members_2_in_ag2(Neighbors, Colors1))
members_2_in_ag2(._22(X, Xs), Ys) -> if_members_2_in_1_ag4(X, Xs, Ys, member_2_in_ag2(X, Ys))
member_2_in_ag2(X, ._22(X, underscore)) -> member_2_out_ag2(X, ._22(X, underscore))
member_2_in_ag2(X, ._22(underscore1, Xs)) -> if_member_2_in_1_ag4(X, underscore1, Xs, member_2_in_ag2(X, Xs))
if_member_2_in_1_ag4(X, underscore1, Xs, member_2_out_ag2(X, Xs)) -> member_2_out_ag2(X, ._22(underscore1, Xs))
if_members_2_in_1_ag4(X, Xs, Ys, member_2_out_ag2(X, Ys)) -> if_members_2_in_2_ag4(X, Xs, Ys, members_2_in_ag2(Xs, Ys))
members_2_in_ag2([]_0, Ys) -> members_2_out_ag2([]_0, Ys)
if_members_2_in_2_ag4(X, Xs, Ys, members_2_out_ag2(Xs, Ys)) -> members_2_out_ag2(._22(X, Xs), Ys)
if_color_region_2_in_2_ag6(Name, Color, Neighbors, Colors, Colors1, members_2_out_ag2(Neighbors, Colors1)) -> color_region_2_out_ag2(region_33(Name, Color, Neighbors), Colors)
if_color_map_2_in_1_ag4(Region, Regions, Colors, color_region_2_out_ag2(Region, Colors)) -> if_color_map_2_in_2_ag4(Region, Regions, Colors, color_map_2_in_ag2(Regions, Colors))
color_map_2_in_ag2([]_0, Colors) -> color_map_2_out_ag2([]_0, Colors)
if_color_map_2_in_2_ag4(Region, Regions, Colors, color_map_2_out_ag2(Regions, Colors)) -> color_map_2_out_ag2(._22(Region, Regions), Colors)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
COLOR_MAP_2_IN_AG2(._22(Region, Regions), Colors) -> IF_COLOR_MAP_2_IN_1_AG4(Region, Regions, Colors, color_region_2_in_ag2(Region, Colors))
IF_COLOR_MAP_2_IN_1_AG4(Region, Regions, Colors, color_region_2_out_ag2(Region, Colors)) -> COLOR_MAP_2_IN_AG2(Regions, Colors)
color_region_2_in_ag2(region_33(Name, Color, Neighbors), Colors) -> if_color_region_2_in_1_ag5(Name, Color, Neighbors, Colors, select_3_in_aga3(Color, Colors, Colors1))
if_color_region_2_in_1_ag5(Name, Color, Neighbors, Colors, select_3_out_aga3(Color, Colors, Colors1)) -> if_color_region_2_in_2_ag6(Name, Color, Neighbors, Colors, Colors1, members_2_in_ag2(Neighbors, Colors1))
select_3_in_aga3(X, ._22(X, Xs), Xs) -> select_3_out_aga3(X, ._22(X, Xs), Xs)
select_3_in_aga3(X, ._22(Y, Ys), ._22(Y, Zs)) -> if_select_3_in_1_aga5(X, Y, Ys, Zs, select_3_in_aga3(X, Ys, Zs))
if_color_region_2_in_2_ag6(Name, Color, Neighbors, Colors, Colors1, members_2_out_ag2(Neighbors, Colors1)) -> color_region_2_out_ag2(region_33(Name, Color, Neighbors), Colors)
if_select_3_in_1_aga5(X, Y, Ys, Zs, select_3_out_aga3(X, Ys, Zs)) -> select_3_out_aga3(X, ._22(Y, Ys), ._22(Y, Zs))
members_2_in_ag2(._22(X, Xs), Ys) -> if_members_2_in_1_ag4(X, Xs, Ys, member_2_in_ag2(X, Ys))
members_2_in_ag2([]_0, Ys) -> members_2_out_ag2([]_0, Ys)
if_members_2_in_1_ag4(X, Xs, Ys, member_2_out_ag2(X, Ys)) -> if_members_2_in_2_ag4(X, Xs, Ys, members_2_in_ag2(Xs, Ys))
member_2_in_ag2(X, ._22(X, underscore)) -> member_2_out_ag2(X, ._22(X, underscore))
member_2_in_ag2(X, ._22(underscore1, Xs)) -> if_member_2_in_1_ag4(X, underscore1, Xs, member_2_in_ag2(X, Xs))
if_members_2_in_2_ag4(X, Xs, Ys, members_2_out_ag2(Xs, Ys)) -> members_2_out_ag2(._22(X, Xs), Ys)
if_member_2_in_1_ag4(X, underscore1, Xs, member_2_out_ag2(X, Xs)) -> member_2_out_ag2(X, ._22(underscore1, Xs))
↳ PROLOG
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
COLOR_MAP_2_IN_AG1(Colors) -> IF_COLOR_MAP_2_IN_1_AG2(Colors, color_region_2_in_ag1(Colors))
IF_COLOR_MAP_2_IN_1_AG2(Colors, color_region_2_out_ag2(Region, Colors)) -> COLOR_MAP_2_IN_AG1(Colors)
color_region_2_in_ag1(Colors) -> if_color_region_2_in_1_ag2(Colors, select_3_in_aga1(Colors))
if_color_region_2_in_1_ag2(Colors, select_3_out_aga3(Color, Colors, Colors1)) -> if_color_region_2_in_2_ag3(Color, Colors, members_2_in_ag1(Colors1))
select_3_in_aga1(._22(X, Xs)) -> select_3_out_aga3(X, ._22(X, Xs), Xs)
select_3_in_aga1(._22(Y, Ys)) -> if_select_3_in_1_aga3(Y, Ys, select_3_in_aga1(Ys))
if_color_region_2_in_2_ag3(Color, Colors, members_2_out_ag2(Neighbors, Colors1)) -> color_region_2_out_ag2(region_32(Color, Neighbors), Colors)
if_select_3_in_1_aga3(Y, Ys, select_3_out_aga3(X, Ys, Zs)) -> select_3_out_aga3(X, ._22(Y, Ys), ._22(Y, Zs))
members_2_in_ag1(Ys) -> if_members_2_in_1_ag2(Ys, member_2_in_ag1(Ys))
members_2_in_ag1(Ys) -> members_2_out_ag2([]_0, Ys)
if_members_2_in_1_ag2(Ys, member_2_out_ag2(X, Ys)) -> if_members_2_in_2_ag3(X, Ys, members_2_in_ag1(Ys))
member_2_in_ag1(._22(X, underscore)) -> member_2_out_ag2(X, ._22(X, underscore))
member_2_in_ag1(._22(underscore1, Xs)) -> if_member_2_in_1_ag3(underscore1, Xs, member_2_in_ag1(Xs))
if_members_2_in_2_ag3(X, Ys, members_2_out_ag2(Xs, Ys)) -> members_2_out_ag2(._22(X, Xs), Ys)
if_member_2_in_1_ag3(underscore1, Xs, member_2_out_ag2(X, Xs)) -> member_2_out_ag2(X, ._22(underscore1, Xs))
color_region_2_in_ag1(x0)
if_color_region_2_in_1_ag2(x0, x1)
select_3_in_aga1(x0)
if_color_region_2_in_2_ag3(x0, x1, x2)
if_select_3_in_1_aga3(x0, x1, x2)
members_2_in_ag1(x0)
if_members_2_in_1_ag2(x0, x1)
member_2_in_ag1(x0)
if_members_2_in_2_ag3(x0, x1, x2)
if_member_2_in_1_ag3(x0, x1, x2)