(0) Obligation:

Clauses:

goal(A, B, C) :- ','(s2t(A, T), tapplast(T, B, C)).
tapplast(L, X, Last) :- ','(tappend(L, node(nil, X, nil), LX), tlast(Last, LX)).
tlast(X, node(nil, X, nil)).
tlast(X, node(L, H, R)) :- tlast(X, L).
tlast(X, node(L, H, R)) :- tlast(X, R).
tappend(nil, T, T).
tappend(node(nil, X, T2), T1, node(T1, X, T2)).
tappend(node(T1, X, nil), T2, node(T1, X, T2)).
tappend(node(T1, X, T2), T3, node(U, X, T2)) :- tappend(T1, T3, U).
tappend(node(T1, X, T2), T3, node(T1, X, U)) :- tappend(T2, T3, U).
s2t(s(X), node(T, Y, T)) :- s2t(X, T).
s2t(s(X), node(nil, Y, T)) :- s2t(X, T).
s2t(s(X), node(T, Y, nil)) :- s2t(X, T).
s2t(s(X), node(nil, Y, nil)).
s2t(0, nil).

Queries:

goal(g,a,a).

(1) PrologToPrologProblemTransformerProof (SOUND transformation)

Built Prolog problem from termination graph.

(2) Obligation:

Clauses:

s2t9(s(T27), node(X69, X70, X69)) :- s2t9(T27, X69).
s2t9(s(T33), node(nil, X102, X103)) :- s2t9(T33, X103).
s2t9(s(T39), node(X135, X136, nil)) :- s2t9(T39, X135).
s2t9(s(T45), node(nil, X159, nil)).
s2t9(0, nil).
tappend50(nil, T114, node(nil, T114, nil)).
tappend50(node(nil, T127, T128), T129, node(node(nil, T129, nil), T127, T128)).
tappend50(node(T142, T143, nil), T144, node(T142, T143, node(nil, T144, nil))).
tappend50(node(T165, T162, T163), T166, node(X370, T162, T163)) :- tappend50(T165, T166, X370).
tappend50(node(T177, T178, T181), T182, node(T177, T178, X395)) :- tappend50(T181, T182, X395).
tlast35(T205, node(nil, T205, nil)).
tlast35(T226, node(T227, T224, T225)) :- tlast35(T226, T227).
tlast35(T242, node(T239, T240, T243)) :- tlast35(T242, T243).
p33(T63, X190, T64, X189, T65) :- tappend34(T63, X190, T64, X189).
p33(T63, T68, T64, T69, T70) :- ','(tappend34(T63, T68, T64, T69), tlast35(T70, T69)).
tappend34(nil, X231, T77, node(node(nil, T77, nil), X231, nil)).
tappend34(nil, X254, T87, node(nil, X254, node(nil, T87, nil))).
tappend34(T106, X295, T107, node(X296, X295, T106)) :- tappend50(T106, T107, X296).
tappend34(T195, X424, T196, node(T195, X424, X425)) :- tappend50(T195, T196, X425).
goal1(s(T19), T13, T14) :- s2t9(T19, X31).
goal1(s(T19), T64, T65) :- ','(s2t9(T19, T63), p33(T63, X190, T64, X189, T65)).
goal1(s(T250), T13, T14) :- s2t9(T250, X504).
goal1(s(T250), T273, T274) :- ','(s2t9(T250, T272), tappend50(node(nil, X543, T272), T273, X542)).
goal1(s(T250), T273, T280) :- ','(s2t9(T250, T272), ','(tappend50(node(nil, T278, T272), T273, T279), tlast35(T280, T279))).
goal1(s(T289), T13, T14) :- s2t9(T289, X582).
goal1(s(T289), T311, T312) :- ','(s2t9(T289, T310), tappend50(node(T310, X625, nil), T311, X624)).
goal1(s(T289), T311, T317) :- ','(s2t9(T289, T310), ','(tappend50(node(T310, T315, nil), T311, T316), tlast35(T317, T316))).
goal1(s(T326), T339, T340) :- p33(nil, X690, T339, X689, T340).
goal1(0, T355, T356) :- tappend50(nil, T355, X714).
goal1(0, T355, T360) :- ','(tappend50(nil, T355, T359), tlast35(T360, T359)).

Queries:

goal1(g,a,a).

(3) PrologToPiTRSProof (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)
s2t9_in: (b,f)
p33_in: (b,f,f,f,f)
tappend34_in: (b,f,f,f)
tappend50_in: (b,f,f)
tlast35_in: (f,b)
Transforming Prolog into the following Term Rewriting System:
Pi-finite rewrite system:
The TRS R consists of the following rules:

goal1_in_gaa(s(T19), T13, T14) → U13_gaa(T19, T13, T14, s2t9_in_ga(T19, X31))
s2t9_in_ga(s(T27), node(X69, X70, X69)) → U1_ga(T27, X69, X70, s2t9_in_ga(T27, X69))
s2t9_in_ga(s(T33), node(nil, X102, X103)) → U2_ga(T33, X102, X103, s2t9_in_ga(T33, X103))
s2t9_in_ga(s(T39), node(X135, X136, nil)) → U3_ga(T39, X135, X136, s2t9_in_ga(T39, X135))
s2t9_in_ga(s(T45), node(nil, X159, nil)) → s2t9_out_ga(s(T45), node(nil, X159, nil))
s2t9_in_ga(0, nil) → s2t9_out_ga(0, nil)
U3_ga(T39, X135, X136, s2t9_out_ga(T39, X135)) → s2t9_out_ga(s(T39), node(X135, X136, nil))
U2_ga(T33, X102, X103, s2t9_out_ga(T33, X103)) → s2t9_out_ga(s(T33), node(nil, X102, X103))
U1_ga(T27, X69, X70, s2t9_out_ga(T27, X69)) → s2t9_out_ga(s(T27), node(X69, X70, X69))
U13_gaa(T19, T13, T14, s2t9_out_ga(T19, X31)) → goal1_out_gaa(s(T19), T13, T14)
goal1_in_gaa(s(T19), T64, T65) → U14_gaa(T19, T64, T65, s2t9_in_ga(T19, T63))
U14_gaa(T19, T64, T65, s2t9_out_ga(T19, T63)) → U15_gaa(T19, T64, T65, p33_in_gaaaa(T63, X190, T64, X189, T65))
p33_in_gaaaa(T63, X190, T64, X189, T65) → U8_gaaaa(T63, X190, T64, X189, T65, tappend34_in_gaaa(T63, X190, T64, X189))
tappend34_in_gaaa(nil, X231, T77, node(node(nil, T77, nil), X231, nil)) → tappend34_out_gaaa(nil, X231, T77, node(node(nil, T77, nil), X231, nil))
tappend34_in_gaaa(nil, X254, T87, node(nil, X254, node(nil, T87, nil))) → tappend34_out_gaaa(nil, X254, T87, node(nil, X254, node(nil, T87, nil)))
tappend34_in_gaaa(T106, X295, T107, node(X296, X295, T106)) → U11_gaaa(T106, X295, T107, X296, tappend50_in_gaa(T106, T107, X296))
tappend50_in_gaa(nil, T114, node(nil, T114, nil)) → tappend50_out_gaa(nil, T114, node(nil, T114, nil))
tappend50_in_gaa(node(nil, T127, T128), T129, node(node(nil, T129, nil), T127, T128)) → tappend50_out_gaa(node(nil, T127, T128), T129, node(node(nil, T129, nil), T127, T128))
tappend50_in_gaa(node(T142, T143, nil), T144, node(T142, T143, node(nil, T144, nil))) → tappend50_out_gaa(node(T142, T143, nil), T144, node(T142, T143, node(nil, T144, nil)))
tappend50_in_gaa(node(T165, T162, T163), T166, node(X370, T162, T163)) → U4_gaa(T165, T162, T163, T166, X370, tappend50_in_gaa(T165, T166, X370))
tappend50_in_gaa(node(T177, T178, T181), T182, node(T177, T178, X395)) → U5_gaa(T177, T178, T181, T182, X395, tappend50_in_gaa(T181, T182, X395))
U5_gaa(T177, T178, T181, T182, X395, tappend50_out_gaa(T181, T182, X395)) → tappend50_out_gaa(node(T177, T178, T181), T182, node(T177, T178, X395))
U4_gaa(T165, T162, T163, T166, X370, tappend50_out_gaa(T165, T166, X370)) → tappend50_out_gaa(node(T165, T162, T163), T166, node(X370, T162, T163))
U11_gaaa(T106, X295, T107, X296, tappend50_out_gaa(T106, T107, X296)) → tappend34_out_gaaa(T106, X295, T107, node(X296, X295, T106))
tappend34_in_gaaa(T195, X424, T196, node(T195, X424, X425)) → U12_gaaa(T195, X424, T196, X425, tappend50_in_gaa(T195, T196, X425))
U12_gaaa(T195, X424, T196, X425, tappend50_out_gaa(T195, T196, X425)) → tappend34_out_gaaa(T195, X424, T196, node(T195, X424, X425))
U8_gaaaa(T63, X190, T64, X189, T65, tappend34_out_gaaa(T63, X190, T64, X189)) → p33_out_gaaaa(T63, X190, T64, X189, T65)
p33_in_gaaaa(T63, T68, T64, T69, T70) → U9_gaaaa(T63, T68, T64, T69, T70, tappend34_in_gaaa(T63, T68, T64, T69))
U9_gaaaa(T63, T68, T64, T69, T70, tappend34_out_gaaa(T63, T68, T64, T69)) → U10_gaaaa(T63, T68, T64, T69, T70, tlast35_in_ag(T70, T69))
tlast35_in_ag(T205, node(nil, T205, nil)) → tlast35_out_ag(T205, node(nil, T205, nil))
tlast35_in_ag(T226, node(T227, T224, T225)) → U6_ag(T226, T227, T224, T225, tlast35_in_ag(T226, T227))
tlast35_in_ag(T242, node(T239, T240, T243)) → U7_ag(T242, T239, T240, T243, tlast35_in_ag(T242, T243))
U7_ag(T242, T239, T240, T243, tlast35_out_ag(T242, T243)) → tlast35_out_ag(T242, node(T239, T240, T243))
U6_ag(T226, T227, T224, T225, tlast35_out_ag(T226, T227)) → tlast35_out_ag(T226, node(T227, T224, T225))
U10_gaaaa(T63, T68, T64, T69, T70, tlast35_out_ag(T70, T69)) → p33_out_gaaaa(T63, T68, T64, T69, T70)
U15_gaa(T19, T64, T65, p33_out_gaaaa(T63, X190, T64, X189, T65)) → goal1_out_gaa(s(T19), T64, T65)
goal1_in_gaa(s(T250), T13, T14) → U16_gaa(T250, T13, T14, s2t9_in_ga(T250, X504))
U16_gaa(T250, T13, T14, s2t9_out_ga(T250, X504)) → goal1_out_gaa(s(T250), T13, T14)
goal1_in_gaa(s(T250), T273, T274) → U17_gaa(T250, T273, T274, s2t9_in_ga(T250, T272))
U17_gaa(T250, T273, T274, s2t9_out_ga(T250, T272)) → U18_gaa(T250, T273, T274, tappend50_in_gaa(node(nil, X543, T272), T273, X542))
U18_gaa(T250, T273, T274, tappend50_out_gaa(node(nil, X543, T272), T273, X542)) → goal1_out_gaa(s(T250), T273, T274)
goal1_in_gaa(s(T250), T273, T280) → U19_gaa(T250, T273, T280, s2t9_in_ga(T250, T272))
U19_gaa(T250, T273, T280, s2t9_out_ga(T250, T272)) → U20_gaa(T250, T273, T280, tappend50_in_gaa(node(nil, T278, T272), T273, T279))
U20_gaa(T250, T273, T280, tappend50_out_gaa(node(nil, T278, T272), T273, T279)) → U21_gaa(T250, T273, T280, tlast35_in_ag(T280, T279))
U21_gaa(T250, T273, T280, tlast35_out_ag(T280, T279)) → goal1_out_gaa(s(T250), T273, T280)
goal1_in_gaa(s(T289), T13, T14) → U22_gaa(T289, T13, T14, s2t9_in_ga(T289, X582))
U22_gaa(T289, T13, T14, s2t9_out_ga(T289, X582)) → goal1_out_gaa(s(T289), T13, T14)
goal1_in_gaa(s(T289), T311, T312) → U23_gaa(T289, T311, T312, s2t9_in_ga(T289, T310))
U23_gaa(T289, T311, T312, s2t9_out_ga(T289, T310)) → U24_gaa(T289, T311, T312, tappend50_in_gaa(node(T310, X625, nil), T311, X624))
U24_gaa(T289, T311, T312, tappend50_out_gaa(node(T310, X625, nil), T311, X624)) → goal1_out_gaa(s(T289), T311, T312)
goal1_in_gaa(s(T289), T311, T317) → U25_gaa(T289, T311, T317, s2t9_in_ga(T289, T310))
U25_gaa(T289, T311, T317, s2t9_out_ga(T289, T310)) → U26_gaa(T289, T311, T317, tappend50_in_gaa(node(T310, T315, nil), T311, T316))
U26_gaa(T289, T311, T317, tappend50_out_gaa(node(T310, T315, nil), T311, T316)) → U27_gaa(T289, T311, T317, tlast35_in_ag(T317, T316))
U27_gaa(T289, T311, T317, tlast35_out_ag(T317, T316)) → goal1_out_gaa(s(T289), T311, T317)
goal1_in_gaa(s(T326), T339, T340) → U28_gaa(T326, T339, T340, p33_in_gaaaa(nil, X690, T339, X689, T340))
U28_gaa(T326, T339, T340, p33_out_gaaaa(nil, X690, T339, X689, T340)) → goal1_out_gaa(s(T326), T339, T340)
goal1_in_gaa(0, T355, T356) → U29_gaa(T355, T356, tappend50_in_gaa(nil, T355, X714))
U29_gaa(T355, T356, tappend50_out_gaa(nil, T355, X714)) → goal1_out_gaa(0, T355, T356)
goal1_in_gaa(0, T355, T360) → U30_gaa(T355, T360, tappend50_in_gaa(nil, T355, T359))
U30_gaa(T355, T360, tappend50_out_gaa(nil, T355, T359)) → U31_gaa(T355, T360, tlast35_in_ag(T360, T359))
U31_gaa(T355, T360, tlast35_out_ag(T360, T359)) → goal1_out_gaa(0, T355, T360)

