↳ PROLOG
↳ PrologToPiTRSProof
With regard to the inferred argument filtering the predicates were used in the following modes:
len12: (b,f)
Transforming PROLOG into the following Term Rewriting System:
Pi-finite rewrite system:
The TRS R consists of the following rules:
len1_2_in_ga2([]_0, 0_0) -> len1_2_out_ga2([]_0, 0_0)
len1_2_in_ga2(._22(underscore, Ts), N) -> if_len1_2_in_1_ga4(underscore, Ts, N, len1_2_in_ga2(Ts, M))
if_len1_2_in_1_ga4(underscore, Ts, N, len1_2_out_ga2(Ts, M)) -> if_len1_2_in_2_ga5(underscore, Ts, N, M, eq_2_in_ag2(N, s_11(M)))
eq_2_in_ag2(X, X) -> eq_2_out_ag2(X, X)
if_len1_2_in_2_ga5(underscore, Ts, N, M, eq_2_out_ag2(N, s_11(M))) -> len1_2_out_ga2(._22(underscore, Ts), N)
Infinitary Constructor Rewriting Termination of PiTRS implies Termination of PROLOG
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
len1_2_in_ga2([]_0, 0_0) -> len1_2_out_ga2([]_0, 0_0)
len1_2_in_ga2(._22(underscore, Ts), N) -> if_len1_2_in_1_ga4(underscore, Ts, N, len1_2_in_ga2(Ts, M))
if_len1_2_in_1_ga4(underscore, Ts, N, len1_2_out_ga2(Ts, M)) -> if_len1_2_in_2_ga5(underscore, Ts, N, M, eq_2_in_ag2(N, s_11(M)))
eq_2_in_ag2(X, X) -> eq_2_out_ag2(X, X)
if_len1_2_in_2_ga5(underscore, Ts, N, M, eq_2_out_ag2(N, s_11(M))) -> len1_2_out_ga2(._22(underscore, Ts), N)
LEN1_2_IN_GA2(._22(underscore, Ts), N) -> IF_LEN1_2_IN_1_GA4(underscore, Ts, N, len1_2_in_ga2(Ts, M))
LEN1_2_IN_GA2(._22(underscore, Ts), N) -> LEN1_2_IN_GA2(Ts, M)
IF_LEN1_2_IN_1_GA4(underscore, Ts, N, len1_2_out_ga2(Ts, M)) -> IF_LEN1_2_IN_2_GA5(underscore, Ts, N, M, eq_2_in_ag2(N, s_11(M)))
IF_LEN1_2_IN_1_GA4(underscore, Ts, N, len1_2_out_ga2(Ts, M)) -> EQ_2_IN_AG2(N, s_11(M))
len1_2_in_ga2([]_0, 0_0) -> len1_2_out_ga2([]_0, 0_0)
len1_2_in_ga2(._22(underscore, Ts), N) -> if_len1_2_in_1_ga4(underscore, Ts, N, len1_2_in_ga2(Ts, M))
if_len1_2_in_1_ga4(underscore, Ts, N, len1_2_out_ga2(Ts, M)) -> if_len1_2_in_2_ga5(underscore, Ts, N, M, eq_2_in_ag2(N, s_11(M)))
eq_2_in_ag2(X, X) -> eq_2_out_ag2(X, X)
if_len1_2_in_2_ga5(underscore, Ts, N, M, eq_2_out_ag2(N, s_11(M))) -> len1_2_out_ga2(._22(underscore, Ts), N)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
LEN1_2_IN_GA2(._22(underscore, Ts), N) -> IF_LEN1_2_IN_1_GA4(underscore, Ts, N, len1_2_in_ga2(Ts, M))
LEN1_2_IN_GA2(._22(underscore, Ts), N) -> LEN1_2_IN_GA2(Ts, M)
IF_LEN1_2_IN_1_GA4(underscore, Ts, N, len1_2_out_ga2(Ts, M)) -> IF_LEN1_2_IN_2_GA5(underscore, Ts, N, M, eq_2_in_ag2(N, s_11(M)))
IF_LEN1_2_IN_1_GA4(underscore, Ts, N, len1_2_out_ga2(Ts, M)) -> EQ_2_IN_AG2(N, s_11(M))
len1_2_in_ga2([]_0, 0_0) -> len1_2_out_ga2([]_0, 0_0)
len1_2_in_ga2(._22(underscore, Ts), N) -> if_len1_2_in_1_ga4(underscore, Ts, N, len1_2_in_ga2(Ts, M))
if_len1_2_in_1_ga4(underscore, Ts, N, len1_2_out_ga2(Ts, M)) -> if_len1_2_in_2_ga5(underscore, Ts, N, M, eq_2_in_ag2(N, s_11(M)))
eq_2_in_ag2(X, X) -> eq_2_out_ag2(X, X)
if_len1_2_in_2_ga5(underscore, Ts, N, M, eq_2_out_ag2(N, s_11(M))) -> len1_2_out_ga2(._22(underscore, Ts), N)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ PiDP
↳ UsableRulesProof
LEN1_2_IN_GA2(._22(underscore, Ts), N) -> LEN1_2_IN_GA2(Ts, M)
len1_2_in_ga2([]_0, 0_0) -> len1_2_out_ga2([]_0, 0_0)
len1_2_in_ga2(._22(underscore, Ts), N) -> if_len1_2_in_1_ga4(underscore, Ts, N, len1_2_in_ga2(Ts, M))
if_len1_2_in_1_ga4(underscore, Ts, N, len1_2_out_ga2(Ts, M)) -> if_len1_2_in_2_ga5(underscore, Ts, N, M, eq_2_in_ag2(N, s_11(M)))
eq_2_in_ag2(X, X) -> eq_2_out_ag2(X, X)
if_len1_2_in_2_ga5(underscore, Ts, N, M, eq_2_out_ag2(N, s_11(M))) -> len1_2_out_ga2(._22(underscore, Ts), N)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
LEN1_2_IN_GA2(._22(underscore, Ts), N) -> LEN1_2_IN_GA2(Ts, M)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ QDPSizeChangeProof
LEN1_2_IN_GA1(._22(underscore, Ts)) -> LEN1_2_IN_GA1(Ts)
From the DPs we obtained the following set of size-change graphs: