(0) Obligation:

Clauses:

goal(A, B, C) :- ','(s2l(A, D), applast(D, B, C)).
applast(L, X, Last) :- ','(app(L, .(X, []), LX), last(Last, LX)).
last(X, .(X, [])) :- !.
last(X, Y) :- ','(tail(Y, T), last(X, T)).
app([], Y, Z) :- ','(!, eq(Y, Z)).
app(X, Y, .(H, Z)) :- ','(head(X, H), ','(tail(X, T), app(T, Y, Z))).
s2l(0, L) :- ','(!, eq(L, [])).
s2l(X, .(X1, Xs)) :- ','(p(X, P), s2l(P, Xs)).
head([], X2).
head(.(X, X3), X).
tail([], []).
tail(.(X4, Xs), Xs).
p(0, 0).
p(s(X), X).
eq(X, X).

Queries:

goal(g,a,a).

(1) PrologToDTProblemTransformerProof (SOUND transformation)

Built DT problem from termination graph.

(2) Obligation:

Triples:

last29(T66) :- last29(T66).
last13(T57, []) :- last29(T57).
last13(T80, .(T78, T81)) :- last13(T80, T81).
s2l46(s(T95), .(X182, X183)) :- s2l46(T95, X183).
app72([], T172, .(X352, X339)) :- app12(T172, X339).
app72(.(T194, T196), T197, .(T194, X339)) :- app72(T196, T197, X339).
goal1(0, T27, T28) :- app12(T27, X51).
goal1(0, T27, T31) :- ','(appc12(T27, T30), last13(T31, T30)).
goal1(s(T88), T10, T11) :- s2l46(T88, X141).
goal1(s(T88), T151, T115) :- ','(s2lc46(T88, T150), app72(T150, T151, X268)).
goal1(s(T88), T114, T120) :- ','(s2lc46(T88, T113), ','(appc62(T118, T113, T114, T119), last13(T120, T119))).

Clauses:

lastc29(T66) :- lastc29(T66).
lastc13(T44, .(T44, [])).
lastc13(T57, []) :- lastc29(T57).
lastc13(T80, .(T78, T81)) :- lastc13(T80, T81).
s2lc46(0, []).
s2lc46(s(T95), .(X182, X183)) :- s2lc46(T95, X183).
appc12(T40, .(T40, [])).
appc72([], T159, .(T159, [])).
appc72([], T172, .(X352, X339)) :- appc12(T172, X339).
appc72(.(T194, T196), T197, .(T194, X339)) :- appc72(T196, T197, X339).
appc62(X299, T150, T151, .(X299, X268)) :- appc72(T150, T151, X268).

Afs:

goal1(x1, x2, x3)  =  goal1(x1)

(3) UndefinedPredicateInTriplesTransformerProof (SOUND transformation)

Deleted triples and predicates having undefined goals [UNKNOWN].

(4) Obligation:

Triples:

last29(T66) :- last29(T66).
last13(T57, []) :- last29(T57).
last13(T80, .(T78, T81)) :- last13(T80, T81).
s2l46(s(T95), .(X182, X183)) :- s2l46(T95, X183).
app72(.(T194, T196), T197, .(T194, X339)) :- app72(T196, T197, X339).
goal1(0, T27, T31) :- ','(appc12(T27, T30), last13(T31, T30)).
goal1(s(T88), T10, T11) :- s2l46(T88, X141).
goal1(s(T88), T151, T115) :- ','(s2lc46(T88, T150), app72(T150, T151, X268)).
goal1(s(T88), T114, T120) :- ','(s2lc46(T88, T113), ','(appc62(T118, T113, T114, T119), last13(T120, T119))).

Clauses:

lastc29(T66) :- lastc29(T66).
lastc13(T44, .(T44, [])).
lastc13(T57, []) :- lastc29(T57).
lastc13(T80, .(T78, T81)) :- lastc13(T80, T81).
s2lc46(0, []).
s2lc46(s(T95), .(X182, X183)) :- s2lc46(T95, X183).
appc12(T40, .(T40, [])).
appc72([], T159, .(T159, [])).
appc72([], T172, .(X352, X339)) :- appc12(T172, X339).
appc72(.(T194, T196), T197, .(T194, X339)) :- appc72(T196, T197, X339).
appc62(X299, T150, T151, .(X299, X268)) :- appc72(T150, T151, X268).

Afs:

goal1(x1, x2, x3)  =  goal1(x1)

(5) TriplesToPiDPProof (SOUND transformation)