The argument filtering Pi contains the following mapping:
goal1_in_gaa(x1, x2, x3)  =  goal1_in_gaa(x1)
s(x1)  =  s(x1)
U13_gaa(x1, x2, x3, x4)  =  U13_gaa(x4)
s2t9_in_ga(x1, x2)  =  s2t9_in_ga(x1)
U1_ga(x1, x2, x3, x4)  =  U1_ga(x4)
U2_ga(x1, x2, x3, x4)  =  U2_ga(x4)
U3_ga(x1, x2, x3, x4)  =  U3_ga(x4)
s2t9_out_ga(x1, x2)  =  s2t9_out_ga(x2)
node(x1, x2, x3)  =  node(x1, x3)
0  =  0
goal1_out_gaa(x1, x2, x3)  =  goal1_out_gaa
U14_gaa(x1, x2, x3, x4)  =  U14_gaa(x4)
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x4)
p33_in_gaaaa(x1, x2, x3, x4, x5)  =  p33_in_gaaaa(x1)
U8_gaaaa(x1, x2, x3, x4, x5, x6)  =  U8_gaaaa(x6)
tappend34_in_gaaa(x1, x2, x3, x4)  =  tappend34_in_gaaa(x1)
nil  =  nil
tappend34_out_gaaa(x1, x2, x3, x4)  =  tappend34_out_gaaa(x4)
U11_gaaa(x1, x2, x3, x4, x5)  =  U11_gaaa(x1, x5)
tappend50_in_gaa(x1, x2, x3)  =  tappend50_in_gaa(x1)
tappend50_out_gaa(x1, x2, x3)  =  tappend50_out_gaa(x3)
U4_gaa(x1, x2, x3, x4, x5, x6)  =  U4_gaa(x3, x6)
U5_gaa(x1, x2, x3, x4, x5, x6)  =  U5_gaa(x1, x6)
U12_gaaa(x1, x2, x3, x4, x5)  =  U12_gaaa(x1, x5)
p33_out_gaaaa(x1, x2, x3, x4, x5)  =  p33_out_gaaaa(x4)
U9_gaaaa(x1, x2, x3, x4, x5, x6)  =  U9_gaaaa(x6)
U10_gaaaa(x1, x2, x3, x4, x5, x6)  =  U10_gaaaa(x4, x6)
tlast35_in_ag(x1, x2)  =  tlast35_in_ag(x2)
tlast35_out_ag(x1, x2)  =  tlast35_out_ag
U6_ag(x1, x2, x3, x4, x5)  =  U6_ag(x5)
U7_ag(x1, x2, x3, x4, x5)  =  U7_ag(x5)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x4)
U17_gaa(x1, x2, x3, x4)  =  U17_gaa(x4)
U18_gaa(x1, x2, x3, x4)  =  U18_gaa(x4)
U19_gaa(x1, x2, x3, x4)  =  U19_gaa(x4)
U20_gaa(x1, x2, x3, x4)  =  U20_gaa(x4)
U21_gaa(x1, x2, x3, x4)  =  U21_gaa(x4)
U22_gaa(x1, x2, x3, x4)  =  U22_gaa(x4)
U23_gaa(x1, x2, x3, x4)  =  U23_gaa(x4)
U24_gaa(x1, x2, x3, x4)  =  U24_gaa(x4)
U25_gaa(x1, x2, x3, x4)  =  U25_gaa(x4)
U26_gaa(x1, x2, x3, x4)  =  U26_gaa(x4)
U27_gaa(x1, x2, x3, x4)  =  U27_gaa(x4)
U28_gaa(x1, x2, x3, x4)  =  U28_gaa(x4)
U29_gaa(x1, x2, x3)  =  U29_gaa(x3)
U30_gaa(x1, x2, x3)  =  U30_gaa(x3)
U31_gaa(x1, x2, x3)  =  U31_gaa(x3)

Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog

(4) Obligation:

Pi-finite rewrite system:
The TRS R consists of the following rules:

goal1_in_gaa(s(T19), T13, T14) → U13_gaa(T19, T13, T14, s2t9_in_ga(T19, X31))
s2t9_in_ga(s(T27), node(X69, X70, X69)) → U1_ga(T27, X69, X70, s2t9_in_ga(T27, X69))
s2t9_in_ga(s(T33), node(nil, X102, X103)) → U2_ga(T33, X102, X103, s2t9_in_ga(T33, X103))
s2t9_in_ga(s(T39), node(X135, X136, nil)) → U3_ga(T39, X135, X136, s2t9_in_ga(T39, X135))
s2t9_in_ga(s(T45), node(nil, X159, nil)) → s2t9_out_ga(s(T45), node(nil, X159, nil))
s2t9_in_ga(0, nil) → s2t9_out_ga(0, nil)
U3_ga(T39, X135, X136, s2t9_out_ga(T39, X135)) → s2t9_out_ga(s(T39), node(X135, X136, nil))
U2_ga(T33, X102, X103, s2t9_out_ga(T33, X103)) → s2t9_out_ga(s(T33), node(nil, X102, X103))
U1_ga(T27, X69, X70, s2t9_out_ga(T27, X69)) → s2t9_out_ga(s(T27), node(X69, X70, X69))
U13_gaa(T19, T13, T14, s2t9_out_ga(T19, X31)) → goal1_out_gaa(s(T19), T13, T14)
goal1_in_gaa(s(T19), T64, T65) → U14_gaa(T19, T64, T65, s2t9_in_ga(T19, T63))
U14_gaa(T19, T64, T65, s2t9_out_ga(T19, T63)) → U15_gaa(T19, T64, T65, p33_in_gaaaa(T63, X190, T64, X189, T65))
p33_in_gaaaa(T63, X190, T64, X189, T65) → U8_gaaaa(T63, X190, T64, X189, T65, tappend34_in_gaaa(T63, X190, T64, X189))
tappend34_in_gaaa(nil, X231, T77, node(node(nil, T77, nil), X231, nil)) → tappend34_out_gaaa(nil, X231, T77, node(node(nil, T77, nil), X231, nil))
tappend34_in_gaaa(nil, X254, T87, node(nil, X254, node(nil, T87, nil))) → tappend34_out_gaaa(nil, X254, T87, node(nil, X254, node(nil, T87, nil)))
tappend34_in_gaaa(T106, X295, T107, node(X296, X295, T106)) → U11_gaaa(T106, X295, T107, X296, tappend50_in_gaa(T106, T107, X296))
tappend50_in_gaa(nil, T114, node(nil, T114, nil)) → tappend50_out_gaa(nil, T114, node(nil, T114, nil))
tappend50_in_gaa(node(nil, T127, T128), T129, node(node(nil, T129, nil), T127, T128)) → tappend50_out_gaa(node(nil, T127, T128), T129, node(node(nil, T129, nil), T127, T128))
tappend50_in_gaa(node(T142, T143, nil), T144, node(T142, T143, node(nil, T144, nil))) → tappend50_out_gaa(node(T142, T143, nil), T144, node(T142, T143, node(nil, T144, nil)))
tappend50_in_gaa(node(T165, T162, T163), T166, node(X370, T162, T163)) → U4_gaa(T165, T162, T163, T166, X370, tappend50_in_gaa(T165, T166, X370))
tappend50_in_gaa(node(T177, T178, T181), T182, node(T177, T178, X395)) → U5_gaa(T177, T178, T181, T182, X395, tappend50_in_gaa(T181, T182, X395))
U5_gaa(T177, T178, T181, T182, X395, tappend50_out_gaa(T181, T182, X395)) → tappend50_out_gaa(node(T177, T178, T181), T182, node(T177, T178, X395))
U4_gaa(T165, T162, T163, T166, X370, tappend50_out_gaa(T165, T166, X370)) → tappend50_out_gaa(node(T165, T162, T163), T166, node(X370, T162, T163))
U11_gaaa(T106, X295, T107, X296, tappend50_out_gaa(T106, T107, X296)) → tappend34_out_gaaa(T106, X295, T107, node(X296, X295, T106))
tappend34_in_gaaa(T195, X424, T196, node(T195, X424, X425)) → U12_gaaa(T195, X424, T196, X425, tappend50_in_gaa(T195, T196, X425))
U12_gaaa(T195, X424, T196, X425, tappend50_out_gaa(T195, T196, X425)) → tappend34_out_gaaa(T195, X424, T196, node(T195, X424, X425))
U8_gaaaa(T63, X190, T64, X189, T65, tappend34_out_gaaa(T63, X190, T64, X189)) → p33_out_gaaaa(T63, X190, T64, X189, T65)
p33_in_gaaaa(T63, T68, T64, T69, T70) → U9_gaaaa(T63, T68, T64, T69, T70, tappend34_in_gaaa(T63, T68, T64, T69))
U9_gaaaa(T63, T68, T64, T69, T70, tappend34_out_gaaa(T63, T68, T64, T69)) → U10_gaaaa(T63, T68, T64, T69, T70, tlast35_in_ag(T70, T69))
tlast35_in_ag(T205, node(nil, T205, nil)) → tlast35_out_ag(T205, node(nil, T205, nil))
tlast35_in_ag(T226, node(T227, T224, T225)) → U6_ag(T226, T227, T224, T225, tlast35_in_ag(T226, T227))
tlast35_in_ag(T242, node(T239, T240, T243)) → U7_ag(T242, T239, T240, T243, tlast35_in_ag(T242, T243))
U7_ag(T242, T239, T240, T243, tlast35_out_ag(T242, T243)) → tlast35_out_ag(T242, node(T239, T240, T243))
U6_ag(T226, T227, T224, T225, tlast35_out_ag(T226, T227)) → tlast35_out_ag(T226, node(T227, T224, T225))
U10_gaaaa(T63, T68, T64, T69, T70, tlast35_out_ag(T70, T69)) → p33_out_gaaaa(T63, T68, T64, T69, T70)
U15_gaa(T19, T64, T65, p33_out_gaaaa(T63, X190, T64, X189, T65)) → goal1_out_gaa(s(T19), T64, T65)
goal1_in_gaa(s(T250), T13, T14) → U16_gaa(T250, T13, T14, s2t9_in_ga(T250, X504))
U16_gaa(T250, T13, T14, s2t9_out_ga(T250, X504)) → goal1_out_gaa(s(T250), T13, T14)
goal1_in_gaa(s(T250), T273, T274) → U17_gaa(T250, T273, T274, s2t9_in_ga(T250, T272))
U17_gaa(T250, T273, T274, s2t9_out_ga(T250, T272)) → U18_gaa(T250, T273, T274, tappend50_in_gaa(node(nil, X543, T272), T273, X542))
U18_gaa(T250, T273, T274, tappend50_out_gaa(node(nil, X543, T272), T273, X542)) → goal1_out_gaa(s(T250), T273, T274)
goal1_in_gaa(s(T250), T273, T280) → U19_gaa(T250, T273, T280, s2t9_in_ga(T250, T272))
U19_gaa(T250, T273, T280, s2t9_out_ga(T250, T272)) → U20_gaa(T250, T273, T280, tappend50_in_gaa(node(nil, T278, T272), T273, T279))
U20_gaa(T250, T273, T280, tappend50_out_gaa(node(nil, T278, T272), T273, T279)) → U21_gaa(T250, T273, T280, tlast35_in_ag(T280, T279))
U21_gaa(T250, T273, T280, tlast35_out_ag(T280, T279)) → goal1_out_gaa(s(T250), T273, T280)
goal1_in_gaa(s(T289), T13, T14) → U22_gaa(T289, T13, T14, s2t9_in_ga(T289, X582))
U22_gaa(T289, T13, T14, s2t9_out_ga(T289, X582)) → goal1_out_gaa(s(T289), T13, T14)
goal1_in_gaa(s(T289), T311, T312) → U23_gaa(T289, T311, T312, s2t9_in_ga(T289, T310))
U23_gaa(T289, T311, T312, s2t9_out_ga(T289, T310)) → U24_gaa(T289, T311, T312, tappend50_in_gaa(node(T310, X625, nil), T311, X624))
U24_gaa(T289, T311, T312, tappend50_out_gaa(node(T310, X625, nil), T311, X624)) → goal1_out_gaa(s(T289), T311, T312)
goal1_in_gaa(s(T289), T311, T317) → U25_gaa(T289, T311, T317, s2t9_in_ga(T289, T310))
U25_gaa(T289, T311, T317, s2t9_out_ga(T289, T310)) → U26_gaa(T289, T311, T317, tappend50_in_gaa(node(T310, T315, nil), T311, T316))
U26_gaa(T289, T311, T317, tappend50_out_gaa(node(T310, T315, nil), T311, T316)) → U27_gaa(T289, T311, T317, tlast35_in_ag(T317, T316))
U27_gaa(T289, T311, T317, tlast35_out_ag(T317, T316)) → goal1_out_gaa(s(T289), T311, T317)
goal1_in_gaa(s(T326), T339, T340) → U28_gaa(T326, T339, T340, p33_in_gaaaa(nil, X690, T339, X689, T340))
U28_gaa(T326, T339, T340, p33_out_gaaaa(nil, X690, T339, X689, T340)) → goal1_out_gaa(s(T326), T339, T340)
goal1_in_gaa(0, T355, T356) → U29_gaa(T355, T356, tappend50_in_gaa(nil, T355, X714))
U29_gaa(T355, T356, tappend50_out_gaa(nil, T355, X714)) → goal1_out_gaa(0, T355, T356)
goal1_in_gaa(0, T355, T360) → U30_gaa(T355, T360, tappend50_in_gaa(nil, T355, T359))
U30_gaa(T355, T360, tappend50_out_gaa(nil, T355, T359)) → U31_gaa(T355, T360, tlast35_in_ag(T360, T359))
U31_gaa(T355, T360, tlast35_out_ag(T360, T359)) → goal1_out_gaa(0, T355, T360)

The argument filtering Pi contains the following mapping:
goal1_in_gaa(x1, x2, x3)  =  goal1_in_gaa(x1)
s(x1)  =  s(x1)
U13_gaa(x1, x2, x3, x4)  =  U13_gaa(x4)
s2t9_in_ga(x1, x2)  =  s2t9_in_ga(x1)
U1_ga(x1, x2, x3, x4)  =  U1_ga(x4)
U2_ga(x1, x2, x3, x4)  =  U2_ga(x4)
U3_ga(x1, x2, x3, x4)  =  U3_ga(x4)
s2t9_out_ga(x1, x2)  =  s2t9_out_ga(x2)
node(x1, x2, x3)  =  node(x1, x3)
0  =  0
goal1_out_gaa(x1, x2, x3)  =  goal1_out_gaa
U14_gaa(x1, x2, x3, x4)  =  U14_gaa(x4)
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x4)
p33_in_gaaaa(x1, x2, x3, x4, x5)  =  p33_in_gaaaa(x1)
U8_gaaaa(x1, x2, x3, x4, x5, x6)  =  U8_gaaaa(x6)
tappend34_in_gaaa(x1, x2, x3, x4)  =  tappend34_in_gaaa(x1)
nil  =  nil
tappend34_out_gaaa(x1, x2, x3, x4)  =  tappend34_out_gaaa(x4)
U11_gaaa(x1, x2, x3, x4, x5)  =  U11_gaaa(x1, x5)
tappend50_in_gaa(x1, x2, x3)  =  tappend50_in_gaa(x1)
tappend50_out_gaa(x1, x2, x3)  =  tappend50_out_gaa(x3)
U4_gaa(x1, x2, x3, x4, x5, x6)  =  U4_gaa(x3, x6)
U5_gaa(x1, x2, x3, x4, x5, x6)  =  U5_gaa(x1, x6)
U12_gaaa(x1, x2, x3, x4, x5)  =  U12_gaaa(x1, x5)
p33_out_gaaaa(x1, x2, x3, x4, x5)  =  p33_out_gaaaa(x4)
U9_gaaaa(x1, x2, x3, x4, x5, x6)  =  U9_gaaaa(x6)
U10_gaaaa(x1, x2, x3, x4, x5, x6)  =  U10_gaaaa(x4, x6)
tlast35_in_ag(x1, x2)  =  tlast35_in_ag(x2)
tlast35_out_ag(x1, x2)  =  tlast35_out_ag
U6_ag(x1, x2, x3, x4, x5)  =  U6_ag(x5)
U7_ag(x1, x2, x3, x4, x5)  =  U7_ag(x5)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x4)
U17_gaa(x1, x2, x3, x4)  =  U17_gaa(x4)
U18_gaa(x1, x2, x3, x4)  =  U18_gaa(x4)
U19_gaa(x1, x2, x3, x4)  =  U19_gaa(x4)
U20_gaa(x1, x2, x3, x4)  =  U20_gaa(x4)
U21_gaa(x1, x2, x3, x4)  =  U21_gaa(x4)
U22_gaa(x1, x2, x3, x4)  =  U22_gaa(x4)
U23_gaa(x1, x2, x3, x4)  =  U23_gaa(x4)
U24_gaa(x1, x2, x3, x4)  =  U24_gaa(x4)
U25_gaa(x1, x2, x3, x4)  =  U25_gaa(x4)
U26_gaa(x1, x2, x3, x4)  =  U26_gaa(x4)
U27_gaa(x1, x2, x3, x4)  =  U27_gaa(x4)
U28_gaa(x1, x2, x3, x4)  =  U28_gaa(x4)
U29_gaa(x1, x2, x3)  =  U29_gaa(x3)
U30_gaa(x1, x2, x3)  =  U30_gaa(x3)
U31_gaa(x1, x2, x3)  =  U31_gaa(x3)

