↳ PROLOG
↳ PrologToPiTRSProof
With regard to the inferred argument filtering the predicates were used in the following modes:
queens1: (f)
perm2: (b,f)
delete3: (f,b,f)
safe1: (b)
noattack3: (b,b,b)
notEq2: (b,b)
add3: (b,b,f)
Transforming PROLOG into the following Term Rewriting System:
Pi-finite rewrite system:
The TRS R consists of the following rules:
queens_1_in_a1(Y) -> if_queens_1_in_1_a2(Y, perm_2_in_ga2(._22(s_11(0_0), ._22(s_11(s_11(0_0)), ._22(s_11(s_11(s_11(0_0))), ._22(s_11(s_11(s_11(s_11(0_0)))), ._22(s_11(s_11(s_11(s_11(s_11(0_0))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(0_0)))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(s_11(0_0))))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(s_11(s_11(0_0)))))))), []_0)))))))), Y))
perm_2_in_ga2([]_0, []_0) -> perm_2_out_ga2([]_0, []_0)
perm_2_in_ga2(._22(X, Y), ._22(V, Res)) -> if_perm_2_in_1_ga5(X, Y, V, Res, delete_3_in_aga3(V, ._22(X, Y), Rest))
delete_3_in_aga3(X, ._22(X, Y), Y) -> delete_3_out_aga3(X, ._22(X, Y), Y)
delete_3_in_aga3(X, ._22(F, T), ._22(F, R)) -> if_delete_3_in_1_aga5(X, F, T, R, delete_3_in_aga3(X, T, R))
if_delete_3_in_1_aga5(X, F, T, R, delete_3_out_aga3(X, T, R)) -> delete_3_out_aga3(X, ._22(F, T), ._22(F, R))
if_perm_2_in_1_ga5(X, Y, V, Res, delete_3_out_aga3(V, ._22(X, Y), Rest)) -> if_perm_2_in_2_ga6(X, Y, V, Res, Rest, perm_2_in_ga2(Rest, Res))
if_perm_2_in_2_ga6(X, Y, V, Res, Rest, perm_2_out_ga2(Rest, Res)) -> perm_2_out_ga2(._22(X, Y), ._22(V, Res))
if_queens_1_in_1_a2(Y, perm_2_out_ga2(._22(s_11(0_0), ._22(s_11(s_11(0_0)), ._22(s_11(s_11(s_11(0_0))), ._22(s_11(s_11(s_11(s_11(0_0)))), ._22(s_11(s_11(s_11(s_11(s_11(0_0))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(0_0)))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(s_11(0_0))))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(s_11(s_11(0_0)))))))), []_0)))))))), Y)) -> if_queens_1_in_2_a2(Y, safe_1_in_g1(Y))
safe_1_in_g1([]_0) -> safe_1_out_g1([]_0)
safe_1_in_g1(._22(X, Y)) -> if_safe_1_in_1_g3(X, Y, noattack_3_in_ggg3(X, Y, s_11(0_0)))
noattack_3_in_ggg3(X, []_0, N) -> noattack_3_out_ggg3(X, []_0, N)
noattack_3_in_ggg3(X, ._22(F, T), N) -> if_noattack_3_in_1_ggg5(X, F, T, N, notEq_2_in_gg2(X, F))
notEq_2_in_gg2(0_0, s_11(X)) -> notEq_2_out_gg2(0_0, s_11(X))
notEq_2_in_gg2(s_11(X), 0_0) -> notEq_2_out_gg2(s_11(X), 0_0)
notEq_2_in_gg2(s_11(X), s_11(Y)) -> if_notEq_2_in_1_gg3(X, Y, notEq_2_in_gg2(X, Y))
if_notEq_2_in_1_gg3(X, Y, notEq_2_out_gg2(X, Y)) -> notEq_2_out_gg2(s_11(X), s_11(Y))
if_noattack_3_in_1_ggg5(X, F, T, N, notEq_2_out_gg2(X, F)) -> if_noattack_3_in_2_ggg5(X, F, T, N, add_3_in_gga3(F, N, FplusN))
add_3_in_gga3(0_0, X, X) -> add_3_out_gga3(0_0, X, X)
add_3_in_gga3(s_11(X), Y, s_11(Z)) -> if_add_3_in_1_gga4(X, Y, Z, add_3_in_gga3(X, Y, Z))
if_add_3_in_1_gga4(X, Y, Z, add_3_out_gga3(X, Y, Z)) -> add_3_out_gga3(s_11(X), Y, s_11(Z))
if_noattack_3_in_2_ggg5(X, F, T, N, add_3_out_gga3(F, N, FplusN)) -> if_noattack_3_in_3_ggg6(X, F, T, N, FplusN, notEq_2_in_gg2(X, FplusN))
if_noattack_3_in_3_ggg6(X, F, T, N, FplusN, notEq_2_out_gg2(X, FplusN)) -> if_noattack_3_in_4_ggg5(X, F, T, N, add_3_in_gga3(X, N, XplusN))
if_noattack_3_in_4_ggg5(X, F, T, N, add_3_out_gga3(X, N, XplusN)) -> if_noattack_3_in_5_ggg6(X, F, T, N, XplusN, notEq_2_in_gg2(F, XplusN))
if_noattack_3_in_5_ggg6(X, F, T, N, XplusN, notEq_2_out_gg2(F, XplusN)) -> if_noattack_3_in_6_ggg5(X, F, T, N, noattack_3_in_ggg3(X, T, s_11(N)))
if_noattack_3_in_6_ggg5(X, F, T, N, noattack_3_out_ggg3(X, T, s_11(N))) -> noattack_3_out_ggg3(X, ._22(F, T), N)
if_safe_1_in_1_g3(X, Y, noattack_3_out_ggg3(X, Y, s_11(0_0))) -> if_safe_1_in_2_g3(X, Y, safe_1_in_g1(Y))
if_safe_1_in_2_g3(X, Y, safe_1_out_g1(Y)) -> safe_1_out_g1(._22(X, Y))
if_queens_1_in_2_a2(Y, safe_1_out_g1(Y)) -> queens_1_out_a1(Y)
Infinitary Constructor Rewriting Termination of PiTRS implies Termination of PROLOG
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
queens_1_in_a1(Y) -> if_queens_1_in_1_a2(Y, perm_2_in_ga2(._22(s_11(0_0), ._22(s_11(s_11(0_0)), ._22(s_11(s_11(s_11(0_0))), ._22(s_11(s_11(s_11(s_11(0_0)))), ._22(s_11(s_11(s_11(s_11(s_11(0_0))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(0_0)))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(s_11(0_0))))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(s_11(s_11(0_0)))))))), []_0)))))))), Y))
perm_2_in_ga2([]_0, []_0) -> perm_2_out_ga2([]_0, []_0)
perm_2_in_ga2(._22(X, Y), ._22(V, Res)) -> if_perm_2_in_1_ga5(X, Y, V, Res, delete_3_in_aga3(V, ._22(X, Y), Rest))
delete_3_in_aga3(X, ._22(X, Y), Y) -> delete_3_out_aga3(X, ._22(X, Y), Y)
delete_3_in_aga3(X, ._22(F, T), ._22(F, R)) -> if_delete_3_in_1_aga5(X, F, T, R, delete_3_in_aga3(X, T, R))
if_delete_3_in_1_aga5(X, F, T, R, delete_3_out_aga3(X, T, R)) -> delete_3_out_aga3(X, ._22(F, T), ._22(F, R))
if_perm_2_in_1_ga5(X, Y, V, Res, delete_3_out_aga3(V, ._22(X, Y), Rest)) -> if_perm_2_in_2_ga6(X, Y, V, Res, Rest, perm_2_in_ga2(Rest, Res))
if_perm_2_in_2_ga6(X, Y, V, Res, Rest, perm_2_out_ga2(Rest, Res)) -> perm_2_out_ga2(._22(X, Y), ._22(V, Res))
if_queens_1_in_1_a2(Y, perm_2_out_ga2(._22(s_11(0_0), ._22(s_11(s_11(0_0)), ._22(s_11(s_11(s_11(0_0))), ._22(s_11(s_11(s_11(s_11(0_0)))), ._22(s_11(s_11(s_11(s_11(s_11(0_0))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(0_0)))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(s_11(0_0))))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(s_11(s_11(0_0)))))))), []_0)))))))), Y)) -> if_queens_1_in_2_a2(Y, safe_1_in_g1(Y))
safe_1_in_g1([]_0) -> safe_1_out_g1([]_0)
safe_1_in_g1(._22(X, Y)) -> if_safe_1_in_1_g3(X, Y, noattack_3_in_ggg3(X, Y, s_11(0_0)))
noattack_3_in_ggg3(X, []_0, N) -> noattack_3_out_ggg3(X, []_0, N)
noattack_3_in_ggg3(X, ._22(F, T), N) -> if_noattack_3_in_1_ggg5(X, F, T, N, notEq_2_in_gg2(X, F))
notEq_2_in_gg2(0_0, s_11(X)) -> notEq_2_out_gg2(0_0, s_11(X))
notEq_2_in_gg2(s_11(X), 0_0) -> notEq_2_out_gg2(s_11(X), 0_0)
notEq_2_in_gg2(s_11(X), s_11(Y)) -> if_notEq_2_in_1_gg3(X, Y, notEq_2_in_gg2(X, Y))
if_notEq_2_in_1_gg3(X, Y, notEq_2_out_gg2(X, Y)) -> notEq_2_out_gg2(s_11(X), s_11(Y))
if_noattack_3_in_1_ggg5(X, F, T, N, notEq_2_out_gg2(X, F)) -> if_noattack_3_in_2_ggg5(X, F, T, N, add_3_in_gga3(F, N, FplusN))
add_3_in_gga3(0_0, X, X) -> add_3_out_gga3(0_0, X, X)
add_3_in_gga3(s_11(X), Y, s_11(Z)) -> if_add_3_in_1_gga4(X, Y, Z, add_3_in_gga3(X, Y, Z))
if_add_3_in_1_gga4(X, Y, Z, add_3_out_gga3(X, Y, Z)) -> add_3_out_gga3(s_11(X), Y, s_11(Z))
if_noattack_3_in_2_ggg5(X, F, T, N, add_3_out_gga3(F, N, FplusN)) -> if_noattack_3_in_3_ggg6(X, F, T, N, FplusN, notEq_2_in_gg2(X, FplusN))
if_noattack_3_in_3_ggg6(X, F, T, N, FplusN, notEq_2_out_gg2(X, FplusN)) -> if_noattack_3_in_4_ggg5(X, F, T, N, add_3_in_gga3(X, N, XplusN))
if_noattack_3_in_4_ggg5(X, F, T, N, add_3_out_gga3(X, N, XplusN)) -> if_noattack_3_in_5_ggg6(X, F, T, N, XplusN, notEq_2_in_gg2(F, XplusN))
if_noattack_3_in_5_ggg6(X, F, T, N, XplusN, notEq_2_out_gg2(F, XplusN)) -> if_noattack_3_in_6_ggg5(X, F, T, N, noattack_3_in_ggg3(X, T, s_11(N)))
if_noattack_3_in_6_ggg5(X, F, T, N, noattack_3_out_ggg3(X, T, s_11(N))) -> noattack_3_out_ggg3(X, ._22(F, T), N)
if_safe_1_in_1_g3(X, Y, noattack_3_out_ggg3(X, Y, s_11(0_0))) -> if_safe_1_in_2_g3(X, Y, safe_1_in_g1(Y))
if_safe_1_in_2_g3(X, Y, safe_1_out_g1(Y)) -> safe_1_out_g1(._22(X, Y))
if_queens_1_in_2_a2(Y, safe_1_out_g1(Y)) -> queens_1_out_a1(Y)
QUEENS_1_IN_A1(Y) -> IF_QUEENS_1_IN_1_A2(Y, perm_2_in_ga2(._22(s_11(0_0), ._22(s_11(s_11(0_0)), ._22(s_11(s_11(s_11(0_0))), ._22(s_11(s_11(s_11(s_11(0_0)))), ._22(s_11(s_11(s_11(s_11(s_11(0_0))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(0_0)))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(s_11(0_0))))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(s_11(s_11(0_0)))))))), []_0)))))))), Y))
QUEENS_1_IN_A1(Y) -> PERM_2_IN_GA2(._22(s_11(0_0), ._22(s_11(s_11(0_0)), ._22(s_11(s_11(s_11(0_0))), ._22(s_11(s_11(s_11(s_11(0_0)))), ._22(s_11(s_11(s_11(s_11(s_11(0_0))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(0_0)))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(s_11(0_0))))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(s_11(s_11(0_0)))))))), []_0)))))))), Y)
PERM_2_IN_GA2(._22(X, Y), ._22(V, Res)) -> IF_PERM_2_IN_1_GA5(X, Y, V, Res, delete_3_in_aga3(V, ._22(X, Y), Rest))
PERM_2_IN_GA2(._22(X, Y), ._22(V, Res)) -> DELETE_3_IN_AGA3(V, ._22(X, Y), Rest)
DELETE_3_IN_AGA3(X, ._22(F, T), ._22(F, R)) -> IF_DELETE_3_IN_1_AGA5(X, F, T, R, delete_3_in_aga3(X, T, R))
DELETE_3_IN_AGA3(X, ._22(F, T), ._22(F, R)) -> DELETE_3_IN_AGA3(X, T, R)
IF_PERM_2_IN_1_GA5(X, Y, V, Res, delete_3_out_aga3(V, ._22(X, Y), Rest)) -> IF_PERM_2_IN_2_GA6(X, Y, V, Res, Rest, perm_2_in_ga2(Rest, Res))
IF_PERM_2_IN_1_GA5(X, Y, V, Res, delete_3_out_aga3(V, ._22(X, Y), Rest)) -> PERM_2_IN_GA2(Rest, Res)
IF_QUEENS_1_IN_1_A2(Y, perm_2_out_ga2(._22(s_11(0_0), ._22(s_11(s_11(0_0)), ._22(s_11(s_11(s_11(0_0))), ._22(s_11(s_11(s_11(s_11(0_0)))), ._22(s_11(s_11(s_11(s_11(s_11(0_0))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(0_0)))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(s_11(0_0))))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(s_11(s_11(0_0)))))))), []_0)))))))), Y)) -> IF_QUEENS_1_IN_2_A2(Y, safe_1_in_g1(Y))
IF_QUEENS_1_IN_1_A2(Y, perm_2_out_ga2(._22(s_11(0_0), ._22(s_11(s_11(0_0)), ._22(s_11(s_11(s_11(0_0))), ._22(s_11(s_11(s_11(s_11(0_0)))), ._22(s_11(s_11(s_11(s_11(s_11(0_0))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(0_0)))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(s_11(0_0))))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(s_11(s_11(0_0)))))))), []_0)))))))), Y)) -> SAFE_1_IN_G1(Y)
SAFE_1_IN_G1(._22(X, Y)) -> IF_SAFE_1_IN_1_G3(X, Y, noattack_3_in_ggg3(X, Y, s_11(0_0)))
SAFE_1_IN_G1(._22(X, Y)) -> NOATTACK_3_IN_GGG3(X, Y, s_11(0_0))
NOATTACK_3_IN_GGG3(X, ._22(F, T), N) -> IF_NOATTACK_3_IN_1_GGG5(X, F, T, N, notEq_2_in_gg2(X, F))
NOATTACK_3_IN_GGG3(X, ._22(F, T), N) -> NOTEQ_2_IN_GG2(X, F)
NOTEQ_2_IN_GG2(s_11(X), s_11(Y)) -> IF_NOTEQ_2_IN_1_GG3(X, Y, notEq_2_in_gg2(X, Y))
NOTEQ_2_IN_GG2(s_11(X), s_11(Y)) -> NOTEQ_2_IN_GG2(X, Y)
IF_NOATTACK_3_IN_1_GGG5(X, F, T, N, notEq_2_out_gg2(X, F)) -> IF_NOATTACK_3_IN_2_GGG5(X, F, T, N, add_3_in_gga3(F, N, FplusN))
IF_NOATTACK_3_IN_1_GGG5(X, F, T, N, notEq_2_out_gg2(X, F)) -> ADD_3_IN_GGA3(F, N, FplusN)
ADD_3_IN_GGA3(s_11(X), Y, s_11(Z)) -> IF_ADD_3_IN_1_GGA4(X, Y, Z, add_3_in_gga3(X, Y, Z))
ADD_3_IN_GGA3(s_11(X), Y, s_11(Z)) -> ADD_3_IN_GGA3(X, Y, Z)
IF_NOATTACK_3_IN_2_GGG5(X, F, T, N, add_3_out_gga3(F, N, FplusN)) -> IF_NOATTACK_3_IN_3_GGG6(X, F, T, N, FplusN, notEq_2_in_gg2(X, FplusN))
IF_NOATTACK_3_IN_2_GGG5(X, F, T, N, add_3_out_gga3(F, N, FplusN)) -> NOTEQ_2_IN_GG2(X, FplusN)
IF_NOATTACK_3_IN_3_GGG6(X, F, T, N, FplusN, notEq_2_out_gg2(X, FplusN)) -> IF_NOATTACK_3_IN_4_GGG5(X, F, T, N, add_3_in_gga3(X, N, XplusN))
IF_NOATTACK_3_IN_3_GGG6(X, F, T, N, FplusN, notEq_2_out_gg2(X, FplusN)) -> ADD_3_IN_GGA3(X, N, XplusN)
IF_NOATTACK_3_IN_4_GGG5(X, F, T, N, add_3_out_gga3(X, N, XplusN)) -> IF_NOATTACK_3_IN_5_GGG6(X, F, T, N, XplusN, notEq_2_in_gg2(F, XplusN))
IF_NOATTACK_3_IN_4_GGG5(X, F, T, N, add_3_out_gga3(X, N, XplusN)) -> NOTEQ_2_IN_GG2(F, XplusN)
IF_NOATTACK_3_IN_5_GGG6(X, F, T, N, XplusN, notEq_2_out_gg2(F, XplusN)) -> IF_NOATTACK_3_IN_6_GGG5(X, F, T, N, noattack_3_in_ggg3(X, T, s_11(N)))
IF_NOATTACK_3_IN_5_GGG6(X, F, T, N, XplusN, notEq_2_out_gg2(F, XplusN)) -> NOATTACK_3_IN_GGG3(X, T, s_11(N))
IF_SAFE_1_IN_1_G3(X, Y, noattack_3_out_ggg3(X, Y, s_11(0_0))) -> IF_SAFE_1_IN_2_G3(X, Y, safe_1_in_g1(Y))
IF_SAFE_1_IN_1_G3(X, Y, noattack_3_out_ggg3(X, Y, s_11(0_0))) -> SAFE_1_IN_G1(Y)
queens_1_in_a1(Y) -> if_queens_1_in_1_a2(Y, perm_2_in_ga2(._22(s_11(0_0), ._22(s_11(s_11(0_0)), ._22(s_11(s_11(s_11(0_0))), ._22(s_11(s_11(s_11(s_11(0_0)))), ._22(s_11(s_11(s_11(s_11(s_11(0_0))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(0_0)))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(s_11(0_0))))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(s_11(s_11(0_0)))))))), []_0)))))))), Y))
perm_2_in_ga2([]_0, []_0) -> perm_2_out_ga2([]_0, []_0)
perm_2_in_ga2(._22(X, Y), ._22(V, Res)) -> if_perm_2_in_1_ga5(X, Y, V, Res, delete_3_in_aga3(V, ._22(X, Y), Rest))
delete_3_in_aga3(X, ._22(X, Y), Y) -> delete_3_out_aga3(X, ._22(X, Y), Y)
delete_3_in_aga3(X, ._22(F, T), ._22(F, R)) -> if_delete_3_in_1_aga5(X, F, T, R, delete_3_in_aga3(X, T, R))
if_delete_3_in_1_aga5(X, F, T, R, delete_3_out_aga3(X, T, R)) -> delete_3_out_aga3(X, ._22(F, T), ._22(F, R))
if_perm_2_in_1_ga5(X, Y, V, Res, delete_3_out_aga3(V, ._22(X, Y), Rest)) -> if_perm_2_in_2_ga6(X, Y, V, Res, Rest, perm_2_in_ga2(Rest, Res))
if_perm_2_in_2_ga6(X, Y, V, Res, Rest, perm_2_out_ga2(Rest, Res)) -> perm_2_out_ga2(._22(X, Y), ._22(V, Res))
if_queens_1_in_1_a2(Y, perm_2_out_ga2(._22(s_11(0_0), ._22(s_11(s_11(0_0)), ._22(s_11(s_11(s_11(0_0))), ._22(s_11(s_11(s_11(s_11(0_0)))), ._22(s_11(s_11(s_11(s_11(s_11(0_0))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(0_0)))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(s_11(0_0))))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(s_11(s_11(0_0)))))))), []_0)))))))), Y)) -> if_queens_1_in_2_a2(Y, safe_1_in_g1(Y))
safe_1_in_g1([]_0) -> safe_1_out_g1([]_0)
safe_1_in_g1(._22(X, Y)) -> if_safe_1_in_1_g3(X, Y, noattack_3_in_ggg3(X, Y, s_11(0_0)))
noattack_3_in_ggg3(X, []_0, N) -> noattack_3_out_ggg3(X, []_0, N)
noattack_3_in_ggg3(X, ._22(F, T), N) -> if_noattack_3_in_1_ggg5(X, F, T, N, notEq_2_in_gg2(X, F))
notEq_2_in_gg2(0_0, s_11(X)) -> notEq_2_out_gg2(0_0, s_11(X))
notEq_2_in_gg2(s_11(X), 0_0) -> notEq_2_out_gg2(s_11(X), 0_0)
notEq_2_in_gg2(s_11(X), s_11(Y)) -> if_notEq_2_in_1_gg3(X, Y, notEq_2_in_gg2(X, Y))
if_notEq_2_in_1_gg3(X, Y, notEq_2_out_gg2(X, Y)) -> notEq_2_out_gg2(s_11(X), s_11(Y))
if_noattack_3_in_1_ggg5(X, F, T, N, notEq_2_out_gg2(X, F)) -> if_noattack_3_in_2_ggg5(X, F, T, N, add_3_in_gga3(F, N, FplusN))
add_3_in_gga3(0_0, X, X) -> add_3_out_gga3(0_0, X, X)
add_3_in_gga3(s_11(X), Y, s_11(Z)) -> if_add_3_in_1_gga4(X, Y, Z, add_3_in_gga3(X, Y, Z))
if_add_3_in_1_gga4(X, Y, Z, add_3_out_gga3(X, Y, Z)) -> add_3_out_gga3(s_11(X), Y, s_11(Z))
if_noattack_3_in_2_ggg5(X, F, T, N, add_3_out_gga3(F, N, FplusN)) -> if_noattack_3_in_3_ggg6(X, F, T, N, FplusN, notEq_2_in_gg2(X, FplusN))
if_noattack_3_in_3_ggg6(X, F, T, N, FplusN, notEq_2_out_gg2(X, FplusN)) -> if_noattack_3_in_4_ggg5(X, F, T, N, add_3_in_gga3(X, N, XplusN))
if_noattack_3_in_4_ggg5(X, F, T, N, add_3_out_gga3(X, N, XplusN)) -> if_noattack_3_in_5_ggg6(X, F, T, N, XplusN, notEq_2_in_gg2(F, XplusN))
if_noattack_3_in_5_ggg6(X, F, T, N, XplusN, notEq_2_out_gg2(F, XplusN)) -> if_noattack_3_in_6_ggg5(X, F, T, N, noattack_3_in_ggg3(X, T, s_11(N)))
if_noattack_3_in_6_ggg5(X, F, T, N, noattack_3_out_ggg3(X, T, s_11(N))) -> noattack_3_out_ggg3(X, ._22(F, T), N)
if_safe_1_in_1_g3(X, Y, noattack_3_out_ggg3(X, Y, s_11(0_0))) -> if_safe_1_in_2_g3(X, Y, safe_1_in_g1(Y))
if_safe_1_in_2_g3(X, Y, safe_1_out_g1(Y)) -> safe_1_out_g1(._22(X, Y))
if_queens_1_in_2_a2(Y, safe_1_out_g1(Y)) -> queens_1_out_a1(Y)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
QUEENS_1_IN_A1(Y) -> IF_QUEENS_1_IN_1_A2(Y, perm_2_in_ga2(._22(s_11(0_0), ._22(s_11(s_11(0_0)), ._22(s_11(s_11(s_11(0_0))), ._22(s_11(s_11(s_11(s_11(0_0)))), ._22(s_11(s_11(s_11(s_11(s_11(0_0))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(0_0)))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(s_11(0_0))))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(s_11(s_11(0_0)))))))), []_0)))))))), Y))
QUEENS_1_IN_A1(Y) -> PERM_2_IN_GA2(._22(s_11(0_0), ._22(s_11(s_11(0_0)), ._22(s_11(s_11(s_11(0_0))), ._22(s_11(s_11(s_11(s_11(0_0)))), ._22(s_11(s_11(s_11(s_11(s_11(0_0))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(0_0)))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(s_11(0_0))))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(s_11(s_11(0_0)))))))), []_0)))))))), Y)
PERM_2_IN_GA2(._22(X, Y), ._22(V, Res)) -> IF_PERM_2_IN_1_GA5(X, Y, V, Res, delete_3_in_aga3(V, ._22(X, Y), Rest))
PERM_2_IN_GA2(._22(X, Y), ._22(V, Res)) -> DELETE_3_IN_AGA3(V, ._22(X, Y), Rest)
DELETE_3_IN_AGA3(X, ._22(F, T), ._22(F, R)) -> IF_DELETE_3_IN_1_AGA5(X, F, T, R, delete_3_in_aga3(X, T, R))
DELETE_3_IN_AGA3(X, ._22(F, T), ._22(F, R)) -> DELETE_3_IN_AGA3(X, T, R)
IF_PERM_2_IN_1_GA5(X, Y, V, Res, delete_3_out_aga3(V, ._22(X, Y), Rest)) -> IF_PERM_2_IN_2_GA6(X, Y, V, Res, Rest, perm_2_in_ga2(Rest, Res))
IF_PERM_2_IN_1_GA5(X, Y, V, Res, delete_3_out_aga3(V, ._22(X, Y), Rest)) -> PERM_2_IN_GA2(Rest, Res)
IF_QUEENS_1_IN_1_A2(Y, perm_2_out_ga2(._22(s_11(0_0), ._22(s_11(s_11(0_0)), ._22(s_11(s_11(s_11(0_0))), ._22(s_11(s_11(s_11(s_11(0_0)))), ._22(s_11(s_11(s_11(s_11(s_11(0_0))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(0_0)))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(s_11(0_0))))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(s_11(s_11(0_0)))))))), []_0)))))))), Y)) -> IF_QUEENS_1_IN_2_A2(Y, safe_1_in_g1(Y))
IF_QUEENS_1_IN_1_A2(Y, perm_2_out_ga2(._22(s_11(0_0), ._22(s_11(s_11(0_0)), ._22(s_11(s_11(s_11(0_0))), ._22(s_11(s_11(s_11(s_11(0_0)))), ._22(s_11(s_11(s_11(s_11(s_11(0_0))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(0_0)))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(s_11(0_0))))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(s_11(s_11(0_0)))))))), []_0)))))))), Y)) -> SAFE_1_IN_G1(Y)
SAFE_1_IN_G1(._22(X, Y)) -> IF_SAFE_1_IN_1_G3(X, Y, noattack_3_in_ggg3(X, Y, s_11(0_0)))
SAFE_1_IN_G1(._22(X, Y)) -> NOATTACK_3_IN_GGG3(X, Y, s_11(0_0))
NOATTACK_3_IN_GGG3(X, ._22(F, T), N) -> IF_NOATTACK_3_IN_1_GGG5(X, F, T, N, notEq_2_in_gg2(X, F))
NOATTACK_3_IN_GGG3(X, ._22(F, T), N) -> NOTEQ_2_IN_GG2(X, F)
NOTEQ_2_IN_GG2(s_11(X), s_11(Y)) -> IF_NOTEQ_2_IN_1_GG3(X, Y, notEq_2_in_gg2(X, Y))
NOTEQ_2_IN_GG2(s_11(X), s_11(Y)) -> NOTEQ_2_IN_GG2(X, Y)
IF_NOATTACK_3_IN_1_GGG5(X, F, T, N, notEq_2_out_gg2(X, F)) -> IF_NOATTACK_3_IN_2_GGG5(X, F, T, N, add_3_in_gga3(F, N, FplusN))
IF_NOATTACK_3_IN_1_GGG5(X, F, T, N, notEq_2_out_gg2(X, F)) -> ADD_3_IN_GGA3(F, N, FplusN)
ADD_3_IN_GGA3(s_11(X), Y, s_11(Z)) -> IF_ADD_3_IN_1_GGA4(X, Y, Z, add_3_in_gga3(X, Y, Z))
ADD_3_IN_GGA3(s_11(X), Y, s_11(Z)) -> ADD_3_IN_GGA3(X, Y, Z)
IF_NOATTACK_3_IN_2_GGG5(X, F, T, N, add_3_out_gga3(F, N, FplusN)) -> IF_NOATTACK_3_IN_3_GGG6(X, F, T, N, FplusN, notEq_2_in_gg2(X, FplusN))
IF_NOATTACK_3_IN_2_GGG5(X, F, T, N, add_3_out_gga3(F, N, FplusN)) -> NOTEQ_2_IN_GG2(X, FplusN)
IF_NOATTACK_3_IN_3_GGG6(X, F, T, N, FplusN, notEq_2_out_gg2(X, FplusN)) -> IF_NOATTACK_3_IN_4_GGG5(X, F, T, N, add_3_in_gga3(X, N, XplusN))
IF_NOATTACK_3_IN_3_GGG6(X, F, T, N, FplusN, notEq_2_out_gg2(X, FplusN)) -> ADD_3_IN_GGA3(X, N, XplusN)
IF_NOATTACK_3_IN_4_GGG5(X, F, T, N, add_3_out_gga3(X, N, XplusN)) -> IF_NOATTACK_3_IN_5_GGG6(X, F, T, N, XplusN, notEq_2_in_gg2(F, XplusN))
IF_NOATTACK_3_IN_4_GGG5(X, F, T, N, add_3_out_gga3(X, N, XplusN)) -> NOTEQ_2_IN_GG2(F, XplusN)
IF_NOATTACK_3_IN_5_GGG6(X, F, T, N, XplusN, notEq_2_out_gg2(F, XplusN)) -> IF_NOATTACK_3_IN_6_GGG5(X, F, T, N, noattack_3_in_ggg3(X, T, s_11(N)))
IF_NOATTACK_3_IN_5_GGG6(X, F, T, N, XplusN, notEq_2_out_gg2(F, XplusN)) -> NOATTACK_3_IN_GGG3(X, T, s_11(N))
IF_SAFE_1_IN_1_G3(X, Y, noattack_3_out_ggg3(X, Y, s_11(0_0))) -> IF_SAFE_1_IN_2_G3(X, Y, safe_1_in_g1(Y))
IF_SAFE_1_IN_1_G3(X, Y, noattack_3_out_ggg3(X, Y, s_11(0_0))) -> SAFE_1_IN_G1(Y)
queens_1_in_a1(Y) -> if_queens_1_in_1_a2(Y, perm_2_in_ga2(._22(s_11(0_0), ._22(s_11(s_11(0_0)), ._22(s_11(s_11(s_11(0_0))), ._22(s_11(s_11(s_11(s_11(0_0)))), ._22(s_11(s_11(s_11(s_11(s_11(0_0))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(0_0)))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(s_11(0_0))))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(s_11(s_11(0_0)))))))), []_0)))))))), Y))
perm_2_in_ga2([]_0, []_0) -> perm_2_out_ga2([]_0, []_0)
perm_2_in_ga2(._22(X, Y), ._22(V, Res)) -> if_perm_2_in_1_ga5(X, Y, V, Res, delete_3_in_aga3(V, ._22(X, Y), Rest))
delete_3_in_aga3(X, ._22(X, Y), Y) -> delete_3_out_aga3(X, ._22(X, Y), Y)
delete_3_in_aga3(X, ._22(F, T), ._22(F, R)) -> if_delete_3_in_1_aga5(X, F, T, R, delete_3_in_aga3(X, T, R))
if_delete_3_in_1_aga5(X, F, T, R, delete_3_out_aga3(X, T, R)) -> delete_3_out_aga3(X, ._22(F, T), ._22(F, R))
if_perm_2_in_1_ga5(X, Y, V, Res, delete_3_out_aga3(V, ._22(X, Y), Rest)) -> if_perm_2_in_2_ga6(X, Y, V, Res, Rest, perm_2_in_ga2(Rest, Res))
if_perm_2_in_2_ga6(X, Y, V, Res, Rest, perm_2_out_ga2(Rest, Res)) -> perm_2_out_ga2(._22(X, Y), ._22(V, Res))
if_queens_1_in_1_a2(Y, perm_2_out_ga2(._22(s_11(0_0), ._22(s_11(s_11(0_0)), ._22(s_11(s_11(s_11(0_0))), ._22(s_11(s_11(s_11(s_11(0_0)))), ._22(s_11(s_11(s_11(s_11(s_11(0_0))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(0_0)))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(s_11(0_0))))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(s_11(s_11(0_0)))))))), []_0)))))))), Y)) -> if_queens_1_in_2_a2(Y, safe_1_in_g1(Y))
safe_1_in_g1([]_0) -> safe_1_out_g1([]_0)
safe_1_in_g1(._22(X, Y)) -> if_safe_1_in_1_g3(X, Y, noattack_3_in_ggg3(X, Y, s_11(0_0)))
noattack_3_in_ggg3(X, []_0, N) -> noattack_3_out_ggg3(X, []_0, N)
noattack_3_in_ggg3(X, ._22(F, T), N) -> if_noattack_3_in_1_ggg5(X, F, T, N, notEq_2_in_gg2(X, F))
notEq_2_in_gg2(0_0, s_11(X)) -> notEq_2_out_gg2(0_0, s_11(X))
notEq_2_in_gg2(s_11(X), 0_0) -> notEq_2_out_gg2(s_11(X), 0_0)
notEq_2_in_gg2(s_11(X), s_11(Y)) -> if_notEq_2_in_1_gg3(X, Y, notEq_2_in_gg2(X, Y))
if_notEq_2_in_1_gg3(X, Y, notEq_2_out_gg2(X, Y)) -> notEq_2_out_gg2(s_11(X), s_11(Y))
if_noattack_3_in_1_ggg5(X, F, T, N, notEq_2_out_gg2(X, F)) -> if_noattack_3_in_2_ggg5(X, F, T, N, add_3_in_gga3(F, N, FplusN))
add_3_in_gga3(0_0, X, X) -> add_3_out_gga3(0_0, X, X)
add_3_in_gga3(s_11(X), Y, s_11(Z)) -> if_add_3_in_1_gga4(X, Y, Z, add_3_in_gga3(X, Y, Z))
if_add_3_in_1_gga4(X, Y, Z, add_3_out_gga3(X, Y, Z)) -> add_3_out_gga3(s_11(X), Y, s_11(Z))
if_noattack_3_in_2_ggg5(X, F, T, N, add_3_out_gga3(F, N, FplusN)) -> if_noattack_3_in_3_ggg6(X, F, T, N, FplusN, notEq_2_in_gg2(X, FplusN))
if_noattack_3_in_3_ggg6(X, F, T, N, FplusN, notEq_2_out_gg2(X, FplusN)) -> if_noattack_3_in_4_ggg5(X, F, T, N, add_3_in_gga3(X, N, XplusN))
if_noattack_3_in_4_ggg5(X, F, T, N, add_3_out_gga3(X, N, XplusN)) -> if_noattack_3_in_5_ggg6(X, F, T, N, XplusN, notEq_2_in_gg2(F, XplusN))
if_noattack_3_in_5_ggg6(X, F, T, N, XplusN, notEq_2_out_gg2(F, XplusN)) -> if_noattack_3_in_6_ggg5(X, F, T, N, noattack_3_in_ggg3(X, T, s_11(N)))
if_noattack_3_in_6_ggg5(X, F, T, N, noattack_3_out_ggg3(X, T, s_11(N))) -> noattack_3_out_ggg3(X, ._22(F, T), N)
if_safe_1_in_1_g3(X, Y, noattack_3_out_ggg3(X, Y, s_11(0_0))) -> if_safe_1_in_2_g3(X, Y, safe_1_in_g1(Y))
if_safe_1_in_2_g3(X, Y, safe_1_out_g1(Y)) -> safe_1_out_g1(._22(X, Y))
if_queens_1_in_2_a2(Y, safe_1_out_g1(Y)) -> queens_1_out_a1(Y)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDP
↳ PiDP
↳ PiDP
↳ PiDP
ADD_3_IN_GGA3(s_11(X), Y, s_11(Z)) -> ADD_3_IN_GGA3(X, Y, Z)
queens_1_in_a1(Y) -> if_queens_1_in_1_a2(Y, perm_2_in_ga2(._22(s_11(0_0), ._22(s_11(s_11(0_0)), ._22(s_11(s_11(s_11(0_0))), ._22(s_11(s_11(s_11(s_11(0_0)))), ._22(s_11(s_11(s_11(s_11(s_11(0_0))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(0_0)))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(s_11(0_0))))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(s_11(s_11(0_0)))))))), []_0)))))))), Y))
perm_2_in_ga2([]_0, []_0) -> perm_2_out_ga2([]_0, []_0)
perm_2_in_ga2(._22(X, Y), ._22(V, Res)) -> if_perm_2_in_1_ga5(X, Y, V, Res, delete_3_in_aga3(V, ._22(X, Y), Rest))
delete_3_in_aga3(X, ._22(X, Y), Y) -> delete_3_out_aga3(X, ._22(X, Y), Y)
delete_3_in_aga3(X, ._22(F, T), ._22(F, R)) -> if_delete_3_in_1_aga5(X, F, T, R, delete_3_in_aga3(X, T, R))
if_delete_3_in_1_aga5(X, F, T, R, delete_3_out_aga3(X, T, R)) -> delete_3_out_aga3(X, ._22(F, T), ._22(F, R))
if_perm_2_in_1_ga5(X, Y, V, Res, delete_3_out_aga3(V, ._22(X, Y), Rest)) -> if_perm_2_in_2_ga6(X, Y, V, Res, Rest, perm_2_in_ga2(Rest, Res))
if_perm_2_in_2_ga6(X, Y, V, Res, Rest, perm_2_out_ga2(Rest, Res)) -> perm_2_out_ga2(._22(X, Y), ._22(V, Res))
if_queens_1_in_1_a2(Y, perm_2_out_ga2(._22(s_11(0_0), ._22(s_11(s_11(0_0)), ._22(s_11(s_11(s_11(0_0))), ._22(s_11(s_11(s_11(s_11(0_0)))), ._22(s_11(s_11(s_11(s_11(s_11(0_0))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(0_0)))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(s_11(0_0))))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(s_11(s_11(0_0)))))))), []_0)))))))), Y)) -> if_queens_1_in_2_a2(Y, safe_1_in_g1(Y))
safe_1_in_g1([]_0) -> safe_1_out_g1([]_0)
safe_1_in_g1(._22(X, Y)) -> if_safe_1_in_1_g3(X, Y, noattack_3_in_ggg3(X, Y, s_11(0_0)))
noattack_3_in_ggg3(X, []_0, N) -> noattack_3_out_ggg3(X, []_0, N)
noattack_3_in_ggg3(X, ._22(F, T), N) -> if_noattack_3_in_1_ggg5(X, F, T, N, notEq_2_in_gg2(X, F))
notEq_2_in_gg2(0_0, s_11(X)) -> notEq_2_out_gg2(0_0, s_11(X))
notEq_2_in_gg2(s_11(X), 0_0) -> notEq_2_out_gg2(s_11(X), 0_0)
notEq_2_in_gg2(s_11(X), s_11(Y)) -> if_notEq_2_in_1_gg3(X, Y, notEq_2_in_gg2(X, Y))
if_notEq_2_in_1_gg3(X, Y, notEq_2_out_gg2(X, Y)) -> notEq_2_out_gg2(s_11(X), s_11(Y))
if_noattack_3_in_1_ggg5(X, F, T, N, notEq_2_out_gg2(X, F)) -> if_noattack_3_in_2_ggg5(X, F, T, N, add_3_in_gga3(F, N, FplusN))
add_3_in_gga3(0_0, X, X) -> add_3_out_gga3(0_0, X, X)
add_3_in_gga3(s_11(X), Y, s_11(Z)) -> if_add_3_in_1_gga4(X, Y, Z, add_3_in_gga3(X, Y, Z))
if_add_3_in_1_gga4(X, Y, Z, add_3_out_gga3(X, Y, Z)) -> add_3_out_gga3(s_11(X), Y, s_11(Z))
if_noattack_3_in_2_ggg5(X, F, T, N, add_3_out_gga3(F, N, FplusN)) -> if_noattack_3_in_3_ggg6(X, F, T, N, FplusN, notEq_2_in_gg2(X, FplusN))
if_noattack_3_in_3_ggg6(X, F, T, N, FplusN, notEq_2_out_gg2(X, FplusN)) -> if_noattack_3_in_4_ggg5(X, F, T, N, add_3_in_gga3(X, N, XplusN))
if_noattack_3_in_4_ggg5(X, F, T, N, add_3_out_gga3(X, N, XplusN)) -> if_noattack_3_in_5_ggg6(X, F, T, N, XplusN, notEq_2_in_gg2(F, XplusN))
if_noattack_3_in_5_ggg6(X, F, T, N, XplusN, notEq_2_out_gg2(F, XplusN)) -> if_noattack_3_in_6_ggg5(X, F, T, N, noattack_3_in_ggg3(X, T, s_11(N)))
if_noattack_3_in_6_ggg5(X, F, T, N, noattack_3_out_ggg3(X, T, s_11(N))) -> noattack_3_out_ggg3(X, ._22(F, T), N)
if_safe_1_in_1_g3(X, Y, noattack_3_out_ggg3(X, Y, s_11(0_0))) -> if_safe_1_in_2_g3(X, Y, safe_1_in_g1(Y))
if_safe_1_in_2_g3(X, Y, safe_1_out_g1(Y)) -> safe_1_out_g1(._22(X, Y))
if_queens_1_in_2_a2(Y, safe_1_out_g1(Y)) -> queens_1_out_a1(Y)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ PiDP
↳ PiDP
↳ PiDP
↳ PiDP
↳ PiDP
ADD_3_IN_GGA3(s_11(X), Y, s_11(Z)) -> ADD_3_IN_GGA3(X, Y, Z)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ QDPSizeChangeProof
↳ PiDP
↳ PiDP
↳ PiDP
↳ PiDP
↳ PiDP
ADD_3_IN_GGA2(s_11(X), Y) -> ADD_3_IN_GGA2(X, Y)
From the DPs we obtained the following set of size-change graphs:
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDP
↳ PiDP
↳ PiDP
NOTEQ_2_IN_GG2(s_11(X), s_11(Y)) -> NOTEQ_2_IN_GG2(X, Y)
queens_1_in_a1(Y) -> if_queens_1_in_1_a2(Y, perm_2_in_ga2(._22(s_11(0_0), ._22(s_11(s_11(0_0)), ._22(s_11(s_11(s_11(0_0))), ._22(s_11(s_11(s_11(s_11(0_0)))), ._22(s_11(s_11(s_11(s_11(s_11(0_0))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(0_0)))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(s_11(0_0))))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(s_11(s_11(0_0)))))))), []_0)))))))), Y))
perm_2_in_ga2([]_0, []_0) -> perm_2_out_ga2([]_0, []_0)
perm_2_in_ga2(._22(X, Y), ._22(V, Res)) -> if_perm_2_in_1_ga5(X, Y, V, Res, delete_3_in_aga3(V, ._22(X, Y), Rest))
delete_3_in_aga3(X, ._22(X, Y), Y) -> delete_3_out_aga3(X, ._22(X, Y), Y)
delete_3_in_aga3(X, ._22(F, T), ._22(F, R)) -> if_delete_3_in_1_aga5(X, F, T, R, delete_3_in_aga3(X, T, R))
if_delete_3_in_1_aga5(X, F, T, R, delete_3_out_aga3(X, T, R)) -> delete_3_out_aga3(X, ._22(F, T), ._22(F, R))
if_perm_2_in_1_ga5(X, Y, V, Res, delete_3_out_aga3(V, ._22(X, Y), Rest)) -> if_perm_2_in_2_ga6(X, Y, V, Res, Rest, perm_2_in_ga2(Rest, Res))
if_perm_2_in_2_ga6(X, Y, V, Res, Rest, perm_2_out_ga2(Rest, Res)) -> perm_2_out_ga2(._22(X, Y), ._22(V, Res))
if_queens_1_in_1_a2(Y, perm_2_out_ga2(._22(s_11(0_0), ._22(s_11(s_11(0_0)), ._22(s_11(s_11(s_11(0_0))), ._22(s_11(s_11(s_11(s_11(0_0)))), ._22(s_11(s_11(s_11(s_11(s_11(0_0))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(0_0)))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(s_11(0_0))))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(s_11(s_11(0_0)))))))), []_0)))))))), Y)) -> if_queens_1_in_2_a2(Y, safe_1_in_g1(Y))
safe_1_in_g1([]_0) -> safe_1_out_g1([]_0)
safe_1_in_g1(._22(X, Y)) -> if_safe_1_in_1_g3(X, Y, noattack_3_in_ggg3(X, Y, s_11(0_0)))
noattack_3_in_ggg3(X, []_0, N) -> noattack_3_out_ggg3(X, []_0, N)
noattack_3_in_ggg3(X, ._22(F, T), N) -> if_noattack_3_in_1_ggg5(X, F, T, N, notEq_2_in_gg2(X, F))
notEq_2_in_gg2(0_0, s_11(X)) -> notEq_2_out_gg2(0_0, s_11(X))
notEq_2_in_gg2(s_11(X), 0_0) -> notEq_2_out_gg2(s_11(X), 0_0)
notEq_2_in_gg2(s_11(X), s_11(Y)) -> if_notEq_2_in_1_gg3(X, Y, notEq_2_in_gg2(X, Y))
if_notEq_2_in_1_gg3(X, Y, notEq_2_out_gg2(X, Y)) -> notEq_2_out_gg2(s_11(X), s_11(Y))
if_noattack_3_in_1_ggg5(X, F, T, N, notEq_2_out_gg2(X, F)) -> if_noattack_3_in_2_ggg5(X, F, T, N, add_3_in_gga3(F, N, FplusN))
add_3_in_gga3(0_0, X, X) -> add_3_out_gga3(0_0, X, X)
add_3_in_gga3(s_11(X), Y, s_11(Z)) -> if_add_3_in_1_gga4(X, Y, Z, add_3_in_gga3(X, Y, Z))
if_add_3_in_1_gga4(X, Y, Z, add_3_out_gga3(X, Y, Z)) -> add_3_out_gga3(s_11(X), Y, s_11(Z))
if_noattack_3_in_2_ggg5(X, F, T, N, add_3_out_gga3(F, N, FplusN)) -> if_noattack_3_in_3_ggg6(X, F, T, N, FplusN, notEq_2_in_gg2(X, FplusN))
if_noattack_3_in_3_ggg6(X, F, T, N, FplusN, notEq_2_out_gg2(X, FplusN)) -> if_noattack_3_in_4_ggg5(X, F, T, N, add_3_in_gga3(X, N, XplusN))
if_noattack_3_in_4_ggg5(X, F, T, N, add_3_out_gga3(X, N, XplusN)) -> if_noattack_3_in_5_ggg6(X, F, T, N, XplusN, notEq_2_in_gg2(F, XplusN))
if_noattack_3_in_5_ggg6(X, F, T, N, XplusN, notEq_2_out_gg2(F, XplusN)) -> if_noattack_3_in_6_ggg5(X, F, T, N, noattack_3_in_ggg3(X, T, s_11(N)))
if_noattack_3_in_6_ggg5(X, F, T, N, noattack_3_out_ggg3(X, T, s_11(N))) -> noattack_3_out_ggg3(X, ._22(F, T), N)
if_safe_1_in_1_g3(X, Y, noattack_3_out_ggg3(X, Y, s_11(0_0))) -> if_safe_1_in_2_g3(X, Y, safe_1_in_g1(Y))
if_safe_1_in_2_g3(X, Y, safe_1_out_g1(Y)) -> safe_1_out_g1(._22(X, Y))
if_queens_1_in_2_a2(Y, safe_1_out_g1(Y)) -> queens_1_out_a1(Y)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ PiDP
↳ PiDP
↳ PiDP
↳ PiDP
NOTEQ_2_IN_GG2(s_11(X), s_11(Y)) -> NOTEQ_2_IN_GG2(X, Y)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ QDPSizeChangeProof
↳ PiDP
↳ PiDP
↳ PiDP
↳ PiDP
NOTEQ_2_IN_GG2(s_11(X), s_11(Y)) -> NOTEQ_2_IN_GG2(X, Y)
From the DPs we obtained the following set of size-change graphs:
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDP
↳ PiDP
IF_NOATTACK_3_IN_3_GGG6(X, F, T, N, FplusN, notEq_2_out_gg2(X, FplusN)) -> IF_NOATTACK_3_IN_4_GGG5(X, F, T, N, add_3_in_gga3(X, N, XplusN))
IF_NOATTACK_3_IN_5_GGG6(X, F, T, N, XplusN, notEq_2_out_gg2(F, XplusN)) -> NOATTACK_3_IN_GGG3(X, T, s_11(N))
NOATTACK_3_IN_GGG3(X, ._22(F, T), N) -> IF_NOATTACK_3_IN_1_GGG5(X, F, T, N, notEq_2_in_gg2(X, F))
IF_NOATTACK_3_IN_1_GGG5(X, F, T, N, notEq_2_out_gg2(X, F)) -> IF_NOATTACK_3_IN_2_GGG5(X, F, T, N, add_3_in_gga3(F, N, FplusN))
IF_NOATTACK_3_IN_4_GGG5(X, F, T, N, add_3_out_gga3(X, N, XplusN)) -> IF_NOATTACK_3_IN_5_GGG6(X, F, T, N, XplusN, notEq_2_in_gg2(F, XplusN))
IF_NOATTACK_3_IN_2_GGG5(X, F, T, N, add_3_out_gga3(F, N, FplusN)) -> IF_NOATTACK_3_IN_3_GGG6(X, F, T, N, FplusN, notEq_2_in_gg2(X, FplusN))
queens_1_in_a1(Y) -> if_queens_1_in_1_a2(Y, perm_2_in_ga2(._22(s_11(0_0), ._22(s_11(s_11(0_0)), ._22(s_11(s_11(s_11(0_0))), ._22(s_11(s_11(s_11(s_11(0_0)))), ._22(s_11(s_11(s_11(s_11(s_11(0_0))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(0_0)))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(s_11(0_0))))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(s_11(s_11(0_0)))))))), []_0)))))))), Y))
perm_2_in_ga2([]_0, []_0) -> perm_2_out_ga2([]_0, []_0)
perm_2_in_ga2(._22(X, Y), ._22(V, Res)) -> if_perm_2_in_1_ga5(X, Y, V, Res, delete_3_in_aga3(V, ._22(X, Y), Rest))
delete_3_in_aga3(X, ._22(X, Y), Y) -> delete_3_out_aga3(X, ._22(X, Y), Y)
delete_3_in_aga3(X, ._22(F, T), ._22(F, R)) -> if_delete_3_in_1_aga5(X, F, T, R, delete_3_in_aga3(X, T, R))
if_delete_3_in_1_aga5(X, F, T, R, delete_3_out_aga3(X, T, R)) -> delete_3_out_aga3(X, ._22(F, T), ._22(F, R))
if_perm_2_in_1_ga5(X, Y, V, Res, delete_3_out_aga3(V, ._22(X, Y), Rest)) -> if_perm_2_in_2_ga6(X, Y, V, Res, Rest, perm_2_in_ga2(Rest, Res))
if_perm_2_in_2_ga6(X, Y, V, Res, Rest, perm_2_out_ga2(Rest, Res)) -> perm_2_out_ga2(._22(X, Y), ._22(V, Res))
if_queens_1_in_1_a2(Y, perm_2_out_ga2(._22(s_11(0_0), ._22(s_11(s_11(0_0)), ._22(s_11(s_11(s_11(0_0))), ._22(s_11(s_11(s_11(s_11(0_0)))), ._22(s_11(s_11(s_11(s_11(s_11(0_0))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(0_0)))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(s_11(0_0))))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(s_11(s_11(0_0)))))))), []_0)))))))), Y)) -> if_queens_1_in_2_a2(Y, safe_1_in_g1(Y))
safe_1_in_g1([]_0) -> safe_1_out_g1([]_0)
safe_1_in_g1(._22(X, Y)) -> if_safe_1_in_1_g3(X, Y, noattack_3_in_ggg3(X, Y, s_11(0_0)))
noattack_3_in_ggg3(X, []_0, N) -> noattack_3_out_ggg3(X, []_0, N)
noattack_3_in_ggg3(X, ._22(F, T), N) -> if_noattack_3_in_1_ggg5(X, F, T, N, notEq_2_in_gg2(X, F))
notEq_2_in_gg2(0_0, s_11(X)) -> notEq_2_out_gg2(0_0, s_11(X))
notEq_2_in_gg2(s_11(X), 0_0) -> notEq_2_out_gg2(s_11(X), 0_0)
notEq_2_in_gg2(s_11(X), s_11(Y)) -> if_notEq_2_in_1_gg3(X, Y, notEq_2_in_gg2(X, Y))
if_notEq_2_in_1_gg3(X, Y, notEq_2_out_gg2(X, Y)) -> notEq_2_out_gg2(s_11(X), s_11(Y))
if_noattack_3_in_1_ggg5(X, F, T, N, notEq_2_out_gg2(X, F)) -> if_noattack_3_in_2_ggg5(X, F, T, N, add_3_in_gga3(F, N, FplusN))
add_3_in_gga3(0_0, X, X) -> add_3_out_gga3(0_0, X, X)
add_3_in_gga3(s_11(X), Y, s_11(Z)) -> if_add_3_in_1_gga4(X, Y, Z, add_3_in_gga3(X, Y, Z))
if_add_3_in_1_gga4(X, Y, Z, add_3_out_gga3(X, Y, Z)) -> add_3_out_gga3(s_11(X), Y, s_11(Z))
if_noattack_3_in_2_ggg5(X, F, T, N, add_3_out_gga3(F, N, FplusN)) -> if_noattack_3_in_3_ggg6(X, F, T, N, FplusN, notEq_2_in_gg2(X, FplusN))
if_noattack_3_in_3_ggg6(X, F, T, N, FplusN, notEq_2_out_gg2(X, FplusN)) -> if_noattack_3_in_4_ggg5(X, F, T, N, add_3_in_gga3(X, N, XplusN))
if_noattack_3_in_4_ggg5(X, F, T, N, add_3_out_gga3(X, N, XplusN)) -> if_noattack_3_in_5_ggg6(X, F, T, N, XplusN, notEq_2_in_gg2(F, XplusN))
if_noattack_3_in_5_ggg6(X, F, T, N, XplusN, notEq_2_out_gg2(F, XplusN)) -> if_noattack_3_in_6_ggg5(X, F, T, N, noattack_3_in_ggg3(X, T, s_11(N)))
if_noattack_3_in_6_ggg5(X, F, T, N, noattack_3_out_ggg3(X, T, s_11(N))) -> noattack_3_out_ggg3(X, ._22(F, T), N)
if_safe_1_in_1_g3(X, Y, noattack_3_out_ggg3(X, Y, s_11(0_0))) -> if_safe_1_in_2_g3(X, Y, safe_1_in_g1(Y))
if_safe_1_in_2_g3(X, Y, safe_1_out_g1(Y)) -> safe_1_out_g1(._22(X, Y))
if_queens_1_in_2_a2(Y, safe_1_out_g1(Y)) -> queens_1_out_a1(Y)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ PiDP
↳ PiDP
↳ PiDP
IF_NOATTACK_3_IN_3_GGG6(X, F, T, N, FplusN, notEq_2_out_gg2(X, FplusN)) -> IF_NOATTACK_3_IN_4_GGG5(X, F, T, N, add_3_in_gga3(X, N, XplusN))
IF_NOATTACK_3_IN_5_GGG6(X, F, T, N, XplusN, notEq_2_out_gg2(F, XplusN)) -> NOATTACK_3_IN_GGG3(X, T, s_11(N))
NOATTACK_3_IN_GGG3(X, ._22(F, T), N) -> IF_NOATTACK_3_IN_1_GGG5(X, F, T, N, notEq_2_in_gg2(X, F))
IF_NOATTACK_3_IN_1_GGG5(X, F, T, N, notEq_2_out_gg2(X, F)) -> IF_NOATTACK_3_IN_2_GGG5(X, F, T, N, add_3_in_gga3(F, N, FplusN))
IF_NOATTACK_3_IN_4_GGG5(X, F, T, N, add_3_out_gga3(X, N, XplusN)) -> IF_NOATTACK_3_IN_5_GGG6(X, F, T, N, XplusN, notEq_2_in_gg2(F, XplusN))
IF_NOATTACK_3_IN_2_GGG5(X, F, T, N, add_3_out_gga3(F, N, FplusN)) -> IF_NOATTACK_3_IN_3_GGG6(X, F, T, N, FplusN, notEq_2_in_gg2(X, FplusN))
add_3_in_gga3(0_0, X, X) -> add_3_out_gga3(0_0, X, X)
add_3_in_gga3(s_11(X), Y, s_11(Z)) -> if_add_3_in_1_gga4(X, Y, Z, add_3_in_gga3(X, Y, Z))
notEq_2_in_gg2(0_0, s_11(X)) -> notEq_2_out_gg2(0_0, s_11(X))
notEq_2_in_gg2(s_11(X), 0_0) -> notEq_2_out_gg2(s_11(X), 0_0)
notEq_2_in_gg2(s_11(X), s_11(Y)) -> if_notEq_2_in_1_gg3(X, Y, notEq_2_in_gg2(X, Y))
if_add_3_in_1_gga4(X, Y, Z, add_3_out_gga3(X, Y, Z)) -> add_3_out_gga3(s_11(X), Y, s_11(Z))
if_notEq_2_in_1_gg3(X, Y, notEq_2_out_gg2(X, Y)) -> notEq_2_out_gg2(s_11(X), s_11(Y))
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ QDPSizeChangeProof
↳ PiDP
↳ PiDP
↳ PiDP
IF_NOATTACK_3_IN_3_GGG5(X, F, T, N, notEq_2_out_gg) -> IF_NOATTACK_3_IN_4_GGG5(X, F, T, N, add_3_in_gga2(X, N))
IF_NOATTACK_3_IN_5_GGG4(X, T, N, notEq_2_out_gg) -> NOATTACK_3_IN_GGG3(X, T, s_11(N))
NOATTACK_3_IN_GGG3(X, ._22(F, T), N) -> IF_NOATTACK_3_IN_1_GGG5(X, F, T, N, notEq_2_in_gg2(X, F))
IF_NOATTACK_3_IN_1_GGG5(X, F, T, N, notEq_2_out_gg) -> IF_NOATTACK_3_IN_2_GGG5(X, F, T, N, add_3_in_gga2(F, N))
IF_NOATTACK_3_IN_4_GGG5(X, F, T, N, add_3_out_gga1(XplusN)) -> IF_NOATTACK_3_IN_5_GGG4(X, T, N, notEq_2_in_gg2(F, XplusN))
IF_NOATTACK_3_IN_2_GGG5(X, F, T, N, add_3_out_gga1(FplusN)) -> IF_NOATTACK_3_IN_3_GGG5(X, F, T, N, notEq_2_in_gg2(X, FplusN))
add_3_in_gga2(0_0, X) -> add_3_out_gga1(X)
add_3_in_gga2(s_11(X), Y) -> if_add_3_in_1_gga1(add_3_in_gga2(X, Y))
notEq_2_in_gg2(0_0, s_11(X)) -> notEq_2_out_gg
notEq_2_in_gg2(s_11(X), 0_0) -> notEq_2_out_gg
notEq_2_in_gg2(s_11(X), s_11(Y)) -> if_notEq_2_in_1_gg1(notEq_2_in_gg2(X, Y))
if_add_3_in_1_gga1(add_3_out_gga1(Z)) -> add_3_out_gga1(s_11(Z))
if_notEq_2_in_1_gg1(notEq_2_out_gg) -> notEq_2_out_gg
add_3_in_gga2(x0, x1)
notEq_2_in_gg2(x0, x1)
if_add_3_in_1_gga1(x0)
if_notEq_2_in_1_gg1(x0)
From the DPs we obtained the following set of size-change graphs:
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDP
SAFE_1_IN_G1(._22(X, Y)) -> IF_SAFE_1_IN_1_G3(X, Y, noattack_3_in_ggg3(X, Y, s_11(0_0)))
IF_SAFE_1_IN_1_G3(X, Y, noattack_3_out_ggg3(X, Y, s_11(0_0))) -> SAFE_1_IN_G1(Y)
queens_1_in_a1(Y) -> if_queens_1_in_1_a2(Y, perm_2_in_ga2(._22(s_11(0_0), ._22(s_11(s_11(0_0)), ._22(s_11(s_11(s_11(0_0))), ._22(s_11(s_11(s_11(s_11(0_0)))), ._22(s_11(s_11(s_11(s_11(s_11(0_0))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(0_0)))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(s_11(0_0))))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(s_11(s_11(0_0)))))))), []_0)))))))), Y))
perm_2_in_ga2([]_0, []_0) -> perm_2_out_ga2([]_0, []_0)
perm_2_in_ga2(._22(X, Y), ._22(V, Res)) -> if_perm_2_in_1_ga5(X, Y, V, Res, delete_3_in_aga3(V, ._22(X, Y), Rest))
delete_3_in_aga3(X, ._22(X, Y), Y) -> delete_3_out_aga3(X, ._22(X, Y), Y)
delete_3_in_aga3(X, ._22(F, T), ._22(F, R)) -> if_delete_3_in_1_aga5(X, F, T, R, delete_3_in_aga3(X, T, R))
if_delete_3_in_1_aga5(X, F, T, R, delete_3_out_aga3(X, T, R)) -> delete_3_out_aga3(X, ._22(F, T), ._22(F, R))
if_perm_2_in_1_ga5(X, Y, V, Res, delete_3_out_aga3(V, ._22(X, Y), Rest)) -> if_perm_2_in_2_ga6(X, Y, V, Res, Rest, perm_2_in_ga2(Rest, Res))
if_perm_2_in_2_ga6(X, Y, V, Res, Rest, perm_2_out_ga2(Rest, Res)) -> perm_2_out_ga2(._22(X, Y), ._22(V, Res))
if_queens_1_in_1_a2(Y, perm_2_out_ga2(._22(s_11(0_0), ._22(s_11(s_11(0_0)), ._22(s_11(s_11(s_11(0_0))), ._22(s_11(s_11(s_11(s_11(0_0)))), ._22(s_11(s_11(s_11(s_11(s_11(0_0))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(0_0)))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(s_11(0_0))))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(s_11(s_11(0_0)))))))), []_0)))))))), Y)) -> if_queens_1_in_2_a2(Y, safe_1_in_g1(Y))
safe_1_in_g1([]_0) -> safe_1_out_g1([]_0)
safe_1_in_g1(._22(X, Y)) -> if_safe_1_in_1_g3(X, Y, noattack_3_in_ggg3(X, Y, s_11(0_0)))
noattack_3_in_ggg3(X, []_0, N) -> noattack_3_out_ggg3(X, []_0, N)
noattack_3_in_ggg3(X, ._22(F, T), N) -> if_noattack_3_in_1_ggg5(X, F, T, N, notEq_2_in_gg2(X, F))
notEq_2_in_gg2(0_0, s_11(X)) -> notEq_2_out_gg2(0_0, s_11(X))
notEq_2_in_gg2(s_11(X), 0_0) -> notEq_2_out_gg2(s_11(X), 0_0)
notEq_2_in_gg2(s_11(X), s_11(Y)) -> if_notEq_2_in_1_gg3(X, Y, notEq_2_in_gg2(X, Y))
if_notEq_2_in_1_gg3(X, Y, notEq_2_out_gg2(X, Y)) -> notEq_2_out_gg2(s_11(X), s_11(Y))
if_noattack_3_in_1_ggg5(X, F, T, N, notEq_2_out_gg2(X, F)) -> if_noattack_3_in_2_ggg5(X, F, T, N, add_3_in_gga3(F, N, FplusN))
add_3_in_gga3(0_0, X, X) -> add_3_out_gga3(0_0, X, X)
add_3_in_gga3(s_11(X), Y, s_11(Z)) -> if_add_3_in_1_gga4(X, Y, Z, add_3_in_gga3(X, Y, Z))
if_add_3_in_1_gga4(X, Y, Z, add_3_out_gga3(X, Y, Z)) -> add_3_out_gga3(s_11(X), Y, s_11(Z))
if_noattack_3_in_2_ggg5(X, F, T, N, add_3_out_gga3(F, N, FplusN)) -> if_noattack_3_in_3_ggg6(X, F, T, N, FplusN, notEq_2_in_gg2(X, FplusN))
if_noattack_3_in_3_ggg6(X, F, T, N, FplusN, notEq_2_out_gg2(X, FplusN)) -> if_noattack_3_in_4_ggg5(X, F, T, N, add_3_in_gga3(X, N, XplusN))
if_noattack_3_in_4_ggg5(X, F, T, N, add_3_out_gga3(X, N, XplusN)) -> if_noattack_3_in_5_ggg6(X, F, T, N, XplusN, notEq_2_in_gg2(F, XplusN))
if_noattack_3_in_5_ggg6(X, F, T, N, XplusN, notEq_2_out_gg2(F, XplusN)) -> if_noattack_3_in_6_ggg5(X, F, T, N, noattack_3_in_ggg3(X, T, s_11(N)))
if_noattack_3_in_6_ggg5(X, F, T, N, noattack_3_out_ggg3(X, T, s_11(N))) -> noattack_3_out_ggg3(X, ._22(F, T), N)
if_safe_1_in_1_g3(X, Y, noattack_3_out_ggg3(X, Y, s_11(0_0))) -> if_safe_1_in_2_g3(X, Y, safe_1_in_g1(Y))
if_safe_1_in_2_g3(X, Y, safe_1_out_g1(Y)) -> safe_1_out_g1(._22(X, Y))
if_queens_1_in_2_a2(Y, safe_1_out_g1(Y)) -> queens_1_out_a1(Y)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ PiDP
↳ PiDP
SAFE_1_IN_G1(._22(X, Y)) -> IF_SAFE_1_IN_1_G3(X, Y, noattack_3_in_ggg3(X, Y, s_11(0_0)))
IF_SAFE_1_IN_1_G3(X, Y, noattack_3_out_ggg3(X, Y, s_11(0_0))) -> SAFE_1_IN_G1(Y)
noattack_3_in_ggg3(X, []_0, N) -> noattack_3_out_ggg3(X, []_0, N)
noattack_3_in_ggg3(X, ._22(F, T), N) -> if_noattack_3_in_1_ggg5(X, F, T, N, notEq_2_in_gg2(X, F))
if_noattack_3_in_1_ggg5(X, F, T, N, notEq_2_out_gg2(X, F)) -> if_noattack_3_in_2_ggg5(X, F, T, N, add_3_in_gga3(F, N, FplusN))
notEq_2_in_gg2(0_0, s_11(X)) -> notEq_2_out_gg2(0_0, s_11(X))
notEq_2_in_gg2(s_11(X), 0_0) -> notEq_2_out_gg2(s_11(X), 0_0)
notEq_2_in_gg2(s_11(X), s_11(Y)) -> if_notEq_2_in_1_gg3(X, Y, notEq_2_in_gg2(X, Y))
if_noattack_3_in_2_ggg5(X, F, T, N, add_3_out_gga3(F, N, FplusN)) -> if_noattack_3_in_3_ggg6(X, F, T, N, FplusN, notEq_2_in_gg2(X, FplusN))
if_notEq_2_in_1_gg3(X, Y, notEq_2_out_gg2(X, Y)) -> notEq_2_out_gg2(s_11(X), s_11(Y))
add_3_in_gga3(0_0, X, X) -> add_3_out_gga3(0_0, X, X)
add_3_in_gga3(s_11(X), Y, s_11(Z)) -> if_add_3_in_1_gga4(X, Y, Z, add_3_in_gga3(X, Y, Z))
if_noattack_3_in_3_ggg6(X, F, T, N, FplusN, notEq_2_out_gg2(X, FplusN)) -> if_noattack_3_in_4_ggg5(X, F, T, N, add_3_in_gga3(X, N, XplusN))
if_add_3_in_1_gga4(X, Y, Z, add_3_out_gga3(X, Y, Z)) -> add_3_out_gga3(s_11(X), Y, s_11(Z))
if_noattack_3_in_4_ggg5(X, F, T, N, add_3_out_gga3(X, N, XplusN)) -> if_noattack_3_in_5_ggg6(X, F, T, N, XplusN, notEq_2_in_gg2(F, XplusN))
if_noattack_3_in_5_ggg6(X, F, T, N, XplusN, notEq_2_out_gg2(F, XplusN)) -> if_noattack_3_in_6_ggg5(X, F, T, N, noattack_3_in_ggg3(X, T, s_11(N)))
if_noattack_3_in_6_ggg5(X, F, T, N, noattack_3_out_ggg3(X, T, s_11(N))) -> noattack_3_out_ggg3(X, ._22(F, T), N)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ QDPSizeChangeProof
↳ PiDP
↳ PiDP
SAFE_1_IN_G1(._22(X, Y)) -> IF_SAFE_1_IN_1_G2(Y, noattack_3_in_ggg3(X, Y, s_11(0_0)))
IF_SAFE_1_IN_1_G2(Y, noattack_3_out_ggg) -> SAFE_1_IN_G1(Y)
noattack_3_in_ggg3(X, []_0, N) -> noattack_3_out_ggg
noattack_3_in_ggg3(X, ._22(F, T), N) -> if_noattack_3_in_1_ggg5(X, F, T, N, notEq_2_in_gg2(X, F))
if_noattack_3_in_1_ggg5(X, F, T, N, notEq_2_out_gg) -> if_noattack_3_in_2_ggg5(X, F, T, N, add_3_in_gga2(F, N))
notEq_2_in_gg2(0_0, s_11(X)) -> notEq_2_out_gg
notEq_2_in_gg2(s_11(X), 0_0) -> notEq_2_out_gg
notEq_2_in_gg2(s_11(X), s_11(Y)) -> if_notEq_2_in_1_gg1(notEq_2_in_gg2(X, Y))
if_noattack_3_in_2_ggg5(X, F, T, N, add_3_out_gga1(FplusN)) -> if_noattack_3_in_3_ggg5(X, F, T, N, notEq_2_in_gg2(X, FplusN))
if_notEq_2_in_1_gg1(notEq_2_out_gg) -> notEq_2_out_gg
add_3_in_gga2(0_0, X) -> add_3_out_gga1(X)
add_3_in_gga2(s_11(X), Y) -> if_add_3_in_1_gga1(add_3_in_gga2(X, Y))
if_noattack_3_in_3_ggg5(X, F, T, N, notEq_2_out_gg) -> if_noattack_3_in_4_ggg5(X, F, T, N, add_3_in_gga2(X, N))
if_add_3_in_1_gga1(add_3_out_gga1(Z)) -> add_3_out_gga1(s_11(Z))
if_noattack_3_in_4_ggg5(X, F, T, N, add_3_out_gga1(XplusN)) -> if_noattack_3_in_5_ggg4(X, T, N, notEq_2_in_gg2(F, XplusN))
if_noattack_3_in_5_ggg4(X, T, N, notEq_2_out_gg) -> if_noattack_3_in_6_ggg1(noattack_3_in_ggg3(X, T, s_11(N)))
if_noattack_3_in_6_ggg1(noattack_3_out_ggg) -> noattack_3_out_ggg
noattack_3_in_ggg3(x0, x1, x2)
if_noattack_3_in_1_ggg5(x0, x1, x2, x3, x4)
notEq_2_in_gg2(x0, x1)
if_noattack_3_in_2_ggg5(x0, x1, x2, x3, x4)
if_notEq_2_in_1_gg1(x0)
add_3_in_gga2(x0, x1)
if_noattack_3_in_3_ggg5(x0, x1, x2, x3, x4)
if_add_3_in_1_gga1(x0)
if_noattack_3_in_4_ggg5(x0, x1, x2, x3, x4)
if_noattack_3_in_5_ggg4(x0, x1, x2, x3)
if_noattack_3_in_6_ggg1(x0)
From the DPs we obtained the following set of size-change graphs:
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
DELETE_3_IN_AGA3(X, ._22(F, T), ._22(F, R)) -> DELETE_3_IN_AGA3(X, T, R)
queens_1_in_a1(Y) -> if_queens_1_in_1_a2(Y, perm_2_in_ga2(._22(s_11(0_0), ._22(s_11(s_11(0_0)), ._22(s_11(s_11(s_11(0_0))), ._22(s_11(s_11(s_11(s_11(0_0)))), ._22(s_11(s_11(s_11(s_11(s_11(0_0))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(0_0)))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(s_11(0_0))))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(s_11(s_11(0_0)))))))), []_0)))))))), Y))
perm_2_in_ga2([]_0, []_0) -> perm_2_out_ga2([]_0, []_0)
perm_2_in_ga2(._22(X, Y), ._22(V, Res)) -> if_perm_2_in_1_ga5(X, Y, V, Res, delete_3_in_aga3(V, ._22(X, Y), Rest))
delete_3_in_aga3(X, ._22(X, Y), Y) -> delete_3_out_aga3(X, ._22(X, Y), Y)
delete_3_in_aga3(X, ._22(F, T), ._22(F, R)) -> if_delete_3_in_1_aga5(X, F, T, R, delete_3_in_aga3(X, T, R))
if_delete_3_in_1_aga5(X, F, T, R, delete_3_out_aga3(X, T, R)) -> delete_3_out_aga3(X, ._22(F, T), ._22(F, R))
if_perm_2_in_1_ga5(X, Y, V, Res, delete_3_out_aga3(V, ._22(X, Y), Rest)) -> if_perm_2_in_2_ga6(X, Y, V, Res, Rest, perm_2_in_ga2(Rest, Res))
if_perm_2_in_2_ga6(X, Y, V, Res, Rest, perm_2_out_ga2(Rest, Res)) -> perm_2_out_ga2(._22(X, Y), ._22(V, Res))
if_queens_1_in_1_a2(Y, perm_2_out_ga2(._22(s_11(0_0), ._22(s_11(s_11(0_0)), ._22(s_11(s_11(s_11(0_0))), ._22(s_11(s_11(s_11(s_11(0_0)))), ._22(s_11(s_11(s_11(s_11(s_11(0_0))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(0_0)))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(s_11(0_0))))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(s_11(s_11(0_0)))))))), []_0)))))))), Y)) -> if_queens_1_in_2_a2(Y, safe_1_in_g1(Y))
safe_1_in_g1([]_0) -> safe_1_out_g1([]_0)
safe_1_in_g1(._22(X, Y)) -> if_safe_1_in_1_g3(X, Y, noattack_3_in_ggg3(X, Y, s_11(0_0)))
noattack_3_in_ggg3(X, []_0, N) -> noattack_3_out_ggg3(X, []_0, N)
noattack_3_in_ggg3(X, ._22(F, T), N) -> if_noattack_3_in_1_ggg5(X, F, T, N, notEq_2_in_gg2(X, F))
notEq_2_in_gg2(0_0, s_11(X)) -> notEq_2_out_gg2(0_0, s_11(X))
notEq_2_in_gg2(s_11(X), 0_0) -> notEq_2_out_gg2(s_11(X), 0_0)
notEq_2_in_gg2(s_11(X), s_11(Y)) -> if_notEq_2_in_1_gg3(X, Y, notEq_2_in_gg2(X, Y))
if_notEq_2_in_1_gg3(X, Y, notEq_2_out_gg2(X, Y)) -> notEq_2_out_gg2(s_11(X), s_11(Y))
if_noattack_3_in_1_ggg5(X, F, T, N, notEq_2_out_gg2(X, F)) -> if_noattack_3_in_2_ggg5(X, F, T, N, add_3_in_gga3(F, N, FplusN))
add_3_in_gga3(0_0, X, X) -> add_3_out_gga3(0_0, X, X)
add_3_in_gga3(s_11(X), Y, s_11(Z)) -> if_add_3_in_1_gga4(X, Y, Z, add_3_in_gga3(X, Y, Z))
if_add_3_in_1_gga4(X, Y, Z, add_3_out_gga3(X, Y, Z)) -> add_3_out_gga3(s_11(X), Y, s_11(Z))
if_noattack_3_in_2_ggg5(X, F, T, N, add_3_out_gga3(F, N, FplusN)) -> if_noattack_3_in_3_ggg6(X, F, T, N, FplusN, notEq_2_in_gg2(X, FplusN))
if_noattack_3_in_3_ggg6(X, F, T, N, FplusN, notEq_2_out_gg2(X, FplusN)) -> if_noattack_3_in_4_ggg5(X, F, T, N, add_3_in_gga3(X, N, XplusN))
if_noattack_3_in_4_ggg5(X, F, T, N, add_3_out_gga3(X, N, XplusN)) -> if_noattack_3_in_5_ggg6(X, F, T, N, XplusN, notEq_2_in_gg2(F, XplusN))
if_noattack_3_in_5_ggg6(X, F, T, N, XplusN, notEq_2_out_gg2(F, XplusN)) -> if_noattack_3_in_6_ggg5(X, F, T, N, noattack_3_in_ggg3(X, T, s_11(N)))
if_noattack_3_in_6_ggg5(X, F, T, N, noattack_3_out_ggg3(X, T, s_11(N))) -> noattack_3_out_ggg3(X, ._22(F, T), N)
if_safe_1_in_1_g3(X, Y, noattack_3_out_ggg3(X, Y, s_11(0_0))) -> if_safe_1_in_2_g3(X, Y, safe_1_in_g1(Y))
if_safe_1_in_2_g3(X, Y, safe_1_out_g1(Y)) -> safe_1_out_g1(._22(X, Y))
if_queens_1_in_2_a2(Y, safe_1_out_g1(Y)) -> queens_1_out_a1(Y)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ PiDP
DELETE_3_IN_AGA3(X, ._22(F, T), ._22(F, R)) -> DELETE_3_IN_AGA3(X, T, R)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ QDPSizeChangeProof
↳ PiDP
DELETE_3_IN_AGA1(._22(F, T)) -> DELETE_3_IN_AGA1(T)
From the DPs we obtained the following set of size-change graphs:
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ PiDP
↳ PiDP
↳ PiDP
↳ UsableRulesProof
IF_PERM_2_IN_1_GA5(X, Y, V, Res, delete_3_out_aga3(V, ._22(X, Y), Rest)) -> PERM_2_IN_GA2(Rest, Res)
PERM_2_IN_GA2(._22(X, Y), ._22(V, Res)) -> IF_PERM_2_IN_1_GA5(X, Y, V, Res, delete_3_in_aga3(V, ._22(X, Y), Rest))
queens_1_in_a1(Y) -> if_queens_1_in_1_a2(Y, perm_2_in_ga2(._22(s_11(0_0), ._22(s_11(s_11(0_0)), ._22(s_11(s_11(s_11(0_0))), ._22(s_11(s_11(s_11(s_11(0_0)))), ._22(s_11(s_11(s_11(s_11(s_11(0_0))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(0_0)))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(s_11(0_0))))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(s_11(s_11(0_0)))))))), []_0)))))))), Y))
perm_2_in_ga2([]_0, []_0) -> perm_2_out_ga2([]_0, []_0)
perm_2_in_ga2(._22(X, Y), ._22(V, Res)) -> if_perm_2_in_1_ga5(X, Y, V, Res, delete_3_in_aga3(V, ._22(X, Y), Rest))
delete_3_in_aga3(X, ._22(X, Y), Y) -> delete_3_out_aga3(X, ._22(X, Y), Y)
delete_3_in_aga3(X, ._22(F, T), ._22(F, R)) -> if_delete_3_in_1_aga5(X, F, T, R, delete_3_in_aga3(X, T, R))
if_delete_3_in_1_aga5(X, F, T, R, delete_3_out_aga3(X, T, R)) -> delete_3_out_aga3(X, ._22(F, T), ._22(F, R))
if_perm_2_in_1_ga5(X, Y, V, Res, delete_3_out_aga3(V, ._22(X, Y), Rest)) -> if_perm_2_in_2_ga6(X, Y, V, Res, Rest, perm_2_in_ga2(Rest, Res))
if_perm_2_in_2_ga6(X, Y, V, Res, Rest, perm_2_out_ga2(Rest, Res)) -> perm_2_out_ga2(._22(X, Y), ._22(V, Res))
if_queens_1_in_1_a2(Y, perm_2_out_ga2(._22(s_11(0_0), ._22(s_11(s_11(0_0)), ._22(s_11(s_11(s_11(0_0))), ._22(s_11(s_11(s_11(s_11(0_0)))), ._22(s_11(s_11(s_11(s_11(s_11(0_0))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(0_0)))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(s_11(0_0))))))), ._22(s_11(s_11(s_11(s_11(s_11(s_11(s_11(s_11(0_0)))))))), []_0)))))))), Y)) -> if_queens_1_in_2_a2(Y, safe_1_in_g1(Y))
safe_1_in_g1([]_0) -> safe_1_out_g1([]_0)
safe_1_in_g1(._22(X, Y)) -> if_safe_1_in_1_g3(X, Y, noattack_3_in_ggg3(X, Y, s_11(0_0)))
noattack_3_in_ggg3(X, []_0, N) -> noattack_3_out_ggg3(X, []_0, N)
noattack_3_in_ggg3(X, ._22(F, T), N) -> if_noattack_3_in_1_ggg5(X, F, T, N, notEq_2_in_gg2(X, F))
notEq_2_in_gg2(0_0, s_11(X)) -> notEq_2_out_gg2(0_0, s_11(X))
notEq_2_in_gg2(s_11(X), 0_0) -> notEq_2_out_gg2(s_11(X), 0_0)
notEq_2_in_gg2(s_11(X), s_11(Y)) -> if_notEq_2_in_1_gg3(X, Y, notEq_2_in_gg2(X, Y))
if_notEq_2_in_1_gg3(X, Y, notEq_2_out_gg2(X, Y)) -> notEq_2_out_gg2(s_11(X), s_11(Y))
if_noattack_3_in_1_ggg5(X, F, T, N, notEq_2_out_gg2(X, F)) -> if_noattack_3_in_2_ggg5(X, F, T, N, add_3_in_gga3(F, N, FplusN))
add_3_in_gga3(0_0, X, X) -> add_3_out_gga3(0_0, X, X)
add_3_in_gga3(s_11(X), Y, s_11(Z)) -> if_add_3_in_1_gga4(X, Y, Z, add_3_in_gga3(X, Y, Z))
if_add_3_in_1_gga4(X, Y, Z, add_3_out_gga3(X, Y, Z)) -> add_3_out_gga3(s_11(X), Y, s_11(Z))
if_noattack_3_in_2_ggg5(X, F, T, N, add_3_out_gga3(F, N, FplusN)) -> if_noattack_3_in_3_ggg6(X, F, T, N, FplusN, notEq_2_in_gg2(X, FplusN))
if_noattack_3_in_3_ggg6(X, F, T, N, FplusN, notEq_2_out_gg2(X, FplusN)) -> if_noattack_3_in_4_ggg5(X, F, T, N, add_3_in_gga3(X, N, XplusN))
if_noattack_3_in_4_ggg5(X, F, T, N, add_3_out_gga3(X, N, XplusN)) -> if_noattack_3_in_5_ggg6(X, F, T, N, XplusN, notEq_2_in_gg2(F, XplusN))
if_noattack_3_in_5_ggg6(X, F, T, N, XplusN, notEq_2_out_gg2(F, XplusN)) -> if_noattack_3_in_6_ggg5(X, F, T, N, noattack_3_in_ggg3(X, T, s_11(N)))
if_noattack_3_in_6_ggg5(X, F, T, N, noattack_3_out_ggg3(X, T, s_11(N))) -> noattack_3_out_ggg3(X, ._22(F, T), N)
if_safe_1_in_1_g3(X, Y, noattack_3_out_ggg3(X, Y, s_11(0_0))) -> if_safe_1_in_2_g3(X, Y, safe_1_in_g1(Y))
if_safe_1_in_2_g3(X, Y, safe_1_out_g1(Y)) -> safe_1_out_g1(._22(X, Y))
if_queens_1_in_2_a2(Y, safe_1_out_g1(Y)) -> queens_1_out_a1(Y)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ PiDP
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
IF_PERM_2_IN_1_GA5(X, Y, V, Res, delete_3_out_aga3(V, ._22(X, Y), Rest)) -> PERM_2_IN_GA2(Rest, Res)
PERM_2_IN_GA2(._22(X, Y), ._22(V, Res)) -> IF_PERM_2_IN_1_GA5(X, Y, V, Res, delete_3_in_aga3(V, ._22(X, Y), Rest))
delete_3_in_aga3(X, ._22(X, Y), Y) -> delete_3_out_aga3(X, ._22(X, Y), Y)
delete_3_in_aga3(X, ._22(F, T), ._22(F, R)) -> if_delete_3_in_1_aga5(X, F, T, R, delete_3_in_aga3(X, T, R))
if_delete_3_in_1_aga5(X, F, T, R, delete_3_out_aga3(X, T, R)) -> delete_3_out_aga3(X, ._22(F, T), ._22(F, R))
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ PiDP
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ RuleRemovalProof
IF_PERM_2_IN_1_GA1(delete_3_out_aga2(V, Rest)) -> PERM_2_IN_GA1(Rest)
PERM_2_IN_GA1(._22(X, Y)) -> IF_PERM_2_IN_1_GA1(delete_3_in_aga1(._22(X, Y)))
delete_3_in_aga1(._22(X, Y)) -> delete_3_out_aga2(X, Y)
delete_3_in_aga1(._22(F, T)) -> if_delete_3_in_1_aga2(F, delete_3_in_aga1(T))
if_delete_3_in_1_aga2(F, delete_3_out_aga2(X, R)) -> delete_3_out_aga2(X, ._22(F, R))
delete_3_in_aga1(x0)
if_delete_3_in_1_aga2(x0, x1)
IF_PERM_2_IN_1_GA1(delete_3_out_aga2(V, Rest)) -> PERM_2_IN_GA1(Rest)
delete_3_in_aga1(._22(X, Y)) -> delete_3_out_aga2(X, Y)
POL(._22(x1, x2)) = 1 + x1 + x2
POL(if_delete_3_in_1_aga2(x1, x2)) = 2 + 2·x1 + x2
POL(IF_PERM_2_IN_1_GA1(x1)) = x1
POL(delete_3_in_aga1(x1)) = 2·x1
POL(delete_3_out_aga2(x1, x2)) = 1 + x1 + 2·x2
POL(PERM_2_IN_GA1(x1)) = 2·x1
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ PiDP
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
PERM_2_IN_GA1(._22(X, Y)) -> IF_PERM_2_IN_1_GA1(delete_3_in_aga1(._22(X, Y)))
delete_3_in_aga1(._22(F, T)) -> if_delete_3_in_1_aga2(F, delete_3_in_aga1(T))
if_delete_3_in_1_aga2(F, delete_3_out_aga2(X, R)) -> delete_3_out_aga2(X, ._22(F, R))
delete_3_in_aga1(x0)
if_delete_3_in_1_aga2(x0, x1)
delete_3_in_aga1(._22(F, T)) -> if_delete_3_in_1_aga2(F, delete_3_in_aga1(T))
POL(._22(x1, x2)) = 1 + x1 + x2
POL(if_delete_3_in_1_aga2(x1, x2)) = 1 + x1 + x2
POL(IF_PERM_2_IN_1_GA1(x1)) = x1
POL(delete_3_in_aga1(x1)) = 1 + 2·x1
POL(delete_3_out_aga2(x1, x2)) = x1 + x2
POL(PERM_2_IN_GA1(x1)) = 1 + 2·x1
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ PiDP
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ DependencyGraphProof
PERM_2_IN_GA1(._22(X, Y)) -> IF_PERM_2_IN_1_GA1(delete_3_in_aga1(._22(X, Y)))
if_delete_3_in_1_aga2(F, delete_3_out_aga2(X, R)) -> delete_3_out_aga2(X, ._22(F, R))
delete_3_in_aga1(x0)
if_delete_3_in_1_aga2(x0, x1)