We use the technique of [LOPSTR]. With regard to the inferred argument filtering the predicates were used in the following modes:
goal1_in: (b,f,f)
last13_in: (f,b)
last29_in: (f)
s2l46_in: (b,f)
s2lc46_in: (b,f)
app72_in: (b,f,f)
appc62_in: (f,b,f,f)
appc72_in: (b,f,f)
Transforming TRIPLES into the following Term Rewriting System:
Pi DP problem:
The TRS P consists of the following rules:

GOAL1_IN_GAA(0, T27, T31) → U6_GAA(T27, T31, appc12_in_aa(T27, T30))
U6_GAA(T27, T31, appc12_out_aa(T27, T30)) → U7_GAA(T27, T31, last13_in_ag(T31, T30))
U6_GAA(T27, T31, appc12_out_aa(T27, T30)) → LAST13_IN_AG(T31, T30)
LAST13_IN_AG(T57, []) → U2_AG(T57, last29_in_a(T57))
LAST13_IN_AG(T57, []) → LAST29_IN_A(T57)
LAST29_IN_A(T66) → U1_A(T66, last29_in_a(T66))
LAST29_IN_A(T66) → LAST29_IN_A(T66)
LAST13_IN_AG(T80, .(T78, T81)) → U3_AG(T80, T78, T81, last13_in_ag(T80, T81))
LAST13_IN_AG(T80, .(T78, T81)) → LAST13_IN_AG(T80, T81)
GOAL1_IN_GAA(s(T88), T10, T11) → U8_GAA(T88, T10, T11, s2l46_in_ga(T88, X141))
GOAL1_IN_GAA(s(T88), T10, T11) → S2L46_IN_GA(T88, X141)
S2L46_IN_GA(s(T95), .(X182, X183)) → U4_GA(T95, X182, X183, s2l46_in_ga(T95, X183))
S2L46_IN_GA(s(T95), .(X182, X183)) → S2L46_IN_GA(T95, X183)
GOAL1_IN_GAA(s(T88), T151, T115) → U9_GAA(T88, T151, T115, s2lc46_in_ga(T88, T150))
U9_GAA(T88, T151, T115, s2lc46_out_ga(T88, T150)) → U10_GAA(T88, T151, T115, app72_in_gaa(T150, T151, X268))
U9_GAA(T88, T151, T115, s2lc46_out_ga(T88, T150)) → APP72_IN_GAA(T150, T151, X268)
APP72_IN_GAA(.(T194, T196), T197, .(T194, X339)) → U5_GAA(T194, T196, T197, X339, app72_in_gaa(T196, T197, X339))
APP72_IN_GAA(.(T194, T196), T197, .(T194, X339)) → APP72_IN_GAA(T196, T197, X339)
GOAL1_IN_GAA(s(T88), T114, T120) → U11_GAA(T88, T114, T120, s2lc46_in_ga(T88, T113))
U11_GAA(T88, T114, T120, s2lc46_out_ga(T88, T113)) → U12_GAA(T88, T114, T120, appc62_in_agaa(T118, T113, T114, T119))
U12_GAA(T88, T114, T120, appc62_out_agaa(T118, T113, T114, T119)) → U13_GAA(T88, T114, T120, last13_in_ag(T120, T119))
U12_GAA(T88, T114, T120, appc62_out_agaa(T118, T113, T114, T119)) → LAST13_IN_AG(T120, T119)

The TRS R consists of the following rules:

appc12_in_aa(T40, .(T40, [])) → appc12_out_aa(T40, .(T40, []))
s2lc46_in_ga(0, []) → s2lc46_out_ga(0, [])
s2lc46_in_ga(s(T95), .(X182, X183)) → U18_ga(T95, X182, X183, s2lc46_in_ga(T95, X183))
U18_ga(T95, X182, X183, s2lc46_out_ga(T95, X183)) → s2lc46_out_ga(s(T95), .(X182, X183))
appc62_in_agaa(X299, T150, T151, .(X299, X268)) → U21_agaa(X299, T150, T151, X268, appc72_in_gaa(T150, T151, X268))
appc72_in_gaa([], T159, .(T159, [])) → appc72_out_gaa([], T159, .(T159, []))
appc72_in_gaa([], T172, .(X352, X339)) → U19_gaa(T172, X352, X339, appc12_in_aa(T172, X339))
U19_gaa(T172, X352, X339, appc12_out_aa(T172, X339)) → appc72_out_gaa([], T172, .(X352, X339))
appc72_in_gaa(.(T194, T196), T197, .(T194, X339)) → U20_gaa(T194, T196, T197, X339, appc72_in_gaa(T196, T197, X339))
U20_gaa(T194, T196, T197, X339, appc72_out_gaa(T196, T197, X339)) → appc72_out_gaa(.(T194, T196), T197, .(T194, X339))
U21_agaa(X299, T150, T151, X268, appc72_out_gaa(T150, T151, X268)) → appc62_out_agaa(X299, T150, T151, .(X299, X268))