(5) DependencyPairsProof (EQUIVALENT transformation)

Using Dependency Pairs [AG00,LOPSTR] we result in the following initial DP problem:
Pi DP problem:
The TRS P consists of the following rules:

GOAL1_IN_GAA(s(T19), T13, T14) → U13_GAA(T19, T13, T14, s2t9_in_ga(T19, X31))
GOAL1_IN_GAA(s(T19), T13, T14) → S2T9_IN_GA(T19, X31)
S2T9_IN_GA(s(T27), node(X69, X70, X69)) → U1_GA(T27, X69, X70, s2t9_in_ga(T27, X69))
S2T9_IN_GA(s(T27), node(X69, X70, X69)) → S2T9_IN_GA(T27, X69)
S2T9_IN_GA(s(T33), node(nil, X102, X103)) → U2_GA(T33, X102, X103, s2t9_in_ga(T33, X103))
S2T9_IN_GA(s(T33), node(nil, X102, X103)) → S2T9_IN_GA(T33, X103)
S2T9_IN_GA(s(T39), node(X135, X136, nil)) → U3_GA(T39, X135, X136, s2t9_in_ga(T39, X135))
S2T9_IN_GA(s(T39), node(X135, X136, nil)) → S2T9_IN_GA(T39, X135)
GOAL1_IN_GAA(s(T19), T64, T65) → U14_GAA(T19, T64, T65, s2t9_in_ga(T19, T63))
U14_GAA(T19, T64, T65, s2t9_out_ga(T19, T63)) → U15_GAA(T19, T64, T65, p33_in_gaaaa(T63, X190, T64, X189, T65))
U14_GAA(T19, T64, T65, s2t9_out_ga(T19, T63)) → P33_IN_GAAAA(T63, X190, T64, X189, T65)
P33_IN_GAAAA(T63, X190, T64, X189, T65) → U8_GAAAA(T63, X190, T64, X189, T65, tappend34_in_gaaa(T63, X190, T64, X189))
P33_IN_GAAAA(T63, X190, T64, X189, T65) → TAPPEND34_IN_GAAA(T63, X190, T64, X189)
TAPPEND34_IN_GAAA(T106, X295, T107, node(X296, X295, T106)) → U11_GAAA(T106, X295, T107, X296, tappend50_in_gaa(T106, T107, X296))
TAPPEND34_IN_GAAA(T106, X295, T107, node(X296, X295, T106)) → TAPPEND50_IN_GAA(T106, T107, X296)
TAPPEND50_IN_GAA(node(T165, T162, T163), T166, node(X370, T162, T163)) → U4_GAA(T165, T162, T163, T166, X370, tappend50_in_gaa(T165, T166, X370))
TAPPEND50_IN_GAA(node(T165, T162, T163), T166, node(X370, T162, T163)) → TAPPEND50_IN_GAA(T165, T166, X370)
TAPPEND50_IN_GAA(node(T177, T178, T181), T182, node(T177, T178, X395)) → U5_GAA(T177, T178, T181, T182, X395, tappend50_in_gaa(T181, T182, X395))
TAPPEND50_IN_GAA(node(T177, T178, T181), T182, node(T177, T178, X395)) → TAPPEND50_IN_GAA(T181, T182, X395)
TAPPEND34_IN_GAAA(T195, X424, T196, node(T195, X424, X425)) → U12_GAAA(T195, X424, T196, X425, tappend50_in_gaa(T195, T196, X425))
TAPPEND34_IN_GAAA(T195, X424, T196, node(T195, X424, X425)) → TAPPEND50_IN_GAA(T195, T196, X425)
P33_IN_GAAAA(T63, T68, T64, T69, T70) → U9_GAAAA(T63, T68, T64, T69, T70, tappend34_in_gaaa(T63, T68, T64, T69))
U9_GAAAA(T63, T68, T64, T69, T70, tappend34_out_gaaa(T63, T68, T64, T69)) → U10_GAAAA(T63, T68, T64, T69, T70, tlast35_in_ag(T70, T69))
U9_GAAAA(T63, T68, T64, T69, T70, tappend34_out_gaaa(T63, T68, T64, T69)) → TLAST35_IN_AG(T70, T69)
TLAST35_IN_AG(T226, node(T227, T224, T225)) → U6_AG(T226, T227, T224, T225, tlast35_in_ag(T226, T227))
TLAST35_IN_AG(T226, node(T227, T224, T225)) → TLAST35_IN_AG(T226, T227)
TLAST35_IN_AG(T242, node(T239, T240, T243)) → U7_AG(T242, T239, T240, T243, tlast35_in_ag(T242, T243))
TLAST35_IN_AG(T242, node(T239, T240, T243)) → TLAST35_IN_AG(T242, T243)
GOAL1_IN_GAA(s(T250), T13, T14) → U16_GAA(T250, T13, T14, s2t9_in_ga(T250, X504))
GOAL1_IN_GAA(s(T250), T273, T274) → U17_GAA(T250, T273, T274, s2t9_in_ga(T250, T272))
U17_GAA(T250, T273, T274, s2t9_out_ga(T250, T272)) → U18_GAA(T250, T273, T274, tappend50_in_gaa(node(nil, X543, T272), T273, X542))
U17_GAA(T250, T273, T274, s2t9_out_ga(T250, T272)) → TAPPEND50_IN_GAA(node(nil, X543, T272), T273, X542)
GOAL1_IN_GAA(s(T250), T273, T280) → U19_GAA(T250, T273, T280, s2t9_in_ga(T250, T272))
U19_GAA(T250, T273, T280, s2t9_out_ga(T250, T272)) → U20_GAA(T250, T273, T280, tappend50_in_gaa(node(nil, T278, T272), T273, T279))
U19_GAA(T250, T273, T280, s2t9_out_ga(T250, T272)) → TAPPEND50_IN_GAA(node(nil, T278, T272), T273, T279)
U20_GAA(T250, T273, T280, tappend50_out_gaa(node(nil, T278, T272), T273, T279)) → U21_GAA(T250, T273, T280, tlast35_in_ag(T280, T279))
U20_GAA(T250, T273, T280, tappend50_out_gaa(node(nil, T278, T272), T273, T279)) → TLAST35_IN_AG(T280, T279)
GOAL1_IN_GAA(s(T289), T13, T14) → U22_GAA(T289, T13, T14, s2t9_in_ga(T289, X582))
GOAL1_IN_GAA(s(T289), T311, T312) → U23_GAA(T289, T311, T312, s2t9_in_ga(T289, T310))
U23_GAA(T289, T311, T312, s2t9_out_ga(T289, T310)) → U24_GAA(T289, T311, T312, tappend50_in_gaa(node(T310, X625, nil), T311, X624))
U23_GAA(T289, T311, T312, s2t9_out_ga(T289, T310)) → TAPPEND50_IN_GAA(node(T310, X625, nil), T311, X624)
GOAL1_IN_GAA(s(T289), T311, T317) → U25_GAA(T289, T311, T317, s2t9_in_ga(T289, T310))
U25_GAA(T289, T311, T317, s2t9_out_ga(T289, T310)) → U26_GAA(T289, T311, T317, tappend50_in_gaa(node(T310, T315, nil), T311, T316))
U25_GAA(T289, T311, T317, s2t9_out_ga(T289, T310)) → TAPPEND50_IN_GAA(node(T310, T315, nil), T311, T316)
U26_GAA(T289, T311, T317, tappend50_out_gaa(node(T310, T315, nil), T311, T316)) → U27_GAA(T289, T311, T317, tlast35_in_ag(T317, T316))
U26_GAA(T289, T311, T317, tappend50_out_gaa(node(T310, T315, nil), T311, T316)) → TLAST35_IN_AG(T317, T316)
GOAL1_IN_GAA(s(T326), T339, T340) → U28_GAA(T326, T339, T340, p33_in_gaaaa(nil, X690, T339, X689, T340))
GOAL1_IN_GAA(s(T326), T339, T340) → P33_IN_GAAAA(nil, X690, T339, X689, T340)
GOAL1_IN_GAA(0, T355, T356) → U29_GAA(T355, T356, tappend50_in_gaa(nil, T355, X714))
GOAL1_IN_GAA(0, T355, T356) → TAPPEND50_IN_GAA(nil, T355, X714)
GOAL1_IN_GAA(0, T355, T360) → U30_GAA(T355, T360, tappend50_in_gaa(nil, T355, T359))
U30_GAA(T355, T360, tappend50_out_gaa(nil, T355, T359)) → U31_GAA(T355, T360, tlast35_in_ag(T360, T359))
U30_GAA(T355, T360, tappend50_out_gaa(nil, T355, T359)) → TLAST35_IN_AG(T360, T359)

The TRS R consists of the following rules:

goal1_in_gaa(s(T19), T13, T14) → U13_gaa(T19, T13, T14, s2t9_in_ga(T19, X31))
s2t9_in_ga(s(T27), node(X69, X70, X69)) → U1_ga(T27, X69, X70, s2t9_in_ga(T27, X69))
s2t9_in_ga(s(T33), node(nil, X102, X103)) → U2_ga(T33, X102, X103, s2t9_in_ga(T33, X103))
s2t9_in_ga(s(T39), node(X135, X136, nil)) → U3_ga(T39, X135, X136, s2t9_in_ga(T39, X135))
s2t9_in_ga(s(T45), node(nil, X159, nil)) → s2t9_out_ga(s(T45), node(nil, X159, nil))
s2t9_in_ga(0, nil) → s2t9_out_ga(0, nil)
U3_ga(T39, X135, X136, s2t9_out_ga(T39, X135)) → s2t9_out_ga(s(T39), node(X135, X136, nil))
U2_ga(T33, X102, X103, s2t9_out_ga(T33, X103)) → s2t9_out_ga(s(T33), node(nil, X102, X103))
U1_ga(T27, X69, X70, s2t9_out_ga(T27, X69)) → s2t9_out_ga(s(T27), node(X69, X70, X69))
U13_gaa(T19, T13, T14, s2t9_out_ga(T19, X31)) → goal1_out_gaa(s(T19), T13, T14)
goal1_in_gaa(s(T19), T64, T65) → U14_gaa(T19, T64, T65, s2t9_in_ga(T19, T63))
U14_gaa(T19, T64, T65, s2t9_out_ga(T19, T63)) → U15_gaa(T19, T64, T65, p33_in_gaaaa(T63, X190, T64, X189, T65))
p33_in_gaaaa(T63, X190, T64, X189, T65) → U8_gaaaa(T63, X190, T64, X189, T65, tappend34_in_gaaa(T63, X190, T64, X189))
tappend34_in_gaaa(nil, X231, T77, node(node(nil, T77, nil), X231, nil)) → tappend34_out_gaaa(nil, X231, T77, node(node(nil, T77, nil), X231, nil))
tappend34_in_gaaa(nil, X254, T87, node(nil, X254, node(nil, T87, nil))) → tappend34_out_gaaa(nil, X254, T87, node(nil, X254, node(nil, T87, nil)))
tappend34_in_gaaa(T106, X295, T107, node(X296, X295, T106)) → U11_gaaa(T106, X295, T107, X296, tappend50_in_gaa(T106, T107, X296))
tappend50_in_gaa(nil, T114, node(nil, T114, nil)) → tappend50_out_gaa(nil, T114, node(nil, T114, nil))
tappend50_in_gaa(node(nil, T127, T128), T129, node(node(nil, T129, nil), T127, T128)) → tappend50_out_gaa(node(nil, T127, T128), T129, node(node(nil, T129, nil), T127, T128))
tappend50_in_gaa(node(T142, T143, nil), T144, node(T142, T143, node(nil, T144, nil))) → tappend50_out_gaa(node(T142, T143, nil), T144, node(T142, T143, node(nil, T144, nil)))
tappend50_in_gaa(node(T165, T162, T163), T166, node(X370, T162, T163)) → U4_gaa(T165, T162, T163, T166, X370, tappend50_in_gaa(T165, T166, X370))
tappend50_in_gaa(node(T177, T178, T181), T182, node(T177, T178, X395)) → U5_gaa(T177, T178, T181, T182, X395, tappend50_in_gaa(T181, T182, X395))
U5_gaa(T177, T178, T181, T182, X395, tappend50_out_gaa(T181, T182, X395)) → tappend50_out_gaa(node(T177, T178, T181), T182, node(T177, T178, X395))
U4_gaa(T165, T162, T163, T166, X370, tappend50_out_gaa(T165, T166, X370)) → tappend50_out_gaa(node(T165, T162, T163), T166, node(X370, T162, T163))
U11_gaaa(T106, X295, T107, X296, tappend50_out_gaa(T106, T107, X296)) → tappend34_out_gaaa(T106, X295, T107, node(X296, X295, T106))
tappend34_in_gaaa(T195, X424, T196, node(T195, X424, X425)) → U12_gaaa(T195, X424, T196, X425, tappend50_in_gaa(T195, T196, X425))
U12_gaaa(T195, X424, T196, X425, tappend50_out_gaa(T195, T196, X425)) → tappend34_out_gaaa(T195, X424, T196, node(T195, X424, X425))
U8_gaaaa(T63, X190, T64, X189, T65, tappend34_out_gaaa(T63, X190, T64, X189)) → p33_out_gaaaa(T63, X190, T64, X189, T65)
p33_in_gaaaa(T63, T68, T64, T69, T70) → U9_gaaaa(T63, T68, T64, T69, T70, tappend34_in_gaaa(T63, T68, T64, T69))
U9_gaaaa(T63, T68, T64, T69, T70, tappend34_out_gaaa(T63, T68, T64, T69)) → U10_gaaaa(T63, T68, T64, T69, T70, tlast35_in_ag(T70, T69))
tlast35_in_ag(T205, node(nil, T205, nil)) → tlast35_out_ag(T205, node(nil, T205, nil))
tlast35_in_ag(T226, node(T227, T224, T225)) → U6_ag(T226, T227, T224, T225, tlast35_in_ag(T226, T227))
tlast35_in_ag(T242, node(T239, T240, T243)) → U7_ag(T242, T239, T240, T243, tlast35_in_ag(T242, T243))
U7_ag(T242, T239, T240, T243, tlast35_out_ag(T242, T243)) → tlast35_out_ag(T242, node(T239, T240, T243))
U6_ag(T226, T227, T224, T225, tlast35_out_ag(T226, T227)) → tlast35_out_ag(T226, node(T227, T224, T225))
U10_gaaaa(T63, T68, T64, T69, T70, tlast35_out_ag(T70, T69)) → p33_out_gaaaa(T63, T68, T64, T69, T70)
U15_gaa(T19, T64, T65, p33_out_gaaaa(T63, X190, T64, X189, T65)) → goal1_out_gaa(s(T19), T64, T65)
goal1_in_gaa(s(T250), T13, T14) → U16_gaa(T250, T13, T14, s2t9_in_ga(T250, X504))
U16_gaa(T250, T13, T14, s2t9_out_ga(T250, X504)) → goal1_out_gaa(s(T250), T13, T14)
goal1_in_gaa(s(T250), T273, T274) → U17_gaa(T250, T273, T274, s2t9_in_ga(T250, T272))
U17_gaa(T250, T273, T274, s2t9_out_ga(T250, T272)) → U18_gaa(T250, T273, T274, tappend50_in_gaa(node(nil, X543, T272), T273, X542))
U18_gaa(T250, T273, T274, tappend50_out_gaa(node(nil, X543, T272), T273, X542)) → goal1_out_gaa(s(T250), T273, T274)
goal1_in_gaa(s(T250), T273, T280) → U19_gaa(T250, T273, T280, s2t9_in_ga(T250, T272))
U19_gaa(T250, T273, T280, s2t9_out_ga(T250, T272)) → U20_gaa(T250, T273, T280, tappend50_in_gaa(node(nil, T278, T272), T273, T279))
U20_gaa(T250, T273, T280, tappend50_out_gaa(node(nil, T278, T272), T273, T279)) → U21_gaa(T250, T273, T280, tlast35_in_ag(T280, T279))
U21_gaa(T250, T273, T280, tlast35_out_ag(T280, T279)) → goal1_out_gaa(s(T250), T273, T280)
goal1_in_gaa(s(T289), T13, T14) → U22_gaa(T289, T13, T14, s2t9_in_ga(T289, X582))
U22_gaa(T289, T13, T14, s2t9_out_ga(T289, X582)) → goal1_out_gaa(s(T289), T13, T14)
goal1_in_gaa(s(T289), T311, T312) → U23_gaa(T289, T311, T312, s2t9_in_ga(T289, T310))
U23_gaa(T289, T311, T312, s2t9_out_ga(T289, T310)) → U24_gaa(T289, T311, T312, tappend50_in_gaa(node(T310, X625, nil), T311, X624))
U24_gaa(T289, T311, T312, tappend50_out_gaa(node(T310, X625, nil), T311, X624)) → goal1_out_gaa(s(T289), T311, T312)
goal1_in_gaa(s(T289), T311, T317) → U25_gaa(T289, T311, T317, s2t9_in_ga(T289, T310))
U25_gaa(T289, T311, T317, s2t9_out_ga(T289, T310)) → U26_gaa(T289, T311, T317, tappend50_in_gaa(node(T310, T315, nil), T311, T316))
U26_gaa(T289, T311, T317, tappend50_out_gaa(node(T310, T315, nil), T311, T316)) → U27_gaa(T289, T311, T317, tlast35_in_ag(T317, T316))
U27_gaa(T289, T311, T317, tlast35_out_ag(T317, T316)) → goal1_out_gaa(s(T289), T311, T317)
goal1_in_gaa(s(T326), T339, T340) → U28_gaa(T326, T339, T340, p33_in_gaaaa(nil, X690, T339, X689, T340))
U28_gaa(T326, T339, T340, p33_out_gaaaa(nil, X690, T339, X689, T340)) → goal1_out_gaa(s(T326), T339, T340)
goal1_in_gaa(0, T355, T356) → U29_gaa(T355, T356, tappend50_in_gaa(nil, T355, X714))
U29_gaa(T355, T356, tappend50_out_gaa(nil, T355, X714)) → goal1_out_gaa(0, T355, T356)
goal1_in_gaa(0, T355, T360) → U30_gaa(T355, T360, tappend50_in_gaa(nil, T355, T359))
U30_gaa(T355, T360, tappend50_out_gaa(nil, T355, T359)) → U31_gaa(T355, T360, tlast35_in_ag(T360, T359))
U31_gaa(T355, T360, tlast35_out_ag(T360, T359)) → goal1_out_gaa(0, T355, T360)

