↳ PROLOG
↳ PrologToPiTRSProof
With regard to the inferred argument filtering the predicates were used in the following modes:
shanoi5: (b,b,b,b,f)
append3: (b,b,f)
Transforming PROLOG into the following Term Rewriting System:
Pi-finite rewrite system:
The TRS R consists of the following rules:
shanoi_5_in_gggga5(s_11(0_0), A, B, C, ._22(mv_22(A, C), []_0)) -> shanoi_5_out_gggga5(s_11(0_0), A, B, C, ._22(mv_22(A, C), []_0))
shanoi_5_in_gggga5(s_11(s_11(X)), A, B, C, M) -> if_shanoi_5_in_1_gggga6(X, A, B, C, M, eq_2_in_ag2(N1, s_11(X)))
eq_2_in_ag2(X, X) -> eq_2_out_ag2(X, X)
if_shanoi_5_in_1_gggga6(X, A, B, C, M, eq_2_out_ag2(N1, s_11(X))) -> if_shanoi_5_in_2_gggga7(X, A, B, C, M, N1, shanoi_5_in_gggga5(N1, A, C, B, M1))
if_shanoi_5_in_2_gggga7(X, A, B, C, M, N1, shanoi_5_out_gggga5(N1, A, C, B, M1)) -> if_shanoi_5_in_3_gggga8(X, A, B, C, M, N1, M1, shanoi_5_in_gggga5(N1, B, A, C, M2))
if_shanoi_5_in_3_gggga8(X, A, B, C, M, N1, M1, shanoi_5_out_gggga5(N1, B, A, C, M2)) -> if_shanoi_5_in_4_gggga8(X, A, B, C, M, M1, M2, append_3_in_gga3(M1, ._22(mv_22(A, C), []_0), T))
append_3_in_gga3([]_0, L, L) -> append_3_out_gga3([]_0, L, L)
append_3_in_gga3(._22(H, L), L1, ._22(H, R)) -> if_append_3_in_1_gga5(H, L, L1, R, append_3_in_gga3(L, L1, R))
if_append_3_in_1_gga5(H, L, L1, R, append_3_out_gga3(L, L1, R)) -> append_3_out_gga3(._22(H, L), L1, ._22(H, R))
if_shanoi_5_in_4_gggga8(X, A, B, C, M, M1, M2, append_3_out_gga3(M1, ._22(mv_22(A, C), []_0), T)) -> if_shanoi_5_in_5_gggga8(X, A, B, C, M, M2, T, append_3_in_gga3(T, M2, M))
if_shanoi_5_in_5_gggga8(X, A, B, C, M, M2, T, append_3_out_gga3(T, M2, M)) -> shanoi_5_out_gggga5(s_11(s_11(X)), A, B, C, M)
Infinitary Constructor Rewriting Termination of PiTRS implies Termination of PROLOG
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
shanoi_5_in_gggga5(s_11(0_0), A, B, C, ._22(mv_22(A, C), []_0)) -> shanoi_5_out_gggga5(s_11(0_0), A, B, C, ._22(mv_22(A, C), []_0))
shanoi_5_in_gggga5(s_11(s_11(X)), A, B, C, M) -> if_shanoi_5_in_1_gggga6(X, A, B, C, M, eq_2_in_ag2(N1, s_11(X)))
eq_2_in_ag2(X, X) -> eq_2_out_ag2(X, X)
if_shanoi_5_in_1_gggga6(X, A, B, C, M, eq_2_out_ag2(N1, s_11(X))) -> if_shanoi_5_in_2_gggga7(X, A, B, C, M, N1, shanoi_5_in_gggga5(N1, A, C, B, M1))
if_shanoi_5_in_2_gggga7(X, A, B, C, M, N1, shanoi_5_out_gggga5(N1, A, C, B, M1)) -> if_shanoi_5_in_3_gggga8(X, A, B, C, M, N1, M1, shanoi_5_in_gggga5(N1, B, A, C, M2))
if_shanoi_5_in_3_gggga8(X, A, B, C, M, N1, M1, shanoi_5_out_gggga5(N1, B, A, C, M2)) -> if_shanoi_5_in_4_gggga8(X, A, B, C, M, M1, M2, append_3_in_gga3(M1, ._22(mv_22(A, C), []_0), T))
append_3_in_gga3([]_0, L, L) -> append_3_out_gga3([]_0, L, L)
append_3_in_gga3(._22(H, L), L1, ._22(H, R)) -> if_append_3_in_1_gga5(H, L, L1, R, append_3_in_gga3(L, L1, R))
if_append_3_in_1_gga5(H, L, L1, R, append_3_out_gga3(L, L1, R)) -> append_3_out_gga3(._22(H, L), L1, ._22(H, R))
if_shanoi_5_in_4_gggga8(X, A, B, C, M, M1, M2, append_3_out_gga3(M1, ._22(mv_22(A, C), []_0), T)) -> if_shanoi_5_in_5_gggga8(X, A, B, C, M, M2, T, append_3_in_gga3(T, M2, M))
if_shanoi_5_in_5_gggga8(X, A, B, C, M, M2, T, append_3_out_gga3(T, M2, M)) -> shanoi_5_out_gggga5(s_11(s_11(X)), A, B, C, M)
SHANOI_5_IN_GGGGA5(s_11(s_11(X)), A, B, C, M) -> IF_SHANOI_5_IN_1_GGGGA6(X, A, B, C, M, eq_2_in_ag2(N1, s_11(X)))
SHANOI_5_IN_GGGGA5(s_11(s_11(X)), A, B, C, M) -> EQ_2_IN_AG2(N1, s_11(X))
IF_SHANOI_5_IN_1_GGGGA6(X, A, B, C, M, eq_2_out_ag2(N1, s_11(X))) -> IF_SHANOI_5_IN_2_GGGGA7(X, A, B, C, M, N1, shanoi_5_in_gggga5(N1, A, C, B, M1))
IF_SHANOI_5_IN_1_GGGGA6(X, A, B, C, M, eq_2_out_ag2(N1, s_11(X))) -> SHANOI_5_IN_GGGGA5(N1, A, C, B, M1)
IF_SHANOI_5_IN_2_GGGGA7(X, A, B, C, M, N1, shanoi_5_out_gggga5(N1, A, C, B, M1)) -> IF_SHANOI_5_IN_3_GGGGA8(X, A, B, C, M, N1, M1, shanoi_5_in_gggga5(N1, B, A, C, M2))
IF_SHANOI_5_IN_2_GGGGA7(X, A, B, C, M, N1, shanoi_5_out_gggga5(N1, A, C, B, M1)) -> SHANOI_5_IN_GGGGA5(N1, B, A, C, M2)
IF_SHANOI_5_IN_3_GGGGA8(X, A, B, C, M, N1, M1, shanoi_5_out_gggga5(N1, B, A, C, M2)) -> IF_SHANOI_5_IN_4_GGGGA8(X, A, B, C, M, M1, M2, append_3_in_gga3(M1, ._22(mv_22(A, C), []_0), T))
IF_SHANOI_5_IN_3_GGGGA8(X, A, B, C, M, N1, M1, shanoi_5_out_gggga5(N1, B, A, C, M2)) -> APPEND_3_IN_GGA3(M1, ._22(mv_22(A, C), []_0), T)
APPEND_3_IN_GGA3(._22(H, L), L1, ._22(H, R)) -> IF_APPEND_3_IN_1_GGA5(H, L, L1, R, append_3_in_gga3(L, L1, R))
APPEND_3_IN_GGA3(._22(H, L), L1, ._22(H, R)) -> APPEND_3_IN_GGA3(L, L1, R)
IF_SHANOI_5_IN_4_GGGGA8(X, A, B, C, M, M1, M2, append_3_out_gga3(M1, ._22(mv_22(A, C), []_0), T)) -> IF_SHANOI_5_IN_5_GGGGA8(X, A, B, C, M, M2, T, append_3_in_gga3(T, M2, M))
IF_SHANOI_5_IN_4_GGGGA8(X, A, B, C, M, M1, M2, append_3_out_gga3(M1, ._22(mv_22(A, C), []_0), T)) -> APPEND_3_IN_GGA3(T, M2, M)
shanoi_5_in_gggga5(s_11(0_0), A, B, C, ._22(mv_22(A, C), []_0)) -> shanoi_5_out_gggga5(s_11(0_0), A, B, C, ._22(mv_22(A, C), []_0))
shanoi_5_in_gggga5(s_11(s_11(X)), A, B, C, M) -> if_shanoi_5_in_1_gggga6(X, A, B, C, M, eq_2_in_ag2(N1, s_11(X)))
eq_2_in_ag2(X, X) -> eq_2_out_ag2(X, X)
if_shanoi_5_in_1_gggga6(X, A, B, C, M, eq_2_out_ag2(N1, s_11(X))) -> if_shanoi_5_in_2_gggga7(X, A, B, C, M, N1, shanoi_5_in_gggga5(N1, A, C, B, M1))
if_shanoi_5_in_2_gggga7(X, A, B, C, M, N1, shanoi_5_out_gggga5(N1, A, C, B, M1)) -> if_shanoi_5_in_3_gggga8(X, A, B, C, M, N1, M1, shanoi_5_in_gggga5(N1, B, A, C, M2))
if_shanoi_5_in_3_gggga8(X, A, B, C, M, N1, M1, shanoi_5_out_gggga5(N1, B, A, C, M2)) -> if_shanoi_5_in_4_gggga8(X, A, B, C, M, M1, M2, append_3_in_gga3(M1, ._22(mv_22(A, C), []_0), T))
append_3_in_gga3([]_0, L, L) -> append_3_out_gga3([]_0, L, L)
append_3_in_gga3(._22(H, L), L1, ._22(H, R)) -> if_append_3_in_1_gga5(H, L, L1, R, append_3_in_gga3(L, L1, R))
if_append_3_in_1_gga5(H, L, L1, R, append_3_out_gga3(L, L1, R)) -> append_3_out_gga3(._22(H, L), L1, ._22(H, R))
if_shanoi_5_in_4_gggga8(X, A, B, C, M, M1, M2, append_3_out_gga3(M1, ._22(mv_22(A, C), []_0), T)) -> if_shanoi_5_in_5_gggga8(X, A, B, C, M, M2, T, append_3_in_gga3(T, M2, M))
if_shanoi_5_in_5_gggga8(X, A, B, C, M, M2, T, append_3_out_gga3(T, M2, M)) -> shanoi_5_out_gggga5(s_11(s_11(X)), A, B, C, M)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
SHANOI_5_IN_GGGGA5(s_11(s_11(X)), A, B, C, M) -> IF_SHANOI_5_IN_1_GGGGA6(X, A, B, C, M, eq_2_in_ag2(N1, s_11(X)))
SHANOI_5_IN_GGGGA5(s_11(s_11(X)), A, B, C, M) -> EQ_2_IN_AG2(N1, s_11(X))
IF_SHANOI_5_IN_1_GGGGA6(X, A, B, C, M, eq_2_out_ag2(N1, s_11(X))) -> IF_SHANOI_5_IN_2_GGGGA7(X, A, B, C, M, N1, shanoi_5_in_gggga5(N1, A, C, B, M1))
IF_SHANOI_5_IN_1_GGGGA6(X, A, B, C, M, eq_2_out_ag2(N1, s_11(X))) -> SHANOI_5_IN_GGGGA5(N1, A, C, B, M1)
IF_SHANOI_5_IN_2_GGGGA7(X, A, B, C, M, N1, shanoi_5_out_gggga5(N1, A, C, B, M1)) -> IF_SHANOI_5_IN_3_GGGGA8(X, A, B, C, M, N1, M1, shanoi_5_in_gggga5(N1, B, A, C, M2))
IF_SHANOI_5_IN_2_GGGGA7(X, A, B, C, M, N1, shanoi_5_out_gggga5(N1, A, C, B, M1)) -> SHANOI_5_IN_GGGGA5(N1, B, A, C, M2)
IF_SHANOI_5_IN_3_GGGGA8(X, A, B, C, M, N1, M1, shanoi_5_out_gggga5(N1, B, A, C, M2)) -> IF_SHANOI_5_IN_4_GGGGA8(X, A, B, C, M, M1, M2, append_3_in_gga3(M1, ._22(mv_22(A, C), []_0), T))
IF_SHANOI_5_IN_3_GGGGA8(X, A, B, C, M, N1, M1, shanoi_5_out_gggga5(N1, B, A, C, M2)) -> APPEND_3_IN_GGA3(M1, ._22(mv_22(A, C), []_0), T)
APPEND_3_IN_GGA3(._22(H, L), L1, ._22(H, R)) -> IF_APPEND_3_IN_1_GGA5(H, L, L1, R, append_3_in_gga3(L, L1, R))
APPEND_3_IN_GGA3(._22(H, L), L1, ._22(H, R)) -> APPEND_3_IN_GGA3(L, L1, R)
IF_SHANOI_5_IN_4_GGGGA8(X, A, B, C, M, M1, M2, append_3_out_gga3(M1, ._22(mv_22(A, C), []_0), T)) -> IF_SHANOI_5_IN_5_GGGGA8(X, A, B, C, M, M2, T, append_3_in_gga3(T, M2, M))
IF_SHANOI_5_IN_4_GGGGA8(X, A, B, C, M, M1, M2, append_3_out_gga3(M1, ._22(mv_22(A, C), []_0), T)) -> APPEND_3_IN_GGA3(T, M2, M)
shanoi_5_in_gggga5(s_11(0_0), A, B, C, ._22(mv_22(A, C), []_0)) -> shanoi_5_out_gggga5(s_11(0_0), A, B, C, ._22(mv_22(A, C), []_0))
shanoi_5_in_gggga5(s_11(s_11(X)), A, B, C, M) -> if_shanoi_5_in_1_gggga6(X, A, B, C, M, eq_2_in_ag2(N1, s_11(X)))
eq_2_in_ag2(X, X) -> eq_2_out_ag2(X, X)
if_shanoi_5_in_1_gggga6(X, A, B, C, M, eq_2_out_ag2(N1, s_11(X))) -> if_shanoi_5_in_2_gggga7(X, A, B, C, M, N1, shanoi_5_in_gggga5(N1, A, C, B, M1))
if_shanoi_5_in_2_gggga7(X, A, B, C, M, N1, shanoi_5_out_gggga5(N1, A, C, B, M1)) -> if_shanoi_5_in_3_gggga8(X, A, B, C, M, N1, M1, shanoi_5_in_gggga5(N1, B, A, C, M2))
if_shanoi_5_in_3_gggga8(X, A, B, C, M, N1, M1, shanoi_5_out_gggga5(N1, B, A, C, M2)) -> if_shanoi_5_in_4_gggga8(X, A, B, C, M, M1, M2, append_3_in_gga3(M1, ._22(mv_22(A, C), []_0), T))
append_3_in_gga3([]_0, L, L) -> append_3_out_gga3([]_0, L, L)
append_3_in_gga3(._22(H, L), L1, ._22(H, R)) -> if_append_3_in_1_gga5(H, L, L1, R, append_3_in_gga3(L, L1, R))
if_append_3_in_1_gga5(H, L, L1, R, append_3_out_gga3(L, L1, R)) -> append_3_out_gga3(._22(H, L), L1, ._22(H, R))
if_shanoi_5_in_4_gggga8(X, A, B, C, M, M1, M2, append_3_out_gga3(M1, ._22(mv_22(A, C), []_0), T)) -> if_shanoi_5_in_5_gggga8(X, A, B, C, M, M2, T, append_3_in_gga3(T, M2, M))
if_shanoi_5_in_5_gggga8(X, A, B, C, M, M2, T, append_3_out_gga3(T, M2, M)) -> shanoi_5_out_gggga5(s_11(s_11(X)), A, B, C, M)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ UsableRulesProof
↳ PiDP
APPEND_3_IN_GGA3(._22(H, L), L1, ._22(H, R)) -> APPEND_3_IN_GGA3(L, L1, R)
shanoi_5_in_gggga5(s_11(0_0), A, B, C, ._22(mv_22(A, C), []_0)) -> shanoi_5_out_gggga5(s_11(0_0), A, B, C, ._22(mv_22(A, C), []_0))
shanoi_5_in_gggga5(s_11(s_11(X)), A, B, C, M) -> if_shanoi_5_in_1_gggga6(X, A, B, C, M, eq_2_in_ag2(N1, s_11(X)))
eq_2_in_ag2(X, X) -> eq_2_out_ag2(X, X)
if_shanoi_5_in_1_gggga6(X, A, B, C, M, eq_2_out_ag2(N1, s_11(X))) -> if_shanoi_5_in_2_gggga7(X, A, B, C, M, N1, shanoi_5_in_gggga5(N1, A, C, B, M1))
if_shanoi_5_in_2_gggga7(X, A, B, C, M, N1, shanoi_5_out_gggga5(N1, A, C, B, M1)) -> if_shanoi_5_in_3_gggga8(X, A, B, C, M, N1, M1, shanoi_5_in_gggga5(N1, B, A, C, M2))
if_shanoi_5_in_3_gggga8(X, A, B, C, M, N1, M1, shanoi_5_out_gggga5(N1, B, A, C, M2)) -> if_shanoi_5_in_4_gggga8(X, A, B, C, M, M1, M2, append_3_in_gga3(M1, ._22(mv_22(A, C), []_0), T))
append_3_in_gga3([]_0, L, L) -> append_3_out_gga3([]_0, L, L)
append_3_in_gga3(._22(H, L), L1, ._22(H, R)) -> if_append_3_in_1_gga5(H, L, L1, R, append_3_in_gga3(L, L1, R))
if_append_3_in_1_gga5(H, L, L1, R, append_3_out_gga3(L, L1, R)) -> append_3_out_gga3(._22(H, L), L1, ._22(H, R))
if_shanoi_5_in_4_gggga8(X, A, B, C, M, M1, M2, append_3_out_gga3(M1, ._22(mv_22(A, C), []_0), T)) -> if_shanoi_5_in_5_gggga8(X, A, B, C, M, M2, T, append_3_in_gga3(T, M2, M))
if_shanoi_5_in_5_gggga8(X, A, B, C, M, M2, T, append_3_out_gga3(T, M2, M)) -> shanoi_5_out_gggga5(s_11(s_11(X)), A, B, C, M)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ PiDP
APPEND_3_IN_GGA3(._22(H, L), L1, ._22(H, R)) -> APPEND_3_IN_GGA3(L, L1, R)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ QDPSizeChangeProof
↳ PiDP
APPEND_3_IN_GGA2(._22(H, L), L1) -> APPEND_3_IN_GGA2(L, L1)
From the DPs we obtained the following set of size-change graphs:
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDPToQDPProof
SHANOI_5_IN_GGGGA5(s_11(s_11(X)), A, B, C, M) -> IF_SHANOI_5_IN_1_GGGGA6(X, A, B, C, M, eq_2_in_ag2(N1, s_11(X)))
IF_SHANOI_5_IN_2_GGGGA7(X, A, B, C, M, N1, shanoi_5_out_gggga5(N1, A, C, B, M1)) -> SHANOI_5_IN_GGGGA5(N1, B, A, C, M2)
IF_SHANOI_5_IN_1_GGGGA6(X, A, B, C, M, eq_2_out_ag2(N1, s_11(X))) -> IF_SHANOI_5_IN_2_GGGGA7(X, A, B, C, M, N1, shanoi_5_in_gggga5(N1, A, C, B, M1))
IF_SHANOI_5_IN_1_GGGGA6(X, A, B, C, M, eq_2_out_ag2(N1, s_11(X))) -> SHANOI_5_IN_GGGGA5(N1, A, C, B, M1)
shanoi_5_in_gggga5(s_11(0_0), A, B, C, ._22(mv_22(A, C), []_0)) -> shanoi_5_out_gggga5(s_11(0_0), A, B, C, ._22(mv_22(A, C), []_0))
shanoi_5_in_gggga5(s_11(s_11(X)), A, B, C, M) -> if_shanoi_5_in_1_gggga6(X, A, B, C, M, eq_2_in_ag2(N1, s_11(X)))
eq_2_in_ag2(X, X) -> eq_2_out_ag2(X, X)
if_shanoi_5_in_1_gggga6(X, A, B, C, M, eq_2_out_ag2(N1, s_11(X))) -> if_shanoi_5_in_2_gggga7(X, A, B, C, M, N1, shanoi_5_in_gggga5(N1, A, C, B, M1))
if_shanoi_5_in_2_gggga7(X, A, B, C, M, N1, shanoi_5_out_gggga5(N1, A, C, B, M1)) -> if_shanoi_5_in_3_gggga8(X, A, B, C, M, N1, M1, shanoi_5_in_gggga5(N1, B, A, C, M2))
if_shanoi_5_in_3_gggga8(X, A, B, C, M, N1, M1, shanoi_5_out_gggga5(N1, B, A, C, M2)) -> if_shanoi_5_in_4_gggga8(X, A, B, C, M, M1, M2, append_3_in_gga3(M1, ._22(mv_22(A, C), []_0), T))
append_3_in_gga3([]_0, L, L) -> append_3_out_gga3([]_0, L, L)
append_3_in_gga3(._22(H, L), L1, ._22(H, R)) -> if_append_3_in_1_gga5(H, L, L1, R, append_3_in_gga3(L, L1, R))
if_append_3_in_1_gga5(H, L, L1, R, append_3_out_gga3(L, L1, R)) -> append_3_out_gga3(._22(H, L), L1, ._22(H, R))
if_shanoi_5_in_4_gggga8(X, A, B, C, M, M1, M2, append_3_out_gga3(M1, ._22(mv_22(A, C), []_0), T)) -> if_shanoi_5_in_5_gggga8(X, A, B, C, M, M2, T, append_3_in_gga3(T, M2, M))
if_shanoi_5_in_5_gggga8(X, A, B, C, M, M2, T, append_3_out_gga3(T, M2, M)) -> shanoi_5_out_gggga5(s_11(s_11(X)), A, B, C, M)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ QDPPoloProof
SHANOI_5_IN_GGGGA4(s_11(s_11(X)), A, B, C) -> IF_SHANOI_5_IN_1_GGGGA4(A, B, C, eq_2_in_ag1(s_11(X)))
IF_SHANOI_5_IN_2_GGGGA5(A, B, C, N1, shanoi_5_out_gggga1(M1)) -> SHANOI_5_IN_GGGGA4(N1, B, A, C)
IF_SHANOI_5_IN_1_GGGGA4(A, B, C, eq_2_out_ag1(N1)) -> IF_SHANOI_5_IN_2_GGGGA5(A, B, C, N1, shanoi_5_in_gggga4(N1, A, C, B))
IF_SHANOI_5_IN_1_GGGGA4(A, B, C, eq_2_out_ag1(N1)) -> SHANOI_5_IN_GGGGA4(N1, A, C, B)
shanoi_5_in_gggga4(s_11(0_0), A, B, C) -> shanoi_5_out_gggga1(._22(mv_22(A, C), []_0))
shanoi_5_in_gggga4(s_11(s_11(X)), A, B, C) -> if_shanoi_5_in_1_gggga4(A, B, C, eq_2_in_ag1(s_11(X)))
eq_2_in_ag1(X) -> eq_2_out_ag1(X)
if_shanoi_5_in_1_gggga4(A, B, C, eq_2_out_ag1(N1)) -> if_shanoi_5_in_2_gggga5(A, B, C, N1, shanoi_5_in_gggga4(N1, A, C, B))
if_shanoi_5_in_2_gggga5(A, B, C, N1, shanoi_5_out_gggga1(M1)) -> if_shanoi_5_in_3_gggga4(A, C, M1, shanoi_5_in_gggga4(N1, B, A, C))
if_shanoi_5_in_3_gggga4(A, C, M1, shanoi_5_out_gggga1(M2)) -> if_shanoi_5_in_4_gggga2(M2, append_3_in_gga2(M1, ._22(mv_22(A, C), []_0)))
append_3_in_gga2([]_0, L) -> append_3_out_gga1(L)
append_3_in_gga2(._22(H, L), L1) -> if_append_3_in_1_gga2(H, append_3_in_gga2(L, L1))
if_append_3_in_1_gga2(H, append_3_out_gga1(R)) -> append_3_out_gga1(._22(H, R))
if_shanoi_5_in_4_gggga2(M2, append_3_out_gga1(T)) -> if_shanoi_5_in_5_gggga1(append_3_in_gga2(T, M2))
if_shanoi_5_in_5_gggga1(append_3_out_gga1(M)) -> shanoi_5_out_gggga1(M)
shanoi_5_in_gggga4(x0, x1, x2, x3)
eq_2_in_ag1(x0)
if_shanoi_5_in_1_gggga4(x0, x1, x2, x3)
if_shanoi_5_in_2_gggga5(x0, x1, x2, x3, x4)
if_shanoi_5_in_3_gggga4(x0, x1, x2, x3)
append_3_in_gga2(x0, x1)
if_append_3_in_1_gga2(x0, x1)
if_shanoi_5_in_4_gggga2(x0, x1)
if_shanoi_5_in_5_gggga1(x0)
The remaining Dependency Pairs were at least non-strictly be oriented.
SHANOI_5_IN_GGGGA4(s_11(s_11(X)), A, B, C) -> IF_SHANOI_5_IN_1_GGGGA4(A, B, C, eq_2_in_ag1(s_11(X)))
With the implicit AFS we had to orient the following set of usable rules non-strictly.
IF_SHANOI_5_IN_2_GGGGA5(A, B, C, N1, shanoi_5_out_gggga1(M1)) -> SHANOI_5_IN_GGGGA4(N1, B, A, C)
IF_SHANOI_5_IN_1_GGGGA4(A, B, C, eq_2_out_ag1(N1)) -> IF_SHANOI_5_IN_2_GGGGA5(A, B, C, N1, shanoi_5_in_gggga4(N1, A, C, B))
IF_SHANOI_5_IN_1_GGGGA4(A, B, C, eq_2_out_ag1(N1)) -> SHANOI_5_IN_GGGGA4(N1, A, C, B)
Used ordering: POLO with Polynomial interpretation:
eq_2_in_ag1(X) -> eq_2_out_ag1(X)
POL(append_3_out_gga1(x1)) = 0
POL(0_0) = 0
POL(eq_2_in_ag1(x1)) = x1
POL(if_append_3_in_1_gga2(x1, x2)) = 0
POL(SHANOI_5_IN_GGGGA4(x1, x2, x3, x4)) = x1
POL(shanoi_5_out_gggga1(x1)) = 0
POL(eq_2_out_ag1(x1)) = x1
POL(if_shanoi_5_in_4_gggga2(x1, x2)) = 0
POL([]_0) = 0
POL(if_shanoi_5_in_1_gggga4(x1, x2, x3, x4)) = 0
POL(if_shanoi_5_in_2_gggga5(x1, x2, x3, x4, x5)) = 0
POL(if_shanoi_5_in_5_gggga1(x1)) = 0
POL(._22(x1, x2)) = 0
POL(IF_SHANOI_5_IN_2_GGGGA5(x1, x2, x3, x4, x5)) = x4
POL(if_shanoi_5_in_3_gggga4(x1, x2, x3, x4)) = 0
POL(IF_SHANOI_5_IN_1_GGGGA4(x1, x2, x3, x4)) = x4
POL(shanoi_5_in_gggga4(x1, x2, x3, x4)) = 0
POL(s_11(x1)) = 1 + x1
POL(append_3_in_gga2(x1, x2)) = 0
POL(mv_22(x1, x2)) = 0
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ QDPPoloProof
↳ QDP
↳ DependencyGraphProof
IF_SHANOI_5_IN_2_GGGGA5(A, B, C, N1, shanoi_5_out_gggga1(M1)) -> SHANOI_5_IN_GGGGA4(N1, B, A, C)
IF_SHANOI_5_IN_1_GGGGA4(A, B, C, eq_2_out_ag1(N1)) -> IF_SHANOI_5_IN_2_GGGGA5(A, B, C, N1, shanoi_5_in_gggga4(N1, A, C, B))
IF_SHANOI_5_IN_1_GGGGA4(A, B, C, eq_2_out_ag1(N1)) -> SHANOI_5_IN_GGGGA4(N1, A, C, B)
shanoi_5_in_gggga4(s_11(0_0), A, B, C) -> shanoi_5_out_gggga1(._22(mv_22(A, C), []_0))
shanoi_5_in_gggga4(s_11(s_11(X)), A, B, C) -> if_shanoi_5_in_1_gggga4(A, B, C, eq_2_in_ag1(s_11(X)))
eq_2_in_ag1(X) -> eq_2_out_ag1(X)
if_shanoi_5_in_1_gggga4(A, B, C, eq_2_out_ag1(N1)) -> if_shanoi_5_in_2_gggga5(A, B, C, N1, shanoi_5_in_gggga4(N1, A, C, B))
if_shanoi_5_in_2_gggga5(A, B, C, N1, shanoi_5_out_gggga1(M1)) -> if_shanoi_5_in_3_gggga4(A, C, M1, shanoi_5_in_gggga4(N1, B, A, C))
if_shanoi_5_in_3_gggga4(A, C, M1, shanoi_5_out_gggga1(M2)) -> if_shanoi_5_in_4_gggga2(M2, append_3_in_gga2(M1, ._22(mv_22(A, C), []_0)))
append_3_in_gga2([]_0, L) -> append_3_out_gga1(L)
append_3_in_gga2(._22(H, L), L1) -> if_append_3_in_1_gga2(H, append_3_in_gga2(L, L1))
if_append_3_in_1_gga2(H, append_3_out_gga1(R)) -> append_3_out_gga1(._22(H, R))
if_shanoi_5_in_4_gggga2(M2, append_3_out_gga1(T)) -> if_shanoi_5_in_5_gggga1(append_3_in_gga2(T, M2))
if_shanoi_5_in_5_gggga1(append_3_out_gga1(M)) -> shanoi_5_out_gggga1(M)
shanoi_5_in_gggga4(x0, x1, x2, x3)
eq_2_in_ag1(x0)
if_shanoi_5_in_1_gggga4(x0, x1, x2, x3)
if_shanoi_5_in_2_gggga5(x0, x1, x2, x3, x4)
if_shanoi_5_in_3_gggga4(x0, x1, x2, x3)
append_3_in_gga2(x0, x1)
if_append_3_in_1_gga2(x0, x1)
if_shanoi_5_in_4_gggga2(x0, x1)
if_shanoi_5_in_5_gggga1(x0)