The argument filtering Pi contains the following mapping:
0  =  0
appc12_in_aa(x1, x2)  =  appc12_in_aa
appc12_out_aa(x1, x2)  =  appc12_out_aa(x2)
.(x1, x2)  =  .(x2)
last13_in_ag(x1, x2)  =  last13_in_ag(x2)
[]  =  []
last29_in_a(x1)  =  last29_in_a
s(x1)  =  s(x1)
s2l46_in_ga(x1, x2)  =  s2l46_in_ga(x1)
s2lc46_in_ga(x1, x2)  =  s2lc46_in_ga(x1)
s2lc46_out_ga(x1, x2)  =  s2lc46_out_ga(x1, x2)
U18_ga(x1, x2, x3, x4)  =  U18_ga(x1, x4)
app72_in_gaa(x1, x2, x3)  =  app72_in_gaa(x1)
appc62_in_agaa(x1, x2, x3, x4)  =  appc62_in_agaa(x2)
U21_agaa(x1, x2, x3, x4, x5)  =  U21_agaa(x2, x5)
appc72_in_gaa(x1, x2, x3)  =  appc72_in_gaa(x1)
appc72_out_gaa(x1, x2, x3)  =  appc72_out_gaa(x1, x3)
U19_gaa(x1, x2, x3, x4)  =  U19_gaa(x4)
U20_gaa(x1, x2, x3, x4, x5)  =  U20_gaa(x2, x5)
appc62_out_agaa(x1, x2, x3, x4)  =  appc62_out_agaa(x2, x4)
GOAL1_IN_GAA(x1, x2, x3)  =  GOAL1_IN_GAA(x1)
U6_GAA(x1, x2, x3)  =  U6_GAA(x3)
U7_GAA(x1, x2, x3)  =  U7_GAA(x3)
LAST13_IN_AG(x1, x2)  =  LAST13_IN_AG(x2)
U2_AG(x1, x2)  =  U2_AG(x2)
LAST29_IN_A(x1)  =  LAST29_IN_A
U1_A(x1, x2)  =  U1_A(x2)
U3_AG(x1, x2, x3, x4)  =  U3_AG(x3, x4)
U8_GAA(x1, x2, x3, x4)  =  U8_GAA(x1, x4)
S2L46_IN_GA(x1, x2)  =  S2L46_IN_GA(x1)
U4_GA(x1, x2, x3, x4)  =  U4_GA(x1, x4)
U9_GAA(x1, x2, x3, x4)  =  U9_GAA(x1, x4)
U10_GAA(x1, x2, x3, x4)  =  U10_GAA(x1, x4)
APP72_IN_GAA(x1, x2, x3)  =  APP72_IN_GAA(x1)
U5_GAA(x1, x2, x3, x4, x5)  =  U5_GAA(x2, x5)
U11_GAA(x1, x2, x3, x4)  =  U11_GAA(x1, x4)
U12_GAA(x1, x2, x3, x4)  =  U12_GAA(x1, x4)
U13_GAA(x1, x2, x3, x4)  =  U13_GAA(x1, x4)

We have to consider all (P,R,Pi)-chains

Infinitary Constructor Rewriting Termination of PiDP implies Termination of TRIPLES

(6) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