The argument filtering Pi contains the following mapping:
goal1_in_gaa(x1, x2, x3)  =  goal1_in_gaa(x1)
s(x1)  =  s(x1)
U13_gaa(x1, x2, x3, x4)  =  U13_gaa(x4)
s2t9_in_ga(x1, x2)  =  s2t9_in_ga(x1)
U1_ga(x1, x2, x3, x4)  =  U1_ga(x4)
U2_ga(x1, x2, x3, x4)  =  U2_ga(x4)
U3_ga(x1, x2, x3, x4)  =  U3_ga(x4)
s2t9_out_ga(x1, x2)  =  s2t9_out_ga(x2)
node(x1, x2, x3)  =  node(x1, x3)
0  =  0
goal1_out_gaa(x1, x2, x3)  =  goal1_out_gaa
U14_gaa(x1, x2, x3, x4)  =  U14_gaa(x4)
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x4)
p33_in_gaaaa(x1, x2, x3, x4, x5)  =  p33_in_gaaaa(x1)
U8_gaaaa(x1, x2, x3, x4, x5, x6)  =  U8_gaaaa(x6)
tappend34_in_gaaa(x1, x2, x3, x4)  =  tappend34_in_gaaa(x1)
nil  =  nil
tappend34_out_gaaa(x1, x2, x3, x4)  =  tappend34_out_gaaa(x4)
U11_gaaa(x1, x2, x3, x4, x5)  =  U11_gaaa(x1, x5)
tappend50_in_gaa(x1, x2, x3)  =  tappend50_in_gaa(x1)
tappend50_out_gaa(x1, x2, x3)  =  tappend50_out_gaa(x3)
U4_gaa(x1, x2, x3, x4, x5, x6)  =  U4_gaa(x3, x6)
U5_gaa(x1, x2, x3, x4, x5, x6)  =  U5_gaa(x1, x6)
U12_gaaa(x1, x2, x3, x4, x5)  =  U12_gaaa(x1, x5)
p33_out_gaaaa(x1, x2, x3, x4, x5)  =  p33_out_gaaaa(x4)
U9_gaaaa(x1, x2, x3, x4, x5, x6)  =  U9_gaaaa(x6)
U10_gaaaa(x1, x2, x3, x4, x5, x6)  =  U10_gaaaa(x4, x6)
tlast35_in_ag(x1, x2)  =  tlast35_in_ag(x2)
tlast35_out_ag(x1, x2)  =  tlast35_out_ag
U6_ag(x1, x2, x3, x4, x5)  =  U6_ag(x5)
U7_ag(x1, x2, x3, x4, x5)  =  U7_ag(x5)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x4)
U17_gaa(x1, x2, x3, x4)  =  U17_gaa(x4)
U18_gaa(x1, x2, x3, x4)  =  U18_gaa(x4)
U19_gaa(x1, x2, x3, x4)  =  U19_gaa(x4)
U20_gaa(x1, x2, x3, x4)  =  U20_gaa(x4)
U21_gaa(x1, x2, x3, x4)  =  U21_gaa(x4)
U22_gaa(x1, x2, x3, x4)  =  U22_gaa(x4)
U23_gaa(x1, x2, x3, x4)  =  U23_gaa(x4)
U24_gaa(x1, x2, x3, x4)  =  U24_gaa(x4)
U25_gaa(x1, x2, x3, x4)  =  U25_gaa(x4)
U26_gaa(x1, x2, x3, x4)  =  U26_gaa(x4)
U27_gaa(x1, x2, x3, x4)  =  U27_gaa(x4)
U28_gaa(x1, x2, x3, x4)  =  U28_gaa(x4)
U29_gaa(x1, x2, x3)  =  U29_gaa(x3)
U30_gaa(x1, x2, x3)  =  U30_gaa(x3)
U31_gaa(x1, x2, x3)  =  U31_gaa(x3)
GOAL1_IN_GAA(x1, x2, x3)  =  GOAL1_IN_GAA(x1)
U13_GAA(x1, x2, x3, x4)  =  U13_GAA(x4)
S2T9_IN_GA(x1, x2)  =  S2T9_IN_GA(x1)
U1_GA(x1, x2, x3, x4)  =  U1_GA(x4)
U2_GA(x1, x2, x3, x4)  =  U2_GA(x4)
U3_GA(x1, x2, x3, x4)  =  U3_GA(x4)
U14_GAA(x1, x2, x3, x4)  =  U14_GAA(x4)
U15_GAA(x1, x2, x3, x4)  =  U15_GAA(x4)
P33_IN_GAAAA(x1, x2, x3, x4, x5)  =  P33_IN_GAAAA(x1)
U8_GAAAA(x1, x2, x3, x4, x5, x6)  =  U8_GAAAA(x6)
TAPPEND34_IN_GAAA(x1, x2, x3, x4)  =  TAPPEND34_IN_GAAA(x1)
U11_GAAA(x1, x2, x3, x4, x5)  =  U11_GAAA(x1, x5)
TAPPEND50_IN_GAA(x1, x2, x3)  =  TAPPEND50_IN_GAA(x1)
U4_GAA(x1, x2, x3, x4, x5, x6)  =  U4_GAA(x3, x6)
U5_GAA(x1, x2, x3, x4, x5, x6)  =  U5_GAA(x1, x6)
U12_GAAA(x1, x2, x3, x4, x5)  =  U12_GAAA(x1, x5)
U9_GAAAA(x1, x2, x3, x4, x5, x6)  =  U9_GAAAA(x6)
U10_GAAAA(x1, x2, x3, x4, x5, x6)  =  U10_GAAAA(x4, x6)
TLAST35_IN_AG(x1, x2)  =  TLAST35_IN_AG(x2)
U6_AG(x1, x2, x3, x4, x5)  =  U6_AG(x5)
U7_AG(x1, x2, x3, x4, x5)  =  U7_AG(x5)
U16_GAA(x1, x2, x3, x4)  =  U16_GAA(x4)
U17_GAA(x1, x2, x3, x4)  =  U17_GAA(x4)
U18_GAA(x1, x2, x3, x4)  =  U18_GAA(x4)
U19_GAA(x1, x2, x3, x4)  =  U19_GAA(x4)
U20_GAA(x1, x2, x3, x4)  =  U20_GAA(x4)
U21_GAA(x1, x2, x3, x4)  =  U21_GAA(x4)
U22_GAA(x1, x2, x3, x4)  =  U22_GAA(x4)
U23_GAA(x1, x2, x3, x4)  =  U23_GAA(x4)
U24_GAA(x1, x2, x3, x4)  =  U24_GAA(x4)
U25_GAA(x1, x2, x3, x4)  =  U25_GAA(x4)
U26_GAA(x1, x2, x3, x4)  =  U26_GAA(x4)
U27_GAA(x1, x2, x3, x4)  =  U27_GAA(x4)
U28_GAA(x1, x2, x3, x4)  =  U28_GAA(x4)
U29_GAA(x1, x2, x3)  =  U29_GAA(x3)
U30_GAA(x1, x2, x3)  =  U30_GAA(x3)
U31_GAA(x1, x2, x3)  =  U31_GAA(x3)

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

(6) Obligation:

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

GOAL1_IN_GAA(s(T19), T13, T14) → U13_GAA(T19, T13, T14, s2t9_in_ga(T19, X31))
GOAL1_IN_GAA(s(T19), T13, T14) → S2T9_IN_GA(T19, X31)
S2T9_IN_GA(s(T27), node(X69, X70, X69)) → U1_GA(T27, X69, X70, s2t9_in_ga(T27, X69))
S2T9_IN_GA(s(T27), node(X69, X70, X69)) → S2T9_IN_GA(T27, X69)
S2T9_IN_GA(s(T33), node(nil, X102, X103)) → U2_GA(T33, X102, X103, s2t9_in_ga(T33, X103))
S2T9_IN_GA(s(T33), node(nil, X102, X103)) → S2T9_IN_GA(T33, X103)
S2T9_IN_GA(s(T39), node(X135, X136, nil)) → U3_GA(T39, X135, X136, s2t9_in_ga(T39, X135))
S2T9_IN_GA(s(T39), node(X135, X136, nil)) → S2T9_IN_GA(T39, X135)
GOAL1_IN_GAA(s(T19), T64, T65) → U14_GAA(T19, T64, T65, s2t9_in_ga(T19, T63))
U14_GAA(T19, T64, T65, s2t9_out_ga(T19, T63)) → U15_GAA(T19, T64, T65, p33_in_gaaaa(T63, X190, T64, X189, T65))
U14_GAA(T19, T64, T65, s2t9_out_ga(T19, T63)) → P33_IN_GAAAA(T63, X190, T64, X189, T65)
P33_IN_GAAAA(T63, X190, T64, X189, T65) → U8_GAAAA(T63, X190, T64, X189, T65, tappend34_in_gaaa(T63, X190, T64, X189))
P33_IN_GAAAA(T63, X190, T64, X189, T65) → TAPPEND34_IN_GAAA(T63, X190, T64, X189)
TAPPEND34_IN_GAAA(T106, X295, T107, node(X296, X295, T106)) → U11_GAAA(T106, X295, T107, X296, tappend50_in_gaa(T106, T107, X296))
TAPPEND34_IN_GAAA(T106, X295, T107, node(X296, X295, T106)) → TAPPEND50_IN_GAA(T106, T107, X296)
TAPPEND50_IN_GAA(node(T165, T162, T163), T166, node(X370, T162, T163)) → U4_GAA(T165, T162, T163, T166, X370, tappend50_in_gaa(T165, T166, X370))
TAPPEND50_IN_GAA(node(T165, T162, T163), T166, node(X370, T162, T163)) → TAPPEND50_IN_GAA(T165, T166, X370)
TAPPEND50_IN_GAA(node(T177, T178, T181), T182, node(T177, T178, X395)) → U5_GAA(T177, T178, T181, T182, X395, tappend50_in_gaa(T181, T182, X395))
TAPPEND50_IN_GAA(node(T177, T178, T181), T182, node(T177, T178, X395)) → TAPPEND50_IN_GAA(T181, T182, X395)
TAPPEND34_IN_GAAA(T195, X424, T196, node(T195, X424, X425)) → U12_GAAA(T195, X424, T196, X425, tappend50_in_gaa(T195, T196, X425))
TAPPEND34_IN_GAAA(T195, X424, T196, node(T195, X424, X425)) → TAPPEND50_IN_GAA(T195, T196, X425)
P33_IN_GAAAA(T63, T68, T64, T69, T70) → U9_GAAAA(T63, T68, T64, T69, T70, tappend34_in_gaaa(T63, T68, T64, T69))
U9_GAAAA(T63, T68, T64, T69, T70, tappend34_out_gaaa(T63, T68, T64, T69)) → U10_GAAAA(T63, T68, T64, T69, T70, tlast35_in_ag(T70, T69))
U9_GAAAA(T63, T68, T64, T69, T70, tappend34_out_gaaa(T63, T68, T64, T69)) → TLAST35_IN_AG(T70, T69)
TLAST35_IN_AG(T226, node(T227, T224, T225)) → U6_AG(T226, T227, T224, T225, tlast35_in_ag(T226, T227))
TLAST35_IN_AG(T226, node(T227, T224, T225)) → TLAST35_IN_AG(T226, T227)
TLAST35_IN_AG(T242, node(T239, T240, T243)) → U7_AG(T242, T239, T240, T243, tlast35_in_ag(T242, T243))
TLAST35_IN_AG(T242, node(T239, T240, T243)) → TLAST35_IN_AG(T242, T243)
GOAL1_IN_GAA(s(T250), T13, T14) → U16_GAA(T250, T13, T14, s2t9_in_ga(T250, X504))
GOAL1_IN_GAA(s(T250), T273, T274) → U17_GAA(T250, T273, T274, s2t9_in_ga(T250, T272))
U17_GAA(T250, T273, T274, s2t9_out_ga(T250, T272)) → U18_GAA(T250, T273, T274, tappend50_in_gaa(node(nil, X543, T272), T273, X542))
U17_GAA(T250, T273, T274, s2t9_out_ga(T250, T272)) → TAPPEND50_IN_GAA(node(nil, X543, T272), T273, X542)
GOAL1_IN_GAA(s(T250), T273, T280) → U19_GAA(T250, T273, T280, s2t9_in_ga(T250, T272))
U19_GAA(T250, T273, T280, s2t9_out_ga(T250, T272)) → U20_GAA(T250, T273, T280, tappend50_in_gaa(node(nil, T278, T272), T273, T279))
U19_GAA(T250, T273, T280, s2t9_out_ga(T250, T272)) → TAPPEND50_IN_GAA(node(nil, T278, T272), T273, T279)
U20_GAA(T250, T273, T280, tappend50_out_gaa(node(nil, T278, T272), T273, T279)) → U21_GAA(T250, T273, T280, tlast35_in_ag(T280, T279))
U20_GAA(T250, T273, T280, tappend50_out_gaa(node(nil, T278, T272), T273, T279)) → TLAST35_IN_AG(T280, T279)
GOAL1_IN_GAA(s(T289), T13, T14) → U22_GAA(T289, T13, T14, s2t9_in_ga(T289, X582))
GOAL1_IN_GAA(s(T289), T311, T312) → U23_GAA(T289, T311, T312, s2t9_in_ga(T289, T310))
U23_GAA(T289, T311, T312, s2t9_out_ga(T289, T310)) → U24_GAA(T289, T311, T312, tappend50_in_gaa(node(T310, X625, nil), T311, X624))
U23_GAA(T289, T311, T312, s2t9_out_ga(T289, T310)) → TAPPEND50_IN_GAA(node(T310, X625, nil), T311, X624)
GOAL1_IN_GAA(s(T289), T311, T317) → U25_GAA(T289, T311, T317, s2t9_in_ga(T289, T310))
U25_GAA(T289, T311, T317, s2t9_out_ga(T289, T310)) → U26_GAA(T289, T311, T317, tappend50_in_gaa(node(T310, T315, nil), T311, T316))
U25_GAA(T289, T311, T317, s2t9_out_ga(T289, T310)) → TAPPEND50_IN_GAA(node(T310, T315, nil), T311, T316)
U26_GAA(T289, T311, T317, tappend50_out_gaa(node(T310, T315, nil), T311, T316)) → U27_GAA(T289, T311, T317, tlast35_in_ag(T317, T316))
U26_GAA(T289, T311, T317, tappend50_out_gaa(node(T310, T315, nil), T311, T316)) → TLAST35_IN_AG(T317, T316)
GOAL1_IN_GAA(s(T326), T339, T340) → U28_GAA(T326, T339, T340, p33_in_gaaaa(nil, X690, T339, X689, T340))
GOAL1_IN_GAA(s(T326), T339, T340) → P33_IN_GAAAA(nil, X690, T339, X689, T340)
GOAL1_IN_GAA(0, T355, T356) → U29_GAA(T355, T356, tappend50_in_gaa(nil, T355, X714))
GOAL1_IN_GAA(0, T355, T356) → TAPPEND50_IN_GAA(nil, T355, X714)
GOAL1_IN_GAA(0, T355, T360) → U30_GAA(T355, T360, tappend50_in_gaa(nil, T355, T359))
U30_GAA(T355, T360, tappend50_out_gaa(nil, T355, T359)) → U31_GAA(T355, T360, tlast35_in_ag(T360, T359))
U30_GAA(T355, T360, tappend50_out_gaa(nil, T355, T359)) → TLAST35_IN_AG(T360, T359)

The TRS R consists of the following rules:

goal1_in_gaa(s(T19), T13, T14) → U13_gaa(T19, T13, T14, s2t9_in_ga(T19, X31))
s2t9_in_ga(s(T27), node(X69, X70, X69)) → U1_ga(T27, X69, X70, s2t9_in_ga(T27, X69))
s2t9_in_ga(s(T33), node(nil, X102, X103)) → U2_ga(T33, X102, X103, s2t9_in_ga(T33, X103))
s2t9_in_ga(s(T39), node(X135, X136, nil)) → U3_ga(T39, X135, X136, s2t9_in_ga(T39, X135))
s2t9_in_ga(s(T45), node(nil, X159, nil)) → s2t9_out_ga(s(T45), node(nil, X159, nil))
s2t9_in_ga(0, nil) → s2t9_out_ga(0, nil)
U3_ga(T39, X135, X136, s2t9_out_ga(T39, X135)) → s2t9_out_ga(s(T39), node(X135, X136, nil))
U2_ga(T33, X102, X103, s2t9_out_ga(T33, X103)) → s2t9_out_ga(s(T33), node(nil, X102, X103))
U1_ga(T27, X69, X70, s2t9_out_ga(T27, X69)) → s2t9_out_ga(s(T27), node(X69, X70, X69))
U13_gaa(T19, T13, T14, s2t9_out_ga(T19, X31)) → goal1_out_gaa(s(T19), T13, T14)
goal1_in_gaa(s(T19), T64, T65) → U14_gaa(T19, T64, T65, s2t9_in_ga(T19, T63))
U14_gaa(T19, T64, T65, s2t9_out_ga(T19, T63)) → U15_gaa(T19, T64, T65, p33_in_gaaaa(T63, X190, T64, X189, T65))
p33_in_gaaaa(T63, X190, T64, X189, T65) → U8_gaaaa(T63, X190, T64, X189, T65, tappend34_in_gaaa(T63, X190, T64, X189))
tappend34_in_gaaa(nil, X231, T77, node(node(nil, T77, nil), X231, nil)) → tappend34_out_gaaa(nil, X231, T77, node(node(nil, T77, nil), X231, nil))
tappend34_in_gaaa(nil, X254, T87, node(nil, X254, node(nil, T87, nil))) → tappend34_out_gaaa(nil, X254, T87, node(nil, X254, node(nil, T87, nil)))
tappend34_in_gaaa(T106, X295, T107, node(X296, X295, T106)) → U11_gaaa(T106, X295, T107, X296, tappend50_in_gaa(T106, T107, X296))
tappend50_in_gaa(nil, T114, node(nil, T114, nil)) → tappend50_out_gaa(nil, T114, node(nil, T114, nil))
tappend50_in_gaa(node(nil, T127, T128), T129, node(node(nil, T129, nil), T127, T128)) → tappend50_out_gaa(node(nil, T127, T128), T129, node(node(nil, T129, nil), T127, T128))
tappend50_in_gaa(node(T142, T143, nil), T144, node(T142, T143, node(nil, T144, nil))) → tappend50_out_gaa(node(T142, T143, nil), T144, node(T142, T143, node(nil, T144, nil)))
tappend50_in_gaa(node(T165, T162, T163), T166, node(X370, T162, T163)) → U4_gaa(T165, T162, T163, T166, X370, tappend50_in_gaa(T165, T166, X370))
tappend50_in_gaa(node(T177, T178, T181), T182, node(T177, T178, X395)) → U5_gaa(T177, T178, T181, T182, X395, tappend50_in_gaa(T181, T182, X395))
U5_gaa(T177, T178, T181, T182, X395, tappend50_out_gaa(T181, T182, X395)) → tappend50_out_gaa(node(T177, T178, T181), T182, node(T177, T178, X395))
U4_gaa(T165, T162, T163, T166, X370, tappend50_out_gaa(T165, T166, X370)) → tappend50_out_gaa(node(T165, T162, T163), T166, node(X370, T162, T163))
U11_gaaa(T106, X295, T107, X296, tappend50_out_gaa(T106, T107, X296)) → tappend34_out_gaaa(T106, X295, T107, node(X296, X295, T106))
tappend34_in_gaaa(T195, X424, T196, node(T195, X424, X425)) → U12_gaaa(T195, X424, T196, X425, tappend50_in_gaa(T195, T196, X425))
U12_gaaa(T195, X424, T196, X425, tappend50_out_gaa(T195, T196, X425)) → tappend34_out_gaaa(T195, X424, T196, node(T195, X424, X425))
U8_gaaaa(T63, X190, T64, X189, T65, tappend34_out_gaaa(T63, X190, T64, X189)) → p33_out_gaaaa(T63, X190, T64, X189, T65)
p33_in_gaaaa(T63, T68, T64, T69, T70) → U9_gaaaa(T63, T68, T64, T69, T70, tappend34_in_gaaa(T63, T68, T64, T69))
U9_gaaaa(T63, T68, T64, T69, T70, tappend34_out_gaaa(T63, T68, T64, T69)) → U10_gaaaa(T63, T68, T64, T69, T70, tlast35_in_ag(T70, T69))
tlast35_in_ag(T205, node(nil, T205, nil)) → tlast35_out_ag(T205, node(nil, T205, nil))
tlast35_in_ag(T226, node(T227, T224, T225)) → U6_ag(T226, T227, T224, T225, tlast35_in_ag(T226, T227))
tlast35_in_ag(T242, node(T239, T240, T243)) → U7_ag(T242, T239, T240, T243, tlast35_in_ag(T242, T243))
U7_ag(T242, T239, T240, T243, tlast35_out_ag(T242, T243)) → tlast35_out_ag(T242, node(T239, T240, T243))
U6_ag(T226, T227, T224, T225, tlast35_out_ag(T226, T227)) → tlast35_out_ag(T226, node(T227, T224, T225))
U10_gaaaa(T63, T68, T64, T69, T70, tlast35_out_ag(T70, T69)) → p33_out_gaaaa(T63, T68, T64, T69, T70)
U15_gaa(T19, T64, T65, p33_out_gaaaa(T63, X190, T64, X189, T65)) → goal1_out_gaa(s(T19), T64, T65)
goal1_in_gaa(s(T250), T13, T14) → U16_gaa(T250, T13, T14, s2t9_in_ga(T250, X504))
U16_gaa(T250, T13, T14, s2t9_out_ga(T250, X504)) → goal1_out_gaa(s(T250), T13, T14)
goal1_in_gaa(s(T250), T273, T274) → U17_gaa(T250, T273, T274, s2t9_in_ga(T250, T272))
U17_gaa(T250, T273, T274, s2t9_out_ga(T250, T272)) → U18_gaa(T250, T273, T274, tappend50_in_gaa(node(nil, X543, T272), T273, X542))
U18_gaa(T250, T273, T274, tappend50_out_gaa(node(nil, X543, T272), T273, X542)) → goal1_out_gaa(s(T250), T273, T274)
goal1_in_gaa(s(T250), T273, T280) → U19_gaa(T250, T273, T280, s2t9_in_ga(T250, T272))
U19_gaa(T250, T273, T280, s2t9_out_ga(T250, T272)) → U20_gaa(T250, T273, T280, tappend50_in_gaa(node(nil, T278, T272), T273, T279))
U20_gaa(T250, T273, T280, tappend50_out_gaa(node(nil, T278, T272), T273, T279)) → U21_gaa(T250, T273, T280, tlast35_in_ag(T280, T279))
U21_gaa(T250, T273, T280, tlast35_out_ag(T280, T279)) → goal1_out_gaa(s(T250), T273, T280)
goal1_in_gaa(s(T289), T13, T14) → U22_gaa(T289, T13, T14, s2t9_in_ga(T289, X582))
U22_gaa(T289, T13, T14, s2t9_out_ga(T289, X582)) → goal1_out_gaa(s(T289), T13, T14)
goal1_in_gaa(s(T289), T311, T312) → U23_gaa(T289, T311, T312, s2t9_in_ga(T289, T310))
U23_gaa(T289, T311, T312, s2t9_out_ga(T289, T310)) → U24_gaa(T289, T311, T312, tappend50_in_gaa(node(T310, X625, nil), T311, X624))
U24_gaa(T289, T311, T312, tappend50_out_gaa(node(T310, X625, nil), T311, X624)) → goal1_out_gaa(s(T289), T311, T312)
goal1_in_gaa(s(T289), T311, T317) → U25_gaa(T289, T311, T317, s2t9_in_ga(T289, T310))
U25_gaa(T289, T311, T317, s2t9_out_ga(T289, T310)) → U26_gaa(T289, T311, T317, tappend50_in_gaa(node(T310, T315, nil), T311, T316))
U26_gaa(T289, T311, T317, tappend50_out_gaa(node(T310, T315, nil), T311, T316)) → U27_gaa(T289, T311, T317, tlast35_in_ag(T317, T316))
U27_gaa(T289, T311, T317, tlast35_out_ag(T317, T316)) → goal1_out_gaa(s(T289), T311, T317)
goal1_in_gaa(s(T326), T339, T340) → U28_gaa(T326, T339, T340, p33_in_gaaaa(nil, X690, T339, X689, T340))
U28_gaa(T326, T339, T340, p33_out_gaaaa(nil, X690, T339, X689, T340)) → goal1_out_gaa(s(T326), T339, T340)
goal1_in_gaa(0, T355, T356) → U29_gaa(T355, T356, tappend50_in_gaa(nil, T355, X714))
U29_gaa(T355, T356, tappend50_out_gaa(nil, T355, X714)) → goal1_out_gaa(0, T355, T356)
goal1_in_gaa(0, T355, T360) → U30_gaa(T355, T360, tappend50_in_gaa(nil, T355, T359))
U30_gaa(T355, T360, tappend50_out_gaa(nil, T355, T359)) → U31_gaa(T355, T360, tlast35_in_ag(T360, T359))
U31_gaa(T355, T360, tlast35_out_ag(T360, T359)) → goal1_out_gaa(0, T355, T360)

The argument filtering Pi contains the following mapping:
goal1_in_gaa(x1, x2, x3)  =  goal1_in_gaa(x1)
s(x1)  =  s(x1)
U13_gaa(x1, x2, x3, x4)  =  U13_gaa(x4)
s2t9_in_ga(x1, x2)  =  s2t9_in_ga(x1)
U1_ga(x1, x2, x3, x4)  =  U1_ga(x4)
U2_ga(x1, x2, x3, x4)  =  U2_ga(x4)
U3_ga(x1, x2, x3, x4)  =  U3_ga(x4)
s2t9_out_ga(x1, x2)  =  s2t9_out_ga(x2)
node(x1, x2, x3)  =  node(x1, x3)
0  =  0
goal1_out_gaa(x1, x2, x3)  =  goal1_out_gaa
U14_gaa(x1, x2, x3, x4)  =  U14_gaa(x4)
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x4)
p33_in_gaaaa(x1, x2, x3, x4, x5)  =  p33_in_gaaaa(x1)
U8_gaaaa(x1, x2, x3, x4, x5, x6)  =  U8_gaaaa(x6)
tappend34_in_gaaa(x1, x2, x3, x4)  =  tappend34_in_gaaa(x1)
nil  =  nil
tappend34_out_gaaa(x1, x2, x3, x4)  =  tappend34_out_gaaa(x4)
U11_gaaa(x1, x2, x3, x4, x5)  =  U11_gaaa(x1, x5)
tappend50_in_gaa(x1, x2, x3)  =  tappend50_in_gaa(x1)
tappend50_out_gaa(x1, x2, x3)  =  tappend50_out_gaa(x3)
U4_gaa(x1, x2, x3, x4, x5, x6)  =  U4_gaa(x3, x6)
U5_gaa(x1, x2, x3, x4, x5, x6)  =  U5_gaa(x1, x6)
U12_gaaa(x1, x2, x3, x4, x5)  =  U12_gaaa(x1, x5)
p33_out_gaaaa(x1, x2, x3, x4, x5)  =  p33_out_gaaaa(x4)
U9_gaaaa(x1, x2, x3, x4, x5, x6)  =  U9_gaaaa(x6)
U10_gaaaa(x1, x2, x3, x4, x5, x6)  =  U10_gaaaa(x4, x6)
tlast35_in_ag(x1, x2)  =  tlast35_in_ag(x2)
tlast35_out_ag(x1, x2)  =  tlast35_out_ag
U6_ag(x1, x2, x3, x4, x5)  =  U6_ag(x5)
U7_ag(x1, x2, x3, x4, x5)  =  U7_ag(x5)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x4)
U17_gaa(x1, x2, x3, x4)  =  U17_gaa(x4)
U18_gaa(x1, x2, x3, x4)  =  U18_gaa(x4)
U19_gaa(x1, x2, x3, x4)  =  U19_gaa(x4)
U20_gaa(x1, x2, x3, x4)  =  U20_gaa(x4)
U21_gaa(x1, x2, x3, x4)  =  U21_gaa(x4)
U22_gaa(x1, x2, x3, x4)  =  U22_gaa(x4)
U23_gaa(x1, x2, x3, x4)  =  U23_gaa(x4)
U24_gaa(x1, x2, x3, x4)  =  U24_gaa(x4)
U25_gaa(x1, x2, x3, x4)  =  U25_gaa(x4)
U26_gaa(x1, x2, x3, x4)  =  U26_gaa(x4)
U27_gaa(x1, x2, x3, x4)  =  U27_gaa(x4)
U28_gaa(x1, x2, x3, x4)  =  U28_gaa(x4)
U29_gaa(x1, x2, x3)  =  U29_gaa(x3)
U30_gaa(x1, x2, x3)  =  U30_gaa(x3)
U31_gaa(x1, x2, x3)  =  U31_gaa(x3)
GOAL1_IN_GAA(x1, x2, x3)  =  GOAL1_IN_GAA(x1)
U13_GAA(x1, x2, x3, x4)  =  U13_GAA(x4)
S2T9_IN_GA(x1, x2)  =  S2T9_IN_GA(x1)
U1_GA(x1, x2, x3, x4)  =  U1_GA(x4)
U2_GA(x1, x2, x3, x4)  =  U2_GA(x4)
U3_GA(x1, x2, x3, x4)  =  U3_GA(x4)
U14_GAA(x1, x2, x3, x4)  =  U14_GAA(x4)
U15_GAA(x1, x2, x3, x4)  =  U15_GAA(x4)
P33_IN_GAAAA(x1, x2, x3, x4, x5)  =  P33_IN_GAAAA(x1)
U8_GAAAA(x1, x2, x3, x4, x5, x6)  =  U8_GAAAA(x6)
TAPPEND34_IN_GAAA(x1, x2, x3, x4)  =  TAPPEND34_IN_GAAA(x1)
U11_GAAA(x1, x2, x3, x4, x5)  =  U11_GAAA(x1, x5)
TAPPEND50_IN_GAA(x1, x2, x3)  =  TAPPEND50_IN_GAA(x1)
U4_GAA(x1, x2, x3, x4, x5, x6)  =  U4_GAA(x3, x6)
U5_GAA(x1, x2, x3, x4, x5, x6)  =  U5_GAA(x1, x6)
U12_GAAA(x1, x2, x3, x4, x5)  =  U12_GAAA(x1, x5)
U9_GAAAA(x1, x2, x3, x4, x5, x6)  =  U9_GAAAA(x6)
U10_GAAAA(x1, x2, x3, x4, x5, x6)  =  U10_GAAAA(x4, x6)
TLAST35_IN_AG(x1, x2)  =  TLAST35_IN_AG(x2)
U6_AG(x1, x2, x3, x4, x5)  =  U6_AG(x5)
U7_AG(x1, x2, x3, x4, x5)  =  U7_AG(x5)
U16_GAA(x1, x2, x3, x4)  =  U16_GAA(x4)
U17_GAA(x1, x2, x3, x4)  =  U17_GAA(x4)
U18_GAA(x1, x2, x3, x4)  =  U18_GAA(x4)
U19_GAA(x1, x2, x3, x4)  =  U19_GAA(x4)
U20_GAA(x1, x2, x3, x4)  =  U20_GAA(x4)
U21_GAA(x1, x2, x3, x4)  =  U21_GAA(x4)
U22_GAA(x1, x2, x3, x4)  =  U22_GAA(x4)
U23_GAA(x1, x2, x3, x4)  =  U23_GAA(x4)
U24_GAA(x1, x2, x3, x4)  =  U24_GAA(x4)
U25_GAA(x1, x2, x3, x4)  =  U25_GAA(x4)
U26_GAA(x1, x2, x3, x4)  =  U26_GAA(x4)
U27_GAA(x1, x2, x3, x4)  =  U27_GAA(x4)
U28_GAA(x1, x2, x3, x4)  =  U28_GAA(x4)
U29_GAA(x1, x2, x3)  =  U29_GAA(x3)
U30_GAA(x1, x2, x3)  =  U30_GAA(x3)
U31_GAA(x1, x2, x3)  =  U31_GAA(x3)

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