GOAL1_IN_GAA(0, T27, T31) → U6_GAA(T27, T31, appc12_in_aa(T27, T30))
U6_GAA(T27, T31, appc12_out_aa(T27, T30)) → U7_GAA(T27, T31, last13_in_ag(T31, T30))
U6_GAA(T27, T31, appc12_out_aa(T27, T30)) → LAST13_IN_AG(T31, T30)
LAST13_IN_AG(T57, []) → U2_AG(T57, last29_in_a(T57))
LAST13_IN_AG(T57, []) → LAST29_IN_A(T57)
LAST29_IN_A(T66) → U1_A(T66, last29_in_a(T66))
LAST29_IN_A(T66) → LAST29_IN_A(T66)
LAST13_IN_AG(T80, .(T78, T81)) → U3_AG(T80, T78, T81, last13_in_ag(T80, T81))
LAST13_IN_AG(T80, .(T78, T81)) → LAST13_IN_AG(T80, T81)
GOAL1_IN_GAA(s(T88), T10, T11) → U8_GAA(T88, T10, T11, s2l46_in_ga(T88, X141))
GOAL1_IN_GAA(s(T88), T10, T11) → S2L46_IN_GA(T88, X141)
S2L46_IN_GA(s(T95), .(X182, X183)) → U4_GA(T95, X182, X183, s2l46_in_ga(T95, X183))
S2L46_IN_GA(s(T95), .(X182, X183)) → S2L46_IN_GA(T95, X183)
GOAL1_IN_GAA(s(T88), T151, T115) → U9_GAA(T88, T151, T115, s2lc46_in_ga(T88, T150))
U9_GAA(T88, T151, T115, s2lc46_out_ga(T88, T150)) → U10_GAA(T88, T151, T115, app72_in_gaa(T150, T151, X268))
U9_GAA(T88, T151, T115, s2lc46_out_ga(T88, T150)) → APP72_IN_GAA(T150, T151, X268)
APP72_IN_GAA(.(T194, T196), T197, .(T194, X339)) → U5_GAA(T194, T196, T197, X339, app72_in_gaa(T196, T197, X339))
APP72_IN_GAA(.(T194, T196), T197, .(T194, X339)) → APP72_IN_GAA(T196, T197, X339)
GOAL1_IN_GAA(s(T88), T114, T120) → U11_GAA(T88, T114, T120, s2lc46_in_ga(T88, T113))
U11_GAA(T88, T114, T120, s2lc46_out_ga(T88, T113)) → U12_GAA(T88, T114, T120, appc62_in_agaa(T118, T113, T114, T119))
U12_GAA(T88, T114, T120, appc62_out_agaa(T118, T113, T114, T119)) → U13_GAA(T88, T114, T120, last13_in_ag(T120, T119))
U12_GAA(T88, T114, T120, appc62_out_agaa(T118, T113, T114, T119)) → LAST13_IN_AG(T120, T119)

The TRS R consists of the following rules:

appc12_in_aa(T40, .(T40, [])) → appc12_out_aa(T40, .(T40, []))
s2lc46_in_ga(0, []) → s2lc46_out_ga(0, [])
s2lc46_in_ga(s(T95), .(X182, X183)) → U18_ga(T95, X182, X183, s2lc46_in_ga(T95, X183))
U18_ga(T95, X182, X183, s2lc46_out_ga(T95, X183)) → s2lc46_out_ga(s(T95), .(X182, X183))
appc62_in_agaa(X299, T150, T151, .(X299, X268)) → U21_agaa(X299, T150, T151, X268, appc72_in_gaa(T150, T151, X268))
appc72_in_gaa([], T159, .(T159, [])) → appc72_out_gaa([], T159, .(T159, []))
appc72_in_gaa([], T172, .(X352, X339)) → U19_gaa(T172, X352, X339, appc12_in_aa(T172, X339))
U19_gaa(T172, X352, X339, appc12_out_aa(T172, X339)) → appc72_out_gaa([], T172, .(X352, X339))
appc72_in_gaa(.(T194, T196), T197, .(T194, X339)) → U20_gaa(T194, T196, T197, X339, appc72_in_gaa(T196, T197, X339))
U20_gaa(T194, T196, T197, X339, appc72_out_gaa(T196, T197, X339)) → appc72_out_gaa(.(T194, T196), T197, .(T194, X339))
U21_agaa(X299, T150, T151, X268, appc72_out_gaa(T150, T151, X268)) → appc62_out_agaa(X299, T150, T151, .(X299, X268))