(7) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LOPSTR] contains 3 SCCs with 46 less nodes.

(8) Complex Obligation (AND)

(9) Obligation:

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

TLAST35_IN_AG(T242, node(T239, T240, T243)) → TLAST35_IN_AG(T242, T243)
TLAST35_IN_AG(T226, node(T227, T224, T225)) → TLAST35_IN_AG(T226, T227)

The TRS R consists of the following rules:

goal1_in_gaa(s(T19), T13, T14) → U13_gaa(T19, T13, T14, s2t9_in_ga(T19, X31))
s2t9_in_ga(s(T27), node(X69, X70, X69)) → U1_ga(T27, X69, X70, s2t9_in_ga(T27, X69))
s2t9_in_ga(s(T33), node(nil, X102, X103)) → U2_ga(T33, X102, X103, s2t9_in_ga(T33, X103))
s2t9_in_ga(s(T39), node(X135, X136, nil)) → U3_ga(T39, X135, X136, s2t9_in_ga(T39, X135))
s2t9_in_ga(s(T45), node(nil, X159, nil)) → s2t9_out_ga(s(T45), node(nil, X159, nil))
s2t9_in_ga(0, nil) → s2t9_out_ga(0, nil)
U3_ga(T39, X135, X136, s2t9_out_ga(T39, X135)) → s2t9_out_ga(s(T39), node(X135, X136, nil))
U2_ga(T33, X102, X103, s2t9_out_ga(T33, X103)) → s2t9_out_ga(s(T33), node(nil, X102, X103))
U1_ga(T27, X69, X70, s2t9_out_ga(T27, X69)) → s2t9_out_ga(s(T27), node(X69, X70, X69))
U13_gaa(T19, T13, T14, s2t9_out_ga(T19, X31)) → goal1_out_gaa(s(T19), T13, T14)
goal1_in_gaa(s(T19), T64, T65) → U14_gaa(T19, T64, T65, s2t9_in_ga(T19, T63))
U14_gaa(T19, T64, T65, s2t9_out_ga(T19, T63)) → U15_gaa(T19, T64, T65, p33_in_gaaaa(T63, X190, T64, X189, T65))
p33_in_gaaaa(T63, X190, T64, X189, T65) → U8_gaaaa(T63, X190, T64, X189, T65, tappend34_in_gaaa(T63, X190, T64, X189))
tappend34_in_gaaa(nil, X231, T77, node(node(nil, T77, nil), X231, nil)) → tappend34_out_gaaa(nil, X231, T77, node(node(nil, T77, nil), X231, nil))
tappend34_in_gaaa(nil, X254, T87, node(nil, X254, node(nil, T87, nil))) → tappend34_out_gaaa(nil, X254, T87, node(nil, X254, node(nil, T87, nil)))
tappend34_in_gaaa(T106, X295, T107, node(X296, X295, T106)) → U11_gaaa(T106, X295, T107, X296, tappend50_in_gaa(T106, T107, X296))
tappend50_in_gaa(nil, T114, node(nil, T114, nil)) → tappend50_out_gaa(nil, T114, node(nil, T114, nil))
tappend50_in_gaa(node(nil, T127, T128), T129, node(node(nil, T129, nil), T127, T128)) → tappend50_out_gaa(node(nil, T127, T128), T129, node(node(nil, T129, nil), T127, T128))
tappend50_in_gaa(node(T142, T143, nil), T144, node(T142, T143, node(nil, T144, nil))) → tappend50_out_gaa(node(T142, T143, nil), T144, node(T142, T143, node(nil, T144, nil)))
tappend50_in_gaa(node(T165, T162, T163), T166, node(X370, T162, T163)) → U4_gaa(T165, T162, T163, T166, X370, tappend50_in_gaa(T165, T166, X370))
tappend50_in_gaa(node(T177, T178, T181), T182, node(T177, T178, X395)) → U5_gaa(T177, T178, T181, T182, X395, tappend50_in_gaa(T181, T182, X395))
U5_gaa(T177, T178, T181, T182, X395, tappend50_out_gaa(T181, T182, X395)) → tappend50_out_gaa(node(T177, T178, T181), T182, node(T177, T178, X395))
U4_gaa(T165, T162, T163, T166, X370, tappend50_out_gaa(T165, T166, X370)) → tappend50_out_gaa(node(T165, T162, T163), T166, node(X370, T162, T163))
U11_gaaa(T106, X295, T107, X296, tappend50_out_gaa(T106, T107, X296)) → tappend34_out_gaaa(T106, X295, T107, node(X296, X295, T106))
tappend34_in_gaaa(T195, X424, T196, node(T195, X424, X425)) → U12_gaaa(T195, X424, T196, X425, tappend50_in_gaa(T195, T196, X425))
U12_gaaa(T195, X424, T196, X425, tappend50_out_gaa(T195, T196, X425)) → tappend34_out_gaaa(T195, X424, T196, node(T195, X424, X425))
U8_gaaaa(T63, X190, T64, X189, T65, tappend34_out_gaaa(T63, X190, T64, X189)) → p33_out_gaaaa(T63, X190, T64, X189, T65)
p33_in_gaaaa(T63, T68, T64, T69, T70) → U9_gaaaa(T63, T68, T64, T69, T70, tappend34_in_gaaa(T63, T68, T64, T69))
U9_gaaaa(T63, T68, T64, T69, T70, tappend34_out_gaaa(T63, T68, T64, T69)) → U10_gaaaa(T63, T68, T64, T69, T70, tlast35_in_ag(T70, T69))
tlast35_in_ag(T205, node(nil, T205, nil)) → tlast35_out_ag(T205, node(nil, T205, nil))
tlast35_in_ag(T226, node(T227, T224, T225)) → U6_ag(T226, T227, T224, T225, tlast35_in_ag(T226, T227))
tlast35_in_ag(T242, node(T239, T240, T243)) → U7_ag(T242, T239, T240, T243, tlast35_in_ag(T242, T243))
U7_ag(T242, T239, T240, T243, tlast35_out_ag(T242, T243)) → tlast35_out_ag(T242, node(T239, T240, T243))
U6_ag(T226, T227, T224, T225, tlast35_out_ag(T226, T227)) → tlast35_out_ag(T226, node(T227, T224, T225))
U10_gaaaa(T63, T68, T64, T69, T70, tlast35_out_ag(T70, T69)) → p33_out_gaaaa(T63, T68, T64, T69, T70)
U15_gaa(T19, T64, T65, p33_out_gaaaa(T63, X190, T64, X189, T65)) → goal1_out_gaa(s(T19), T64, T65)
goal1_in_gaa(s(T250), T13, T14) → U16_gaa(T250, T13, T14, s2t9_in_ga(T250, X504))
U16_gaa(T250, T13, T14, s2t9_out_ga(T250, X504)) → goal1_out_gaa(s(T250), T13, T14)
goal1_in_gaa(s(T250), T273, T274) → U17_gaa(T250, T273, T274, s2t9_in_ga(T250, T272))
U17_gaa(T250, T273, T274, s2t9_out_ga(T250, T272)) → U18_gaa(T250, T273, T274, tappend50_in_gaa(node(nil, X543, T272), T273, X542))
U18_gaa(T250, T273, T274, tappend50_out_gaa(node(nil, X543, T272), T273, X542)) → goal1_out_gaa(s(T250), T273, T274)
goal1_in_gaa(s(T250), T273, T280) → U19_gaa(T250, T273, T280, s2t9_in_ga(T250, T272))
U19_gaa(T250, T273, T280, s2t9_out_ga(T250, T272)) → U20_gaa(T250, T273, T280, tappend50_in_gaa(node(nil, T278, T272), T273, T279))
U20_gaa(T250, T273, T280, tappend50_out_gaa(node(nil, T278, T272), T273, T279)) → U21_gaa(T250, T273, T280, tlast35_in_ag(T280, T279))
U21_gaa(T250, T273, T280, tlast35_out_ag(T280, T279)) → goal1_out_gaa(s(T250), T273, T280)
goal1_in_gaa(s(T289), T13, T14) → U22_gaa(T289, T13, T14, s2t9_in_ga(T289, X582))
U22_gaa(T289, T13, T14, s2t9_out_ga(T289, X582)) → goal1_out_gaa(s(T289), T13, T14)
goal1_in_gaa(s(T289), T311, T312) → U23_gaa(T289, T311, T312, s2t9_in_ga(T289, T310))
U23_gaa(T289, T311, T312, s2t9_out_ga(T289, T310)) → U24_gaa(T289, T311, T312, tappend50_in_gaa(node(T310, X625, nil), T311, X624))
U24_gaa(T289, T311, T312, tappend50_out_gaa(node(T310, X625, nil), T311, X624)) → goal1_out_gaa(s(T289), T311, T312)
goal1_in_gaa(s(T289), T311, T317) → U25_gaa(T289, T311, T317, s2t9_in_ga(T289, T310))
U25_gaa(T289, T311, T317, s2t9_out_ga(T289, T310)) → U26_gaa(T289, T311, T317, tappend50_in_gaa(node(T310, T315, nil), T311, T316))
U26_gaa(T289, T311, T317, tappend50_out_gaa(node(T310, T315, nil), T311, T316)) → U27_gaa(T289, T311, T317, tlast35_in_ag(T317, T316))
U27_gaa(T289, T311, T317, tlast35_out_ag(T317, T316)) → goal1_out_gaa(s(T289), T311, T317)
goal1_in_gaa(s(T326), T339, T340) → U28_gaa(T326, T339, T340, p33_in_gaaaa(nil, X690, T339, X689, T340))
U28_gaa(T326, T339, T340, p33_out_gaaaa(nil, X690, T339, X689, T340)) → goal1_out_gaa(s(T326), T339, T340)
goal1_in_gaa(0, T355, T356) → U29_gaa(T355, T356, tappend50_in_gaa(nil, T355, X714))
U29_gaa(T355, T356, tappend50_out_gaa(nil, T355, X714)) → goal1_out_gaa(0, T355, T356)
goal1_in_gaa(0, T355, T360) → U30_gaa(T355, T360, tappend50_in_gaa(nil, T355, T359))
U30_gaa(T355, T360, tappend50_out_gaa(nil, T355, T359)) → U31_gaa(T355, T360, tlast35_in_ag(T360, T359))
U31_gaa(T355, T360, tlast35_out_ag(T360, T359)) → goal1_out_gaa(0, T355, T360)

The argument filtering Pi contains the following mapping:
goal1_in_gaa(x1, x2, x3)  =  goal1_in_gaa(x1)
s(x1)  =  s(x1)
U13_gaa(x1, x2, x3, x4)  =  U13_gaa(x4)
s2t9_in_ga(x1, x2)  =  s2t9_in_ga(x1)
U1_ga(x1, x2, x3, x4)  =  U1_ga(x4)
U2_ga(x1, x2, x3, x4)  =  U2_ga(x4)
U3_ga(x1, x2, x3, x4)  =  U3_ga(x4)
s2t9_out_ga(x1, x2)  =  s2t9_out_ga(x2)
node(x1, x2, x3)  =  node(x1, x3)
0  =  0
goal1_out_gaa(x1, x2, x3)  =  goal1_out_gaa
U14_gaa(x1, x2, x3, x4)  =  U14_gaa(x4)
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x4)
p33_in_gaaaa(x1, x2, x3, x4, x5)  =  p33_in_gaaaa(x1)
U8_gaaaa(x1, x2, x3, x4, x5, x6)  =  U8_gaaaa(x6)
tappend34_in_gaaa(x1, x2, x3, x4)  =  tappend34_in_gaaa(x1)
nil  =  nil
tappend34_out_gaaa(x1, x2, x3, x4)  =  tappend34_out_gaaa(x4)
U11_gaaa(x1, x2, x3, x4, x5)  =  U11_gaaa(x1, x5)
tappend50_in_gaa(x1, x2, x3)  =  tappend50_in_gaa(x1)
tappend50_out_gaa(x1, x2, x3)  =  tappend50_out_gaa(x3)
U4_gaa(x1, x2, x3, x4, x5, x6)  =  U4_gaa(x3, x6)
U5_gaa(x1, x2, x3, x4, x5, x6)  =  U5_gaa(x1, x6)
U12_gaaa(x1, x2, x3, x4, x5)  =  U12_gaaa(x1, x5)
p33_out_gaaaa(x1, x2, x3, x4, x5)  =  p33_out_gaaaa(x4)
U9_gaaaa(x1, x2, x3, x4, x5, x6)  =  U9_gaaaa(x6)
U10_gaaaa(x1, x2, x3, x4, x5, x6)  =  U10_gaaaa(x4, x6)
tlast35_in_ag(x1, x2)  =  tlast35_in_ag(x2)
tlast35_out_ag(x1, x2)  =  tlast35_out_ag
U6_ag(x1, x2, x3, x4, x5)  =  U6_ag(x5)
U7_ag(x1, x2, x3, x4, x5)  =  U7_ag(x5)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x4)
U17_gaa(x1, x2, x3, x4)  =  U17_gaa(x4)
U18_gaa(x1, x2, x3, x4)  =  U18_gaa(x4)
U19_gaa(x1, x2, x3, x4)  =  U19_gaa(x4)
U20_gaa(x1, x2, x3, x4)  =  U20_gaa(x4)
U21_gaa(x1, x2, x3, x4)  =  U21_gaa(x4)
U22_gaa(x1, x2, x3, x4)  =  U22_gaa(x4)
U23_gaa(x1, x2, x3, x4)  =  U23_gaa(x4)
U24_gaa(x1, x2, x3, x4)  =  U24_gaa(x4)
U25_gaa(x1, x2, x3, x4)  =  U25_gaa(x4)
U26_gaa(x1, x2, x3, x4)  =  U26_gaa(x4)
U27_gaa(x1, x2, x3, x4)  =  U27_gaa(x4)
U28_gaa(x1, x2, x3, x4)  =  U28_gaa(x4)
U29_gaa(x1, x2, x3)  =  U29_gaa(x3)
U30_gaa(x1, x2, x3)  =  U30_gaa(x3)
U31_gaa(x1, x2, x3)  =  U31_gaa(x3)
TLAST35_IN_AG(x1, x2)  =  TLAST35_IN_AG(x2)

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:

TLAST35_IN_AG(T242, node(T239, T240, T243)) → TLAST35_IN_AG(T242, T243)
TLAST35_IN_AG(T226, node(T227, T224, T225)) → TLAST35_IN_AG(T226, T227)

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

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:

TLAST35_IN_AG(node(T239, T243)) → TLAST35_IN_AG(T243)
TLAST35_IN_AG(node(T227, T225)) → TLAST35_IN_AG(T227)

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:

  • TLAST35_IN_AG(node(T239, T243)) → TLAST35_IN_AG(T243)
    The graph contains the following edges 1 > 1

  • TLAST35_IN_AG(node(T227, T225)) → TLAST35_IN_AG(T227)
    The graph contains the following edges 1 > 1

(15) YES

(16) Obligation:

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

TAPPEND50_IN_GAA(node(T177, T178, T181), T182, node(T177, T178, X395)) → TAPPEND50_IN_GAA(T181, T182, X395)
TAPPEND50_IN_GAA(node(T165, T162, T163), T166, node(X370, T162, T163)) → TAPPEND50_IN_GAA(T165, T166, X370)

The TRS R consists of the following rules:

goal1_in_gaa(s(T19), T13, T14) → U13_gaa(T19, T13, T14, s2t9_in_ga(T19, X31))
s2t9_in_ga(s(T27), node(X69, X70, X69)) → U1_ga(T27, X69, X70, s2t9_in_ga(T27, X69))
s2t9_in_ga(s(T33), node(nil, X102, X103)) → U2_ga(T33, X102, X103, s2t9_in_ga(T33, X103))
s2t9_in_ga(s(T39), node(X135, X136, nil)) → U3_ga(T39, X135, X136, s2t9_in_ga(T39, X135))
s2t9_in_ga(s(T45), node(nil, X159, nil)) → s2t9_out_ga(s(T45), node(nil, X159, nil))
s2t9_in_ga(0, nil) → s2t9_out_ga(0, nil)
U3_ga(T39, X135, X136, s2t9_out_ga(T39, X135)) → s2t9_out_ga(s(T39), node(X135, X136, nil))
U2_ga(T33, X102, X103, s2t9_out_ga(T33, X103)) → s2t9_out_ga(s(T33), node(nil, X102, X103))
U1_ga(T27, X69, X70, s2t9_out_ga(T27, X69)) → s2t9_out_ga(s(T27), node(X69, X70, X69))
U13_gaa(T19, T13, T14, s2t9_out_ga(T19, X31)) → goal1_out_gaa(s(T19), T13, T14)
goal1_in_gaa(s(T19), T64, T65) → U14_gaa(T19, T64, T65, s2t9_in_ga(T19, T63))
U14_gaa(T19, T64, T65, s2t9_out_ga(T19, T63)) → U15_gaa(T19, T64, T65, p33_in_gaaaa(T63, X190, T64, X189, T65))
p33_in_gaaaa(T63, X190, T64, X189, T65) → U8_gaaaa(T63, X190, T64, X189, T65, tappend34_in_gaaa(T63, X190, T64, X189))
tappend34_in_gaaa(nil, X231, T77, node(node(nil, T77, nil), X231, nil)) → tappend34_out_gaaa(nil, X231, T77, node(node(nil, T77, nil), X231, nil))
tappend34_in_gaaa(nil, X254, T87, node(nil, X254, node(nil, T87, nil))) → tappend34_out_gaaa(nil, X254, T87, node(nil, X254, node(nil, T87, nil)))
tappend34_in_gaaa(T106, X295, T107, node(X296, X295, T106)) → U11_gaaa(T106, X295, T107, X296, tappend50_in_gaa(T106, T107, X296))
tappend50_in_gaa(nil, T114, node(nil, T114, nil)) → tappend50_out_gaa(nil, T114, node(nil, T114, nil))
tappend50_in_gaa(node(nil, T127, T128), T129, node(node(nil, T129, nil), T127, T128)) → tappend50_out_gaa(node(nil, T127, T128), T129, node(node(nil, T129, nil), T127, T128))
tappend50_in_gaa(node(T142, T143, nil), T144, node(T142, T143, node(nil, T144, nil))) → tappend50_out_gaa(node(T142, T143, nil), T144, node(T142, T143, node(nil, T144, nil)))
tappend50_in_gaa(node(T165, T162, T163), T166, node(X370, T162, T163)) → U4_gaa(T165, T162, T163, T166, X370, tappend50_in_gaa(T165, T166, X370))
tappend50_in_gaa(node(T177, T178, T181), T182, node(T177, T178, X395)) → U5_gaa(T177, T178, T181, T182, X395, tappend50_in_gaa(T181, T182, X395))
U5_gaa(T177, T178, T181, T182, X395, tappend50_out_gaa(T181, T182, X395)) → tappend50_out_gaa(node(T177, T178, T181), T182, node(T177, T178, X395))
U4_gaa(T165, T162, T163, T166, X370, tappend50_out_gaa(T165, T166, X370)) → tappend50_out_gaa(node(T165, T162, T163), T166, node(X370, T162, T163))
U11_gaaa(T106, X295, T107, X296, tappend50_out_gaa(T106, T107, X296)) → tappend34_out_gaaa(T106, X295, T107, node(X296, X295, T106))
tappend34_in_gaaa(T195, X424, T196, node(T195, X424, X425)) → U12_gaaa(T195, X424, T196, X425, tappend50_in_gaa(T195, T196, X425))
U12_gaaa(T195, X424, T196, X425, tappend50_out_gaa(T195, T196, X425)) → tappend34_out_gaaa(T195, X424, T196, node(T195, X424, X425))
U8_gaaaa(T63, X190, T64, X189, T65, tappend34_out_gaaa(T63, X190, T64, X189)) → p33_out_gaaaa(T63, X190, T64, X189, T65)
p33_in_gaaaa(T63, T68, T64, T69, T70) → U9_gaaaa(T63, T68, T64, T69, T70, tappend34_in_gaaa(T63, T68, T64, T69))
U9_gaaaa(T63, T68, T64, T69, T70, tappend34_out_gaaa(T63, T68, T64, T69)) → U10_gaaaa(T63, T68, T64, T69, T70, tlast35_in_ag(T70, T69))
tlast35_in_ag(T205, node(nil, T205, nil)) → tlast35_out_ag(T205, node(nil, T205, nil))
tlast35_in_ag(T226, node(T227, T224, T225)) → U6_ag(T226, T227, T224, T225, tlast35_in_ag(T226, T227))
tlast35_in_ag(T242, node(T239, T240, T243)) → U7_ag(T242, T239, T240, T243, tlast35_in_ag(T242, T243))
U7_ag(T242, T239, T240, T243, tlast35_out_ag(T242, T243)) → tlast35_out_ag(T242, node(T239, T240, T243))
U6_ag(T226, T227, T224, T225, tlast35_out_ag(T226, T227)) → tlast35_out_ag(T226, node(T227, T224, T225))
U10_gaaaa(T63, T68, T64, T69, T70, tlast35_out_ag(T70, T69)) → p33_out_gaaaa(T63, T68, T64, T69, T70)
U15_gaa(T19, T64, T65, p33_out_gaaaa(T63, X190, T64, X189, T65)) → goal1_out_gaa(s(T19), T64, T65)
goal1_in_gaa(s(T250), T13, T14) → U16_gaa(T250, T13, T14, s2t9_in_ga(T250, X504))
U16_gaa(T250, T13, T14, s2t9_out_ga(T250, X504)) → goal1_out_gaa(s(T250), T13, T14)
goal1_in_gaa(s(T250), T273, T274) → U17_gaa(T250, T273, T274, s2t9_in_ga(T250, T272))
U17_gaa(T250, T273, T274, s2t9_out_ga(T250, T272)) → U18_gaa(T250, T273, T274, tappend50_in_gaa(node(nil, X543, T272), T273, X542))
U18_gaa(T250, T273, T274, tappend50_out_gaa(node(nil, X543, T272), T273, X542)) → goal1_out_gaa(s(T250), T273, T274)
goal1_in_gaa(s(T250), T273, T280) → U19_gaa(T250, T273, T280, s2t9_in_ga(T250, T272))
U19_gaa(T250, T273, T280, s2t9_out_ga(T250, T272)) → U20_gaa(T250, T273, T280, tappend50_in_gaa(node(nil, T278, T272), T273, T279))
U20_gaa(T250, T273, T280, tappend50_out_gaa(node(nil, T278, T272), T273, T279)) → U21_gaa(T250, T273, T280, tlast35_in_ag(T280, T279))
U21_gaa(T250, T273, T280, tlast35_out_ag(T280, T279)) → goal1_out_gaa(s(T250), T273, T280)
goal1_in_gaa(s(T289), T13, T14) → U22_gaa(T289, T13, T14, s2t9_in_ga(T289, X582))
U22_gaa(T289, T13, T14, s2t9_out_ga(T289, X582)) → goal1_out_gaa(s(T289), T13, T14)
goal1_in_gaa(s(T289), T311, T312) → U23_gaa(T289, T311, T312, s2t9_in_ga(T289, T310))
U23_gaa(T289, T311, T312, s2t9_out_ga(T289, T310)) → U24_gaa(T289, T311, T312, tappend50_in_gaa(node(T310, X625, nil), T311, X624))
U24_gaa(T289, T311, T312, tappend50_out_gaa(node(T310, X625, nil), T311, X624)) → goal1_out_gaa(s(T289), T311, T312)
goal1_in_gaa(s(T289), T311, T317) → U25_gaa(T289, T311, T317, s2t9_in_ga(T289, T310))
U25_gaa(T289, T311, T317, s2t9_out_ga(T289, T310)) → U26_gaa(T289, T311, T317, tappend50_in_gaa(node(T310, T315, nil), T311, T316))
U26_gaa(T289, T311, T317, tappend50_out_gaa(node(T310, T315, nil), T311, T316)) → U27_gaa(T289, T311, T317, tlast35_in_ag(T317, T316))
U27_gaa(T289, T311, T317, tlast35_out_ag(T317, T316)) → goal1_out_gaa(s(T289), T311, T317)
goal1_in_gaa(s(T326), T339, T340) → U28_gaa(T326, T339, T340, p33_in_gaaaa(nil, X690, T339, X689, T340))
U28_gaa(T326, T339, T340, p33_out_gaaaa(nil, X690, T339, X689, T340)) → goal1_out_gaa(s(T326), T339, T340)
goal1_in_gaa(0, T355, T356) → U29_gaa(T355, T356, tappend50_in_gaa(nil, T355, X714))
U29_gaa(T355, T356, tappend50_out_gaa(nil, T355, X714)) → goal1_out_gaa(0, T355, T356)
goal1_in_gaa(0, T355, T360) → U30_gaa(T355, T360, tappend50_in_gaa(nil, T355, T359))
U30_gaa(T355, T360, tappend50_out_gaa(nil, T355, T359)) → U31_gaa(T355, T360, tlast35_in_ag(T360, T359))
U31_gaa(T355, T360, tlast35_out_ag(T360, T359)) → goal1_out_gaa(0, T355, T360)