The argument filtering Pi contains the following mapping:
0  =  0
appc12_in_aa(x1, x2)  =  appc12_in_aa
appc12_out_aa(x1, x2)  =  appc12_out_aa(x2)
.(x1, x2)  =  .(x2)
last13_in_ag(x1, x2)  =  last13_in_ag(x2)
[]  =  []
last29_in_a(x1)  =  last29_in_a
s(x1)  =  s(x1)
s2l46_in_ga(x1, x2)  =  s2l46_in_ga(x1)
s2lc46_in_ga(x1, x2)  =  s2lc46_in_ga(x1)
s2lc46_out_ga(x1, x2)  =  s2lc46_out_ga(x1, x2)
U18_ga(x1, x2, x3, x4)  =  U18_ga(x1, x4)
app72_in_gaa(x1, x2, x3)  =  app72_in_gaa(x1)
appc62_in_agaa(x1, x2, x3, x4)  =  appc62_in_agaa(x2)
U21_agaa(x1, x2, x3, x4, x5)  =  U21_agaa(x2, x5)
appc72_in_gaa(x1, x2, x3)  =  appc72_in_gaa(x1)
appc72_out_gaa(x1, x2, x3)  =  appc72_out_gaa(x1, x3)
U19_gaa(x1, x2, x3, x4)  =  U19_gaa(x4)
U20_gaa(x1, x2, x3, x4, x5)  =  U20_gaa(x2, x5)
appc62_out_agaa(x1, x2, x3, x4)  =  appc62_out_agaa(x2, x4)
GOAL1_IN_GAA(x1, x2, x3)  =  GOAL1_IN_GAA(x1)
U6_GAA(x1, x2, x3)  =  U6_GAA(x3)
U7_GAA(x1, x2, x3)  =  U7_GAA(x3)
LAST13_IN_AG(x1, x2)  =  LAST13_IN_AG(x2)
U2_AG(x1, x2)  =  U2_AG(x2)
LAST29_IN_A(x1)  =  LAST29_IN_A
U1_A(x1, x2)  =  U1_A(x2)
U3_AG(x1, x2, x3, x4)  =  U3_AG(x3, x4)
U8_GAA(x1, x2, x3, x4)  =  U8_GAA(x1, x4)
S2L46_IN_GA(x1, x2)  =  S2L46_IN_GA(x1)
U4_GA(x1, x2, x3, x4)  =  U4_GA(x1, x4)
U9_GAA(x1, x2, x3, x4)  =  U9_GAA(x1, x4)
U10_GAA(x1, x2, x3, x4)  =  U10_GAA(x1, x4)
APP72_IN_GAA(x1, x2, x3)  =  APP72_IN_GAA(x1)
U5_GAA(x1, x2, x3, x4, x5)  =  U5_GAA(x2, x5)
U11_GAA(x1, x2, x3, x4)  =  U11_GAA(x1, x4)
U12_GAA(x1, x2, x3, x4)  =  U12_GAA(x1, x4)
U13_GAA(x1, x2, x3, x4)  =  U13_GAA(x1, x4)

We have to consider all (P,R,Pi)-chains

(7) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LOPSTR] contains 4 SCCs with 18 less nodes.

(8) Complex Obligation (AND)

(9) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

APP72_IN_GAA(.(T194, T196), T197, .(T194, X339)) → APP72_IN_GAA(T196, T197, X339)

The TRS R consists of the following rules:

appc12_in_aa(T40, .(T40, [])) → appc12_out_aa(T40, .(T40, []))
s2lc46_in_ga(0, []) → s2lc46_out_ga(0, [])
s2lc46_in_ga(s(T95), .(X182, X183)) → U18_ga(T95, X182, X183, s2lc46_in_ga(T95, X183))
U18_ga(T95, X182, X183, s2lc46_out_ga(T95, X183)) → s2lc46_out_ga(s(T95), .(X182, X183))
appc62_in_agaa(X299, T150, T151, .(X299, X268)) → U21_agaa(X299, T150, T151, X268, appc72_in_gaa(T150, T151, X268))
appc72_in_gaa([], T159, .(T159, [])) → appc72_out_gaa([], T159, .(T159, []))
appc72_in_gaa([], T172, .(X352, X339)) → U19_gaa(T172, X352, X339, appc12_in_aa(T172, X339))
U19_gaa(T172, X352, X339, appc12_out_aa(T172, X339)) → appc72_out_gaa([], T172, .(X352, X339))
appc72_in_gaa(.(T194, T196), T197, .(T194, X339)) → U20_gaa(T194, T196, T197, X339, appc72_in_gaa(T196, T197, X339))
U20_gaa(T194, T196, T197, X339, appc72_out_gaa(T196, T197, X339)) → appc72_out_gaa(.(T194, T196), T197, .(T194, X339))
U21_agaa(X299, T150, T151, X268, appc72_out_gaa(T150, T151, X268)) → appc62_out_agaa(X299, T150, T151, .(X299, X268))

The argument filtering Pi contains the following mapping:
0  =  0
appc12_in_aa(x1, x2)  =  appc12_in_aa
appc12_out_aa(x1, x2)  =  appc12_out_aa(x2)
.(x1, x2)  =  .(x2)
[]  =  []
s(x1)  =  s(x1)
s2lc46_in_ga(x1, x2)  =  s2lc46_in_ga(x1)
s2lc46_out_ga(x1, x2)  =  s2lc46_out_ga(x1, x2)
U18_ga(x1, x2, x3, x4)  =  U18_ga(x1, x4)
appc62_in_agaa(x1, x2, x3, x4)  =  appc62_in_agaa(x2)
U21_agaa(x1, x2, x3, x4, x5)  =  U21_agaa(x2, x5)
appc72_in_gaa(x1, x2, x3)  =  appc72_in_gaa(x1)
appc72_out_gaa(x1, x2, x3)  =  appc72_out_gaa(x1, x3)
U19_gaa(x1, x2, x3, x4)  =  U19_gaa(x4)
U20_gaa(x1, x2, x3, x4, x5)  =  U20_gaa(x2, x5)
appc62_out_agaa(x1, x2, x3, x4)  =  appc62_out_agaa(x2, x4)
APP72_IN_GAA(x1, x2, x3)  =  APP72_IN_GAA(x1)

We have to consider all (P,R,Pi)-chains

(10) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(11) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

APP72_IN_GAA(.(T194, T196), T197, .(T194, X339)) → APP72_IN_GAA(T196, T197, X339)

R is empty.
The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x2)
APP72_IN_GAA(x1, x2, x3)  =  APP72_IN_GAA(x1)

We have to consider all (P,R,Pi)-chains

(12) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(13) Obligation:

Q DP problem:
The TRS P consists of the following rules:

APP72_IN_GAA(.(T196)) → APP72_IN_GAA(T196)

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.

(14) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • APP72_IN_GAA(.(T196)) → APP72_IN_GAA(T196)
    The graph contains the following edges 1 > 1

(15) YES

(16) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

S2L46_IN_GA(s(T95), .(X182, X183)) → S2L46_IN_GA(T95, X183)

The TRS R consists of the following rules:

appc12_in_aa(T40, .(T40, [])) → appc12_out_aa(T40, .(T40, []))
s2lc46_in_ga(0, []) → s2lc46_out_ga(0, [])
s2lc46_in_ga(s(T95), .(X182, X183)) → U18_ga(T95, X182, X183, s2lc46_in_ga(T95, X183))
U18_ga(T95, X182, X183, s2lc46_out_ga(T95, X183)) → s2lc46_out_ga(s(T95), .(X182, X183))
appc62_in_agaa(X299, T150, T151, .(X299, X268)) → U21_agaa(X299, T150, T151, X268, appc72_in_gaa(T150, T151, X268))
appc72_in_gaa([], T159, .(T159, [])) → appc72_out_gaa([], T159, .(T159, []))
appc72_in_gaa([], T172, .(X352, X339)) → U19_gaa(T172, X352, X339, appc12_in_aa(T172, X339))
U19_gaa(T172, X352, X339, appc12_out_aa(T172, X339)) → appc72_out_gaa([], T172, .(X352, X339))
appc72_in_gaa(.(T194, T196), T197, .(T194, X339)) → U20_gaa(T194, T196, T197, X339, appc72_in_gaa(T196, T197, X339))
U20_gaa(T194, T196, T197, X339, appc72_out_gaa(T196, T197, X339)) → appc72_out_gaa(.(T194, T196), T197, .(T194, X339))
U21_agaa(X299, T150, T151, X268, appc72_out_gaa(T150, T151, X268)) → appc62_out_agaa(X299, T150, T151, .(X299, X268))

The argument filtering Pi contains the following mapping:
0  =  0
appc12_in_aa(x1, x2)  =  appc12_in_aa
appc12_out_aa(x1, x2)  =  appc12_out_aa(x2)
.(x1, x2)  =  .(x2)
[]  =  []
s(x1)  =  s(x1)
s2lc46_in_ga(x1, x2)  =  s2lc46_in_ga(x1)
s2lc46_out_ga(x1, x2)  =  s2lc46_out_ga(x1, x2)
U18_ga(x1, x2, x3, x4)  =  U18_ga(x1, x4)
appc62_in_agaa(x1, x2, x3, x4)  =  appc62_in_agaa(x2)
U21_agaa(x1, x2, x3, x4, x5)  =  U21_agaa(x2, x5)
appc72_in_gaa(x1, x2, x3)  =  appc72_in_gaa(x1)
appc72_out_gaa(x1, x2, x3)  =  appc72_out_gaa(x1, x3)
U19_gaa(x1, x2, x3, x4)  =  U19_gaa(x4)
U20_gaa(x1, x2, x3, x4, x5)  =  U20_gaa(x2, x5)
appc62_out_agaa(x1, x2, x3, x4)  =  appc62_out_agaa(x2, x4)
S2L46_IN_GA(x1, x2)  =  S2L46_IN_GA(x1)