The argument filtering Pi contains the following mapping:
goal1_in_gaa(x1, x2, x3)  =  goal1_in_gaa(x1)
s(x1)  =  s(x1)
U13_gaa(x1, x2, x3, x4)  =  U13_gaa(x4)
s2t9_in_ga(x1, x2)  =  s2t9_in_ga(x1)
U1_ga(x1, x2, x3, x4)  =  U1_ga(x4)
U2_ga(x1, x2, x3, x4)  =  U2_ga(x4)
U3_ga(x1, x2, x3, x4)  =  U3_ga(x4)
s2t9_out_ga(x1, x2)  =  s2t9_out_ga(x2)
node(x1, x2, x3)  =  node(x1, x3)
0  =  0
goal1_out_gaa(x1, x2, x3)  =  goal1_out_gaa
U14_gaa(x1, x2, x3, x4)  =  U14_gaa(x4)
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x4)
p33_in_gaaaa(x1, x2, x3, x4, x5)  =  p33_in_gaaaa(x1)
U8_gaaaa(x1, x2, x3, x4, x5, x6)  =  U8_gaaaa(x6)
tappend34_in_gaaa(x1, x2, x3, x4)  =  tappend34_in_gaaa(x1)
nil  =  nil
tappend34_out_gaaa(x1, x2, x3, x4)  =  tappend34_out_gaaa(x4)
U11_gaaa(x1, x2, x3, x4, x5)  =  U11_gaaa(x1, x5)
tappend50_in_gaa(x1, x2, x3)  =  tappend50_in_gaa(x1)
tappend50_out_gaa(x1, x2, x3)  =  tappend50_out_gaa(x3)
U4_gaa(x1, x2, x3, x4, x5, x6)  =  U4_gaa(x3, x6)
U5_gaa(x1, x2, x3, x4, x5, x6)  =  U5_gaa(x1, x6)
U12_gaaa(x1, x2, x3, x4, x5)  =  U12_gaaa(x1, x5)
p33_out_gaaaa(x1, x2, x3, x4, x5)  =  p33_out_gaaaa(x4)
U9_gaaaa(x1, x2, x3, x4, x5, x6)  =  U9_gaaaa(x6)
U10_gaaaa(x1, x2, x3, x4, x5, x6)  =  U10_gaaaa(x4, x6)
tlast35_in_ag(x1, x2)  =  tlast35_in_ag(x2)
tlast35_out_ag(x1, x2)  =  tlast35_out_ag
U6_ag(x1, x2, x3, x4, x5)  =  U6_ag(x5)
U7_ag(x1, x2, x3, x4, x5)  =  U7_ag(x5)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x4)
U17_gaa(x1, x2, x3, x4)  =  U17_gaa(x4)
U18_gaa(x1, x2, x3, x4)  =  U18_gaa(x4)
U19_gaa(x1, x2, x3, x4)  =  U19_gaa(x4)
U20_gaa(x1, x2, x3, x4)  =  U20_gaa(x4)
U21_gaa(x1, x2, x3, x4)  =  U21_gaa(x4)
U22_gaa(x1, x2, x3, x4)  =  U22_gaa(x4)
U23_gaa(x1, x2, x3, x4)  =  U23_gaa(x4)
U24_gaa(x1, x2, x3, x4)  =  U24_gaa(x4)
U25_gaa(x1, x2, x3, x4)  =  U25_gaa(x4)
U26_gaa(x1, x2, x3, x4)  =  U26_gaa(x4)
U27_gaa(x1, x2, x3, x4)  =  U27_gaa(x4)
U28_gaa(x1, x2, x3, x4)  =  U28_gaa(x4)
U29_gaa(x1, x2, x3)  =  U29_gaa(x3)
U30_gaa(x1, x2, x3)  =  U30_gaa(x3)
U31_gaa(x1, x2, x3)  =  U31_gaa(x3)
TAPPEND50_IN_GAA(x1, x2, x3)  =  TAPPEND50_IN_GAA(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:

TAPPEND50_IN_GAA(node(T177, T178, T181), T182, node(T177, T178, X395)) → TAPPEND50_IN_GAA(T181, T182, X395)
TAPPEND50_IN_GAA(node(T165, T162, T163), T166, node(X370, T162, T163)) → TAPPEND50_IN_GAA(T165, T166, X370)

R is empty.
The argument filtering Pi contains the following mapping:
node(x1, x2, x3)  =  node(x1, x3)
TAPPEND50_IN_GAA(x1, x2, x3)  =  TAPPEND50_IN_GAA(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:

TAPPEND50_IN_GAA(node(T177, T181)) → TAPPEND50_IN_GAA(T181)
TAPPEND50_IN_GAA(node(T165, T163)) → TAPPEND50_IN_GAA(T165)

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:

  • TAPPEND50_IN_GAA(node(T177, T181)) → TAPPEND50_IN_GAA(T181)
    The graph contains the following edges 1 > 1

  • TAPPEND50_IN_GAA(node(T165, T163)) → TAPPEND50_IN_GAA(T165)
    The graph contains the following edges 1 > 1

(22) YES

(23) Obligation:

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

S2T9_IN_GA(s(T33), node(nil, X102, X103)) → S2T9_IN_GA(T33, X103)
S2T9_IN_GA(s(T27), node(X69, X70, X69)) → S2T9_IN_GA(T27, X69)
S2T9_IN_GA(s(T39), node(X135, X136, nil)) → S2T9_IN_GA(T39, X135)

The TRS R consists of the following rules:

goal1_in_gaa(s(T19), T13, T14) → U13_gaa(T19, T13, T14, s2t9_in_ga(T19, X31))
s2t9_in_ga(s(T27), node(X69, X70, X69)) → U1_ga(T27, X69, X70, s2t9_in_ga(T27, X69))
s2t9_in_ga(s(T33), node(nil, X102, X103)) → U2_ga(T33, X102, X103, s2t9_in_ga(T33, X103))
s2t9_in_ga(s(T39), node(X135, X136, nil)) → U3_ga(T39, X135, X136, s2t9_in_ga(T39, X135))
s2t9_in_ga(s(T45), node(nil, X159, nil)) → s2t9_out_ga(s(T45), node(nil, X159, nil))
s2t9_in_ga(0, nil) → s2t9_out_ga(0, nil)
U3_ga(T39, X135, X136, s2t9_out_ga(T39, X135)) → s2t9_out_ga(s(T39), node(X135, X136, nil))
U2_ga(T33, X102, X103, s2t9_out_ga(T33, X103)) → s2t9_out_ga(s(T33), node(nil, X102, X103))
U1_ga(T27, X69, X70, s2t9_out_ga(T27, X69)) → s2t9_out_ga(s(T27), node(X69, X70, X69))
U13_gaa(T19, T13, T14, s2t9_out_ga(T19, X31)) → goal1_out_gaa(s(T19), T13, T14)
goal1_in_gaa(s(T19), T64, T65) → U14_gaa(T19, T64, T65, s2t9_in_ga(T19, T63))
U14_gaa(T19, T64, T65, s2t9_out_ga(T19, T63)) → U15_gaa(T19, T64, T65, p33_in_gaaaa(T63, X190, T64, X189, T65))
p33_in_gaaaa(T63, X190, T64, X189, T65) → U8_gaaaa(T63, X190, T64, X189, T65, tappend34_in_gaaa(T63, X190, T64, X189))
tappend34_in_gaaa(nil, X231, T77, node(node(nil, T77, nil), X231, nil)) → tappend34_out_gaaa(nil, X231, T77, node(node(nil, T77, nil), X231, nil))
tappend34_in_gaaa(nil, X254, T87, node(nil, X254, node(nil, T87, nil))) → tappend34_out_gaaa(nil, X254, T87, node(nil, X254, node(nil, T87, nil)))
tappend34_in_gaaa(T106, X295, T107, node(X296, X295, T106)) → U11_gaaa(T106, X295, T107, X296, tappend50_in_gaa(T106, T107, X296))
tappend50_in_gaa(nil, T114, node(nil, T114, nil)) → tappend50_out_gaa(nil, T114, node(nil, T114, nil))
tappend50_in_gaa(node(nil, T127, T128), T129, node(node(nil, T129, nil), T127, T128)) → tappend50_out_gaa(node(nil, T127, T128), T129, node(node(nil, T129, nil), T127, T128))
tappend50_in_gaa(node(T142, T143, nil), T144, node(T142, T143, node(nil, T144, nil))) → tappend50_out_gaa(node(T142, T143, nil), T144, node(T142, T143, node(nil, T144, nil)))
tappend50_in_gaa(node(T165, T162, T163), T166, node(X370, T162, T163)) → U4_gaa(T165, T162, T163, T166, X370, tappend50_in_gaa(T165, T166, X370))
tappend50_in_gaa(node(T177, T178, T181), T182, node(T177, T178, X395)) → U5_gaa(T177, T178, T181, T182, X395, tappend50_in_gaa(T181, T182, X395))
U5_gaa(T177, T178, T181, T182, X395, tappend50_out_gaa(T181, T182, X395)) → tappend50_out_gaa(node(T177, T178, T181), T182, node(T177, T178, X395))
U4_gaa(T165, T162, T163, T166, X370, tappend50_out_gaa(T165, T166, X370)) → tappend50_out_gaa(node(T165, T162, T163), T166, node(X370, T162, T163))
U11_gaaa(T106, X295, T107, X296, tappend50_out_gaa(T106, T107, X296)) → tappend34_out_gaaa(T106, X295, T107, node(X296, X295, T106))
tappend34_in_gaaa(T195, X424, T196, node(T195, X424, X425)) → U12_gaaa(T195, X424, T196, X425, tappend50_in_gaa(T195, T196, X425))
U12_gaaa(T195, X424, T196, X425, tappend50_out_gaa(T195, T196, X425)) → tappend34_out_gaaa(T195, X424, T196, node(T195, X424, X425))
U8_gaaaa(T63, X190, T64, X189, T65, tappend34_out_gaaa(T63, X190, T64, X189)) → p33_out_gaaaa(T63, X190, T64, X189, T65)
p33_in_gaaaa(T63, T68, T64, T69, T70) → U9_gaaaa(T63, T68, T64, T69, T70, tappend34_in_gaaa(T63, T68, T64, T69))
U9_gaaaa(T63, T68, T64, T69, T70, tappend34_out_gaaa(T63, T68, T64, T69)) → U10_gaaaa(T63, T68, T64, T69, T70, tlast35_in_ag(T70, T69))
tlast35_in_ag(T205, node(nil, T205, nil)) → tlast35_out_ag(T205, node(nil, T205, nil))
tlast35_in_ag(T226, node(T227, T224, T225)) → U6_ag(T226, T227, T224, T225, tlast35_in_ag(T226, T227))
tlast35_in_ag(T242, node(T239, T240, T243)) → U7_ag(T242, T239, T240, T243, tlast35_in_ag(T242, T243))
U7_ag(T242, T239, T240, T243, tlast35_out_ag(T242, T243)) → tlast35_out_ag(T242, node(T239, T240, T243))
U6_ag(T226, T227, T224, T225, tlast35_out_ag(T226, T227)) → tlast35_out_ag(T226, node(T227, T224, T225))
U10_gaaaa(T63, T68, T64, T69, T70, tlast35_out_ag(T70, T69)) → p33_out_gaaaa(T63, T68, T64, T69, T70)
U15_gaa(T19, T64, T65, p33_out_gaaaa(T63, X190, T64, X189, T65)) → goal1_out_gaa(s(T19), T64, T65)
goal1_in_gaa(s(T250), T13, T14) → U16_gaa(T250, T13, T14, s2t9_in_ga(T250, X504))
U16_gaa(T250, T13, T14, s2t9_out_ga(T250, X504)) → goal1_out_gaa(s(T250), T13, T14)
goal1_in_gaa(s(T250), T273, T274) → U17_gaa(T250, T273, T274, s2t9_in_ga(T250, T272))
U17_gaa(T250, T273, T274, s2t9_out_ga(T250, T272)) → U18_gaa(T250, T273, T274, tappend50_in_gaa(node(nil, X543, T272), T273, X542))
U18_gaa(T250, T273, T274, tappend50_out_gaa(node(nil, X543, T272), T273, X542)) → goal1_out_gaa(s(T250), T273, T274)
goal1_in_gaa(s(T250), T273, T280) → U19_gaa(T250, T273, T280, s2t9_in_ga(T250, T272))
U19_gaa(T250, T273, T280, s2t9_out_ga(T250, T272)) → U20_gaa(T250, T273, T280, tappend50_in_gaa(node(nil, T278, T272), T273, T279))
U20_gaa(T250, T273, T280, tappend50_out_gaa(node(nil, T278, T272), T273, T279)) → U21_gaa(T250, T273, T280, tlast35_in_ag(T280, T279))
U21_gaa(T250, T273, T280, tlast35_out_ag(T280, T279)) → goal1_out_gaa(s(T250), T273, T280)
goal1_in_gaa(s(T289), T13, T14) → U22_gaa(T289, T13, T14, s2t9_in_ga(T289, X582))
U22_gaa(T289, T13, T14, s2t9_out_ga(T289, X582)) → goal1_out_gaa(s(T289), T13, T14)
goal1_in_gaa(s(T289), T311, T312) → U23_gaa(T289, T311, T312, s2t9_in_ga(T289, T310))
U23_gaa(T289, T311, T312, s2t9_out_ga(T289, T310)) → U24_gaa(T289, T311, T312, tappend50_in_gaa(node(T310, X625, nil), T311, X624))
U24_gaa(T289, T311, T312, tappend50_out_gaa(node(T310, X625, nil), T311, X624)) → goal1_out_gaa(s(T289), T311, T312)
goal1_in_gaa(s(T289), T311, T317) → U25_gaa(T289, T311, T317, s2t9_in_ga(T289, T310))
U25_gaa(T289, T311, T317, s2t9_out_ga(T289, T310)) → U26_gaa(T289, T311, T317, tappend50_in_gaa(node(T310, T315, nil), T311, T316))
U26_gaa(T289, T311, T317, tappend50_out_gaa(node(T310, T315, nil), T311, T316)) → U27_gaa(T289, T311, T317, tlast35_in_ag(T317, T316))
U27_gaa(T289, T311, T317, tlast35_out_ag(T317, T316)) → goal1_out_gaa(s(T289), T311, T317)
goal1_in_gaa(s(T326), T339, T340) → U28_gaa(T326, T339, T340, p33_in_gaaaa(nil, X690, T339, X689, T340))
U28_gaa(T326, T339, T340, p33_out_gaaaa(nil, X690, T339, X689, T340)) → goal1_out_gaa(s(T326), T339, T340)
goal1_in_gaa(0, T355, T356) → U29_gaa(T355, T356, tappend50_in_gaa(nil, T355, X714))
U29_gaa(T355, T356, tappend50_out_gaa(nil, T355, X714)) → goal1_out_gaa(0, T355, T356)
goal1_in_gaa(0, T355, T360) → U30_gaa(T355, T360, tappend50_in_gaa(nil, T355, T359))
U30_gaa(T355, T360, tappend50_out_gaa(nil, T355, T359)) → U31_gaa(T355, T360, tlast35_in_ag(T360, T359))
U31_gaa(T355, T360, tlast35_out_ag(T360, T359)) → goal1_out_gaa(0, T355, T360)

The argument filtering Pi contains the following mapping:
goal1_in_gaa(x1, x2, x3)  =  goal1_in_gaa(x1)
s(x1)  =  s(x1)
U13_gaa(x1, x2, x3, x4)  =  U13_gaa(x4)
s2t9_in_ga(x1, x2)  =  s2t9_in_ga(x1)
U1_ga(x1, x2, x3, x4)  =  U1_ga(x4)
U2_ga(x1, x2, x3, x4)  =  U2_ga(x4)
U3_ga(x1, x2, x3, x4)  =  U3_ga(x4)
s2t9_out_ga(x1, x2)  =  s2t9_out_ga(x2)
node(x1, x2, x3)  =  node(x1, x3)
0  =  0
goal1_out_gaa(x1, x2, x3)  =  goal1_out_gaa
U14_gaa(x1, x2, x3, x4)  =  U14_gaa(x4)
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x4)
p33_in_gaaaa(x1, x2, x3, x4, x5)  =  p33_in_gaaaa(x1)
U8_gaaaa(x1, x2, x3, x4, x5, x6)  =  U8_gaaaa(x6)
tappend34_in_gaaa(x1, x2, x3, x4)  =  tappend34_in_gaaa(x1)
nil  =  nil
tappend34_out_gaaa(x1, x2, x3, x4)  =  tappend34_out_gaaa(x4)
U11_gaaa(x1, x2, x3, x4, x5)  =  U11_gaaa(x1, x5)
tappend50_in_gaa(x1, x2, x3)  =  tappend50_in_gaa(x1)
tappend50_out_gaa(x1, x2, x3)  =  tappend50_out_gaa(x3)
U4_gaa(x1, x2, x3, x4, x5, x6)  =  U4_gaa(x3, x6)
U5_gaa(x1, x2, x3, x4, x5, x6)  =  U5_gaa(x1, x6)
U12_gaaa(x1, x2, x3, x4, x5)  =  U12_gaaa(x1, x5)
p33_out_gaaaa(x1, x2, x3, x4, x5)  =  p33_out_gaaaa(x4)
U9_gaaaa(x1, x2, x3, x4, x5, x6)  =  U9_gaaaa(x6)
U10_gaaaa(x1, x2, x3, x4, x5, x6)  =  U10_gaaaa(x4, x6)
tlast35_in_ag(x1, x2)  =  tlast35_in_ag(x2)
tlast35_out_ag(x1, x2)  =  tlast35_out_ag
U6_ag(x1, x2, x3, x4, x5)  =  U6_ag(x5)
U7_ag(x1, x2, x3, x4, x5)  =  U7_ag(x5)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x4)
U17_gaa(x1, x2, x3, x4)  =  U17_gaa(x4)
U18_gaa(x1, x2, x3, x4)  =  U18_gaa(x4)
U19_gaa(x1, x2, x3, x4)  =  U19_gaa(x4)
U20_gaa(x1, x2, x3, x4)  =  U20_gaa(x4)
U21_gaa(x1, x2, x3, x4)  =  U21_gaa(x4)
U22_gaa(x1, x2, x3, x4)  =  U22_gaa(x4)
U23_gaa(x1, x2, x3, x4)  =  U23_gaa(x4)
U24_gaa(x1, x2, x3, x4)  =  U24_gaa(x4)
U25_gaa(x1, x2, x3, x4)  =  U25_gaa(x4)
U26_gaa(x1, x2, x3, x4)  =  U26_gaa(x4)
U27_gaa(x1, x2, x3, x4)  =  U27_gaa(x4)
U28_gaa(x1, x2, x3, x4)  =  U28_gaa(x4)
U29_gaa(x1, x2, x3)  =  U29_gaa(x3)
U30_gaa(x1, x2, x3)  =  U30_gaa(x3)
U31_gaa(x1, x2, x3)  =  U31_gaa(x3)
S2T9_IN_GA(x1, x2)  =  S2T9_IN_GA(x1)

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:

S2T9_IN_GA(s(T33), node(nil, X102, X103)) → S2T9_IN_GA(T33, X103)
S2T9_IN_GA(s(T27), node(X69, X70, X69)) → S2T9_IN_GA(T27, X69)
S2T9_IN_GA(s(T39), node(X135, X136, nil)) → S2T9_IN_GA(T39, X135)

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

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:

S2T9_IN_GA(s(T33)) → S2T9_IN_GA(T33)

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

(28) 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:

  • S2T9_IN_GA(s(T33)) → S2T9_IN_GA(T33)
    The graph contains the following edges 1 > 1

(29) YES