We have to consider all (P,R,Pi)-chains

(17) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(18) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

S2L46_IN_GA(s(T95), .(X182, X183)) → S2L46_IN_GA(T95, X183)

R is empty.
The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x2)
s(x1)  =  s(x1)
S2L46_IN_GA(x1, x2)  =  S2L46_IN_GA(x1)

We have to consider all (P,R,Pi)-chains

(19) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(20) Obligation:

Q DP problem:
The TRS P consists of the following rules:

S2L46_IN_GA(s(T95)) → S2L46_IN_GA(T95)

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.

(21) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • S2L46_IN_GA(s(T95)) → S2L46_IN_GA(T95)
    The graph contains the following edges 1 > 1

(22) YES

(23) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

LAST29_IN_A(T66) → LAST29_IN_A(T66)

The TRS R consists of the following rules:

appc12_in_aa(T40, .(T40, [])) → appc12_out_aa(T40, .(T40, []))
s2lc46_in_ga(0, []) → s2lc46_out_ga(0, [])
s2lc46_in_ga(s(T95), .(X182, X183)) → U18_ga(T95, X182, X183, s2lc46_in_ga(T95, X183))
U18_ga(T95, X182, X183, s2lc46_out_ga(T95, X183)) → s2lc46_out_ga(s(T95), .(X182, X183))
appc62_in_agaa(X299, T150, T151, .(X299, X268)) → U21_agaa(X299, T150, T151, X268, appc72_in_gaa(T150, T151, X268))
appc72_in_gaa([], T159, .(T159, [])) → appc72_out_gaa([], T159, .(T159, []))
appc72_in_gaa([], T172, .(X352, X339)) → U19_gaa(T172, X352, X339, appc12_in_aa(T172, X339))
U19_gaa(T172, X352, X339, appc12_out_aa(T172, X339)) → appc72_out_gaa([], T172, .(X352, X339))
appc72_in_gaa(.(T194, T196), T197, .(T194, X339)) → U20_gaa(T194, T196, T197, X339, appc72_in_gaa(T196, T197, X339))
U20_gaa(T194, T196, T197, X339, appc72_out_gaa(T196, T197, X339)) → appc72_out_gaa(.(T194, T196), T197, .(T194, X339))
U21_agaa(X299, T150, T151, X268, appc72_out_gaa(T150, T151, X268)) → appc62_out_agaa(X299, T150, T151, .(X299, X268))

The argument filtering Pi contains the following mapping:
0  =  0
appc12_in_aa(x1, x2)  =  appc12_in_aa
appc12_out_aa(x1, x2)  =  appc12_out_aa(x2)
.(x1, x2)  =  .(x2)
[]  =  []
s(x1)  =  s(x1)
s2lc46_in_ga(x1, x2)  =  s2lc46_in_ga(x1)
s2lc46_out_ga(x1, x2)  =  s2lc46_out_ga(x1, x2)
U18_ga(x1, x2, x3, x4)  =  U18_ga(x1, x4)
appc62_in_agaa(x1, x2, x3, x4)  =  appc62_in_agaa(x2)
U21_agaa(x1, x2, x3, x4, x5)  =  U21_agaa(x2, x5)
appc72_in_gaa(x1, x2, x3)  =  appc72_in_gaa(x1)
appc72_out_gaa(x1, x2, x3)  =  appc72_out_gaa(x1, x3)
U19_gaa(x1, x2, x3, x4)  =  U19_gaa(x4)
U20_gaa(x1, x2, x3, x4, x5)  =  U20_gaa(x2, x5)
appc62_out_agaa(x1, x2, x3, x4)  =  appc62_out_agaa(x2, x4)
LAST29_IN_A(x1)  =  LAST29_IN_A

We have to consider all (P,R,Pi)-chains

(24) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(25) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

LAST29_IN_A(T66) → LAST29_IN_A(T66)

R is empty.
The argument filtering Pi contains the following mapping:
LAST29_IN_A(x1)  =  LAST29_IN_A

We have to consider all (P,R,Pi)-chains

(26) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(27) Obligation:

Q DP problem:
The TRS P consists of the following rules:

LAST29_IN_ALAST29_IN_A

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.

(28) NonTerminationProof (EQUIVALENT transformation)

We used the non-termination processor [FROCOS05] to show that the DP problem is infinite.
Found a loop by semiunifying a rule from P directly.

s = LAST29_IN_A evaluates to t =LAST29_IN_A

Thus s starts an infinite chain as s semiunifies with t with the following substitutions:
  • Semiunifier: [ ]
  • Matcher: [ ]




Rewriting sequence

The DP semiunifies directly so there is only one rewrite step from LAST29_IN_A to LAST29_IN_A.



(29) NO

(30) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

LAST13_IN_AG(T80, .(T78, T81)) → LAST13_IN_AG(T80, T81)

The TRS R consists of the following rules:

appc12_in_aa(T40, .(T40, [])) → appc12_out_aa(T40, .(T40, []))
s2lc46_in_ga(0, []) → s2lc46_out_ga(0, [])
s2lc46_in_ga(s(T95), .(X182, X183)) → U18_ga(T95, X182, X183, s2lc46_in_ga(T95, X183))
U18_ga(T95, X182, X183, s2lc46_out_ga(T95, X183)) → s2lc46_out_ga(s(T95), .(X182, X183))
appc62_in_agaa(X299, T150, T151, .(X299, X268)) → U21_agaa(X299, T150, T151, X268, appc72_in_gaa(T150, T151, X268))
appc72_in_gaa([], T159, .(T159, [])) → appc72_out_gaa([], T159, .(T159, []))
appc72_in_gaa([], T172, .(X352, X339)) → U19_gaa(T172, X352, X339, appc12_in_aa(T172, X339))
U19_gaa(T172, X352, X339, appc12_out_aa(T172, X339)) → appc72_out_gaa([], T172, .(X352, X339))
appc72_in_gaa(.(T194, T196), T197, .(T194, X339)) → U20_gaa(T194, T196, T197, X339, appc72_in_gaa(T196, T197, X339))
U20_gaa(T194, T196, T197, X339, appc72_out_gaa(T196, T197, X339)) → appc72_out_gaa(.(T194, T196), T197, .(T194, X339))
U21_agaa(X299, T150, T151, X268, appc72_out_gaa(T150, T151, X268)) → appc62_out_agaa(X299, T150, T151, .(X299, X268))

The argument filtering Pi contains the following mapping:
0  =  0
appc12_in_aa(x1, x2)  =  appc12_in_aa
appc12_out_aa(x1, x2)  =  appc12_out_aa(x2)
.(x1, x2)  =  .(x2)
[]  =  []
s(x1)  =  s(x1)
s2lc46_in_ga(x1, x2)  =  s2lc46_in_ga(x1)
s2lc46_out_ga(x1, x2)  =  s2lc46_out_ga(x1, x2)
U18_ga(x1, x2, x3, x4)  =  U18_ga(x1, x4)
appc62_in_agaa(x1, x2, x3, x4)  =  appc62_in_agaa(x2)
U21_agaa(x1, x2, x3, x4, x5)  =  U21_agaa(x2, x5)
appc72_in_gaa(x1, x2, x3)  =  appc72_in_gaa(x1)
appc72_out_gaa(x1, x2, x3)  =  appc72_out_gaa(x1, x3)
U19_gaa(x1, x2, x3, x4)  =  U19_gaa(x4)
U20_gaa(x1, x2, x3, x4, x5)  =  U20_gaa(x2, x5)
appc62_out_agaa(x1, x2, x3, x4)  =  appc62_out_agaa(x2, x4)
LAST13_IN_AG(x1, x2)  =  LAST13_IN_AG(x2)

We have to consider all (P,R,Pi)-chains

(31) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(32) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

LAST13_IN_AG(T80, .(T78, T81)) → LAST13_IN_AG(T80, T81)

R is empty.
The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x2)
LAST13_IN_AG(x1, x2)  =  LAST13_IN_AG(x2)

We have to consider all (P,R,Pi)-chains

(33) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(34) Obligation:

Q DP problem:
The TRS P consists of the following rules:

LAST13_IN_AG(.(T81)) → LAST13_IN_AG(T81)

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.

(35) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • LAST13_IN_AG(.(T81)) → LAST13_IN_AG(T81)
    The graph contains the following edges 1 > 1

(36) YES