(0) Obligation:

Clauses:

palindrome(L) :- ','(halves(L, X1s, X2s, EvenOdd), ','(eq(EvenOdd, even), eq(X1s, X2s))).
palindrome(L) :- ','(halves(L, X1s, X2s, EvenOdd), ','(eq(EvenOdd, odd), last(X1s, X1, X2s))).
halves([], [], [], even).
halves(.(X, []), .(X, []), [], odd).
halves(.(T, .(Y, Xs)), .(T, Ts), .(R, Rs), EvenOdd) :- ','(last(.(Y, Xs), R, Rests), halves(Rests, Ts, Rs, EvenOdd)).
last(.(T, []), T, []).
last(.(H, T), X, .(H, M)) :- last(T, X, M).
eq(X, X).

Queries:

palindrome(g).

(1) PrologToPrologProblemTransformerProof (SOUND transformation)

Built Prolog problem from termination graph.

(2) Obligation:

Clauses:

last32(.(T49, []), T49, []).
last32(.(T54, T55), X139, .(T54, X140)) :- last32(T55, X139, X140).
last24(T34, [], T34, []).
last24(T41, T42, X113, .(T41, X114)) :- last32(T42, X113, X114).
halves41([], [], [], even).
halves41(.(T65, []), .(T65, []), [], odd).
halves41(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187) :- last24(T73, T74, X185, X183).
halves41(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187) :- ','(last24(T73, T74, T77, T78), halves41(T78, X184, X186, X187)).
last70(.(T107, []), T107, []).
last70(.(T114, T115), X246, .(T114, T116)) :- last70(T115, X246, T116).
palindrome1([]).
palindrome1(.(T21, .(T22, T23))) :- last24(T22, T23, X75, X73).
palindrome1(.(T21, .(T22, T23))) :- ','(last24(T22, T23, T26, T27), halves41(T27, X74, X76, X77)).
palindrome1(.(T88, .(T22, T23))) :- ','(last24(T22, T23, T88, T27), halves41(T27, T89, T89, even)).
palindrome1(T92) :- halves41(T92, X214, X215, X216).
palindrome1(T92) :- ','(halves41(T92, T93, T94, odd), last70(T93, X217, T94)).

Queries:

palindrome1(g).

(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:
palindrome1_in: (b)
last24_in: (f,b,f,f)
last32_in: (b,f,f)
halves41_in: (b,f,f,f) (b,f,f,b)
last70_in: (f,f,f)
Transforming Prolog into the following Term Rewriting System:
Pi-finite rewrite system:
The TRS R consists of the following rules:

palindrome1_in_g([]) → palindrome1_out_g([])
palindrome1_in_g(.(T21, .(T22, T23))) → U7_g(T21, T22, T23, last24_in_agaa(T22, T23, X75, X73))
last24_in_agaa(T34, [], T34, []) → last24_out_agaa(T34, [], T34, [])
last24_in_agaa(T41, T42, X113, .(T41, X114)) → U2_agaa(T41, T42, X113, X114, last32_in_gaa(T42, X113, X114))
last32_in_gaa(.(T49, []), T49, []) → last32_out_gaa(.(T49, []), T49, [])
last32_in_gaa(.(T54, T55), X139, .(T54, X140)) → U1_gaa(T54, T55, X139, X140, last32_in_gaa(T55, X139, X140))
U1_gaa(T54, T55, X139, X140, last32_out_gaa(T55, X139, X140)) → last32_out_gaa(.(T54, T55), X139, .(T54, X140))
U2_agaa(T41, T42, X113, X114, last32_out_gaa(T42, X113, X114)) → last24_out_agaa(T41, T42, X113, .(T41, X114))
U7_g(T21, T22, T23, last24_out_agaa(T22, T23, X75, X73)) → palindrome1_out_g(.(T21, .(T22, T23)))
palindrome1_in_g(.(T21, .(T22, T23))) → U8_g(T21, T22, T23, last24_in_agaa(T22, T23, T26, T27))
U8_g(T21, T22, T23, last24_out_agaa(T22, T23, T26, T27)) → U9_g(T21, T22, T23, halves41_in_gaaa(T27, X74, X76, X77))
halves41_in_gaaa([], [], [], even) → halves41_out_gaaa([], [], [], even)
halves41_in_gaaa(.(T65, []), .(T65, []), [], odd) → halves41_out_gaaa(.(T65, []), .(T65, []), [], odd)
halves41_in_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187) → U3_gaaa(T72, T73, T74, X184, X185, X186, X187, last24_in_agaa(T73, T74, X185, X183))
U3_gaaa(T72, T73, T74, X184, X185, X186, X187, last24_out_agaa(T73, T74, X185, X183)) → halves41_out_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187)
halves41_in_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187) → U4_gaaa(T72, T73, T74, X184, T77, X186, X187, last24_in_agaa(T73, T74, T77, T78))
U4_gaaa(T72, T73, T74, X184, T77, X186, X187, last24_out_agaa(T73, T74, T77, T78)) → U5_gaaa(T72, T73, T74, X184, T77, X186, X187, halves41_in_gaaa(T78, X184, X186, X187))
U5_gaaa(T72, T73, T74, X184, T77, X186, X187, halves41_out_gaaa(T78, X184, X186, X187)) → halves41_out_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187)
U9_g(T21, T22, T23, halves41_out_gaaa(T27, X74, X76, X77)) → palindrome1_out_g(.(T21, .(T22, T23)))
palindrome1_in_g(.(T88, .(T22, T23))) → U10_g(T88, T22, T23, last24_in_agaa(T22, T23, T88, T27))
U10_g(T88, T22, T23, last24_out_agaa(T22, T23, T88, T27)) → U11_g(T88, T22, T23, halves41_in_gaag(T27, T89, T89, even))
halves41_in_gaag([], [], [], even) → halves41_out_gaag([], [], [], even)
halves41_in_gaag(.(T65, []), .(T65, []), [], odd) → halves41_out_gaag(.(T65, []), .(T65, []), [], odd)
halves41_in_gaag(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187) → U3_gaag(T72, T73, T74, X184, X185, X186, X187, last24_in_agaa(T73, T74, X185, X183))
U3_gaag(T72, T73, T74, X184, X185, X186, X187, last24_out_agaa(T73, T74, X185, X183)) → halves41_out_gaag(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187)
halves41_in_gaag(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187) → U4_gaag(T72, T73, T74, X184, T77, X186, X187, last24_in_agaa(T73, T74, T77, T78))
U4_gaag(T72, T73, T74, X184, T77, X186, X187, last24_out_agaa(T73, T74, T77, T78)) → U5_gaag(T72, T73, T74, X184, T77, X186, X187, halves41_in_gaag(T78, X184, X186, X187))
U5_gaag(T72, T73, T74, X184, T77, X186, X187, halves41_out_gaag(T78, X184, X186, X187)) → halves41_out_gaag(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187)
U11_g(T88, T22, T23, halves41_out_gaag(T27, T89, T89, even)) → palindrome1_out_g(.(T88, .(T22, T23)))
palindrome1_in_g(T92) → U12_g(T92, halves41_in_gaaa(T92, X214, X215, X216))
U12_g(T92, halves41_out_gaaa(T92, X214, X215, X216)) → palindrome1_out_g(T92)
palindrome1_in_g(T92) → U13_g(T92, halves41_in_gaag(T92, T93, T94, odd))
U13_g(T92, halves41_out_gaag(T92, T93, T94, odd)) → U14_g(T92, last70_in_aaa(T93, X217, T94))
last70_in_aaa(.(T107, []), T107, []) → last70_out_aaa(.(T107, []), T107, [])
last70_in_aaa(.(T114, T115), X246, .(T114, T116)) → U6_aaa(T114, T115, X246, T116, last70_in_aaa(T115, X246, T116))
U6_aaa(T114, T115, X246, T116, last70_out_aaa(T115, X246, T116)) → last70_out_aaa(.(T114, T115), X246, .(T114, T116))
U14_g(T92, last70_out_aaa(T93, X217, T94)) → palindrome1_out_g(T92)

The argument filtering Pi contains the following mapping:
palindrome1_in_g(x1)  =  palindrome1_in_g(x1)
[]  =  []
palindrome1_out_g(x1)  =  palindrome1_out_g
.(x1, x2)  =  .(x2)
U7_g(x1, x2, x3, x4)  =  U7_g(x4)
last32_in_gaa(x1, x2, x3)  =  last32_in_gaa(x1)
last32_out_gaa(x1, x2, x3)  =  last32_out_gaa(x3)
U1_gaa(x1, x2, x3, x4, x5)  =  U1_gaa(x5)
U8_g(x1, x2, x3, x4)  =  U8_g(x4)
U9_g(x1, x2, x3, x4)  =  U9_g(x4)
halves41_in_gaaa(x1, x2, x3, x4)  =  halves41_in_gaaa(x1)
halves41_out_gaaa(x1, x2, x3, x4)  =  halves41_out_gaaa
U3_gaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U3_gaaa(x8)
U4_gaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U4_gaaa(x8)
U5_gaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U5_gaaa(x8)
U10_g(x1, x2, x3, x4)  =  U10_g(x4)
U11_g(x1, x2, x3, x4)  =  U11_g(x4)
halves41_in_gaag(x1, x2, x3, x4)  =  halves41_in_gaag(x1, x4)
even  =  even
halves41_out_gaag(x1, x2, x3, x4)  =  halves41_out_gaag
odd  =  odd
U3_gaag(x1, x2, x3, x4, x5, x6, x7, x8)  =  U3_gaag(x8)
U4_gaag(x1, x2, x3, x4, x5, x6, x7, x8)  =  U4_gaag(x7, x8)
U5_gaag(x1, x2, x3, x4, x5, x6, x7, x8)  =  U5_gaag(x8)
U12_g(x1, x2)  =  U12_g(x2)
U13_g(x1, x2)  =  U13_g(x2)
U14_g(x1, x2)  =  U14_g(x2)
last70_in_aaa(x1, x2, x3)  =  last70_in_aaa
last70_out_aaa(x1, x2, x3)  =  last70_out_aaa(x1, x3)
last24_in_agaa(x1, x2, x3, x4)  =  last24_in_agaa(x2)
last24_out_agaa(x1, x2, x3, x4)  =  last24_out_agaa(x4)
U2_agaa(x1, x2, x3, x4, x5)  =  U2_agaa(x5)
U6_aaa(x1, x2, x3, x4, x5)  =  U6_aaa(x5)

Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog

(4) Obligation:

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

palindrome1_in_g([]) → palindrome1_out_g([])
palindrome1_in_g(.(T21, .(T22, T23))) → U7_g(T21, T22, T23, last24_in_agaa(T22, T23, X75, X73))
last24_in_agaa(T34, [], T34, []) → last24_out_agaa(T34, [], T34, [])
last24_in_agaa(T41, T42, X113, .(T41, X114)) → U2_agaa(T41, T42, X113, X114, last32_in_gaa(T42, X113, X114))
last32_in_gaa(.(T49, []), T49, []) → last32_out_gaa(.(T49, []), T49, [])
last32_in_gaa(.(T54, T55), X139, .(T54, X140)) → U1_gaa(T54, T55, X139, X140, last32_in_gaa(T55, X139, X140))
U1_gaa(T54, T55, X139, X140, last32_out_gaa(T55, X139, X140)) → last32_out_gaa(.(T54, T55), X139, .(T54, X140))
U2_agaa(T41, T42, X113, X114, last32_out_gaa(T42, X113, X114)) → last24_out_agaa(T41, T42, X113, .(T41, X114))
U7_g(T21, T22, T23, last24_out_agaa(T22, T23, X75, X73)) → palindrome1_out_g(.(T21, .(T22, T23)))
palindrome1_in_g(.(T21, .(T22, T23))) → U8_g(T21, T22, T23, last24_in_agaa(T22, T23, T26, T27))
U8_g(T21, T22, T23, last24_out_agaa(T22, T23, T26, T27)) → U9_g(T21, T22, T23, halves41_in_gaaa(T27, X74, X76, X77))
halves41_in_gaaa([], [], [], even) → halves41_out_gaaa([], [], [], even)
halves41_in_gaaa(.(T65, []), .(T65, []), [], odd) → halves41_out_gaaa(.(T65, []), .(T65, []), [], odd)
halves41_in_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187) → U3_gaaa(T72, T73, T74, X184, X185, X186, X187, last24_in_agaa(T73, T74, X185, X183))
U3_gaaa(T72, T73, T74, X184, X185, X186, X187, last24_out_agaa(T73, T74, X185, X183)) → halves41_out_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187)
halves41_in_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187) → U4_gaaa(T72, T73, T74, X184, T77, X186, X187, last24_in_agaa(T73, T74, T77, T78))
U4_gaaa(T72, T73, T74, X184, T77, X186, X187, last24_out_agaa(T73, T74, T77, T78)) → U5_gaaa(T72, T73, T74, X184, T77, X186, X187, halves41_in_gaaa(T78, X184, X186, X187))
U5_gaaa(T72, T73, T74, X184, T77, X186, X187, halves41_out_gaaa(T78, X184, X186, X187)) → halves41_out_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187)
U9_g(T21, T22, T23, halves41_out_gaaa(T27, X74, X76, X77)) → palindrome1_out_g(.(T21, .(T22, T23)))
palindrome1_in_g(.(T88, .(T22, T23))) → U10_g(T88, T22, T23, last24_in_agaa(T22, T23, T88, T27))
U10_g(T88, T22, T23, last24_out_agaa(T22, T23, T88, T27)) → U11_g(T88, T22, T23, halves41_in_gaag(T27, T89, T89, even))
halves41_in_gaag([], [], [], even) → halves41_out_gaag([], [], [], even)
halves41_in_gaag(.(T65, []), .(T65, []), [], odd) → halves41_out_gaag(.(T65, []), .(T65, []), [], odd)
halves41_in_gaag(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187) → U3_gaag(T72, T73, T74, X184, X185, X186, X187, last24_in_agaa(T73, T74, X185, X183))
U3_gaag(T72, T73, T74, X184, X185, X186, X187, last24_out_agaa(T73, T74, X185, X183)) → halves41_out_gaag(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187)
halves41_in_gaag(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187) → U4_gaag(T72, T73, T74, X184, T77, X186, X187, last24_in_agaa(T73, T74, T77, T78))
U4_gaag(T72, T73, T74, X184, T77, X186, X187, last24_out_agaa(T73, T74, T77, T78)) → U5_gaag(T72, T73, T74, X184, T77, X186, X187, halves41_in_gaag(T78, X184, X186, X187))
U5_gaag(T72, T73, T74, X184, T77, X186, X187, halves41_out_gaag(T78, X184, X186, X187)) → halves41_out_gaag(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187)
U11_g(T88, T22, T23, halves41_out_gaag(T27, T89, T89, even)) → palindrome1_out_g(.(T88, .(T22, T23)))
palindrome1_in_g(T92) → U12_g(T92, halves41_in_gaaa(T92, X214, X215, X216))
U12_g(T92, halves41_out_gaaa(T92, X214, X215, X216)) → palindrome1_out_g(T92)
palindrome1_in_g(T92) → U13_g(T92, halves41_in_gaag(T92, T93, T94, odd))
U13_g(T92, halves41_out_gaag(T92, T93, T94, odd)) → U14_g(T92, last70_in_aaa(T93, X217, T94))
last70_in_aaa(.(T107, []), T107, []) → last70_out_aaa(.(T107, []), T107, [])
last70_in_aaa(.(T114, T115), X246, .(T114, T116)) → U6_aaa(T114, T115, X246, T116, last70_in_aaa(T115, X246, T116))
U6_aaa(T114, T115, X246, T116, last70_out_aaa(T115, X246, T116)) → last70_out_aaa(.(T114, T115), X246, .(T114, T116))
U14_g(T92, last70_out_aaa(T93, X217, T94)) → palindrome1_out_g(T92)

The argument filtering Pi contains the following mapping:
palindrome1_in_g(x1)  =  palindrome1_in_g(x1)
[]  =  []
palindrome1_out_g(x1)  =  palindrome1_out_g
.(x1, x2)  =  .(x2)
U7_g(x1, x2, x3, x4)  =  U7_g(x4)
last32_in_gaa(x1, x2, x3)  =  last32_in_gaa(x1)
last32_out_gaa(x1, x2, x3)  =  last32_out_gaa(x3)
U1_gaa(x1, x2, x3, x4, x5)  =  U1_gaa(x5)
U8_g(x1, x2, x3, x4)  =  U8_g(x4)
U9_g(x1, x2, x3, x4)  =  U9_g(x4)
halves41_in_gaaa(x1, x2, x3, x4)  =  halves41_in_gaaa(x1)
halves41_out_gaaa(x1, x2, x3, x4)  =  halves41_out_gaaa
U3_gaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U3_gaaa(x8)
U4_gaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U4_gaaa(x8)
U5_gaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U5_gaaa(x8)
U10_g(x1, x2, x3, x4)  =  U10_g(x4)
U11_g(x1, x2, x3, x4)  =  U11_g(x4)
halves41_in_gaag(x1, x2, x3, x4)  =  halves41_in_gaag(x1, x4)
even  =  even
halves41_out_gaag(x1, x2, x3, x4)  =  halves41_out_gaag
odd  =  odd
U3_gaag(x1, x2, x3, x4, x5, x6, x7, x8)  =  U3_gaag(x8)
U4_gaag(x1, x2, x3, x4, x5, x6, x7, x8)  =  U4_gaag(x7, x8)
U5_gaag(x1, x2, x3, x4, x5, x6, x7, x8)  =  U5_gaag(x8)
U12_g(x1, x2)  =  U12_g(x2)
U13_g(x1, x2)  =  U13_g(x2)
U14_g(x1, x2)  =  U14_g(x2)
last70_in_aaa(x1, x2, x3)  =  last70_in_aaa
last70_out_aaa(x1, x2, x3)  =  last70_out_aaa(x1, x3)
last24_in_agaa(x1, x2, x3, x4)  =  last24_in_agaa(x2)
last24_out_agaa(x1, x2, x3, x4)  =  last24_out_agaa(x4)
U2_agaa(x1, x2, x3, x4, x5)  =  U2_agaa(x5)
U6_aaa(x1, x2, x3, x4, x5)  =  U6_aaa(x5)

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

PALINDROME1_IN_G(.(T21, .(T22, T23))) → U7_G(T21, T22, T23, last24_in_agaa(T22, T23, X75, X73))
PALINDROME1_IN_G(.(T21, .(T22, T23))) → LAST24_IN_AGAA(T22, T23, X75, X73)
LAST24_IN_AGAA(T41, T42, X113, .(T41, X114)) → U2_AGAA(T41, T42, X113, X114, last32_in_gaa(T42, X113, X114))
LAST24_IN_AGAA(T41, T42, X113, .(T41, X114)) → LAST32_IN_GAA(T42, X113, X114)
LAST32_IN_GAA(.(T54, T55), X139, .(T54, X140)) → U1_GAA(T54, T55, X139, X140, last32_in_gaa(T55, X139, X140))
LAST32_IN_GAA(.(T54, T55), X139, .(T54, X140)) → LAST32_IN_GAA(T55, X139, X140)
PALINDROME1_IN_G(.(T21, .(T22, T23))) → U8_G(T21, T22, T23, last24_in_agaa(T22, T23, T26, T27))
U8_G(T21, T22, T23, last24_out_agaa(T22, T23, T26, T27)) → U9_G(T21, T22, T23, halves41_in_gaaa(T27, X74, X76, X77))
U8_G(T21, T22, T23, last24_out_agaa(T22, T23, T26, T27)) → HALVES41_IN_GAAA(T27, X74, X76, X77)
HALVES41_IN_GAAA(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187) → U3_GAAA(T72, T73, T74, X184, X185, X186, X187, last24_in_agaa(T73, T74, X185, X183))
HALVES41_IN_GAAA(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187) → LAST24_IN_AGAA(T73, T74, X185, X183)
HALVES41_IN_GAAA(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187) → U4_GAAA(T72, T73, T74, X184, T77, X186, X187, last24_in_agaa(T73, T74, T77, T78))
U4_GAAA(T72, T73, T74, X184, T77, X186, X187, last24_out_agaa(T73, T74, T77, T78)) → U5_GAAA(T72, T73, T74, X184, T77, X186, X187, halves41_in_gaaa(T78, X184, X186, X187))
U4_GAAA(T72, T73, T74, X184, T77, X186, X187, last24_out_agaa(T73, T74, T77, T78)) → HALVES41_IN_GAAA(T78, X184, X186, X187)
PALINDROME1_IN_G(.(T88, .(T22, T23))) → U10_G(T88, T22, T23, last24_in_agaa(T22, T23, T88, T27))
PALINDROME1_IN_G(.(T88, .(T22, T23))) → LAST24_IN_AGAA(T22, T23, T88, T27)
U10_G(T88, T22, T23, last24_out_agaa(T22, T23, T88, T27)) → U11_G(T88, T22, T23, halves41_in_gaag(T27, T89, T89, even))
U10_G(T88, T22, T23, last24_out_agaa(T22, T23, T88, T27)) → HALVES41_IN_GAAG(T27, T89, T89, even)
HALVES41_IN_GAAG(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187) → U3_GAAG(T72, T73, T74, X184, X185, X186, X187, last24_in_agaa(T73, T74, X185, X183))
HALVES41_IN_GAAG(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187) → LAST24_IN_AGAA(T73, T74, X185, X183)
HALVES41_IN_GAAG(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187) → U4_GAAG(T72, T73, T74, X184, T77, X186, X187, last24_in_agaa(T73, T74, T77, T78))
U4_GAAG(T72, T73, T74, X184, T77, X186, X187, last24_out_agaa(T73, T74, T77, T78)) → U5_GAAG(T72, T73, T74, X184, T77, X186, X187, halves41_in_gaag(T78, X184, X186, X187))
U4_GAAG(T72, T73, T74, X184, T77, X186, X187, last24_out_agaa(T73, T74, T77, T78)) → HALVES41_IN_GAAG(T78, X184, X186, X187)
PALINDROME1_IN_G(T92) → U12_G(T92, halves41_in_gaaa(T92, X214, X215, X216))
PALINDROME1_IN_G(T92) → HALVES41_IN_GAAA(T92, X214, X215, X216)
PALINDROME1_IN_G(T92) → U13_G(T92, halves41_in_gaag(T92, T93, T94, odd))
PALINDROME1_IN_G(T92) → HALVES41_IN_GAAG(T92, T93, T94, odd)
U13_G(T92, halves41_out_gaag(T92, T93, T94, odd)) → U14_G(T92, last70_in_aaa(T93, X217, T94))
U13_G(T92, halves41_out_gaag(T92, T93, T94, odd)) → LAST70_IN_AAA(T93, X217, T94)
LAST70_IN_AAA(.(T114, T115), X246, .(T114, T116)) → U6_AAA(T114, T115, X246, T116, last70_in_aaa(T115, X246, T116))
LAST70_IN_AAA(.(T114, T115), X246, .(T114, T116)) → LAST70_IN_AAA(T115, X246, T116)

The TRS R consists of the following rules:

palindrome1_in_g([]) → palindrome1_out_g([])
palindrome1_in_g(.(T21, .(T22, T23))) → U7_g(T21, T22, T23, last24_in_agaa(T22, T23, X75, X73))
last24_in_agaa(T34, [], T34, []) → last24_out_agaa(T34, [], T34, [])
last24_in_agaa(T41, T42, X113, .(T41, X114)) → U2_agaa(T41, T42, X113, X114, last32_in_gaa(T42, X113, X114))
last32_in_gaa(.(T49, []), T49, []) → last32_out_gaa(.(T49, []), T49, [])
last32_in_gaa(.(T54, T55), X139, .(T54, X140)) → U1_gaa(T54, T55, X139, X140, last32_in_gaa(T55, X139, X140))
U1_gaa(T54, T55, X139, X140, last32_out_gaa(T55, X139, X140)) → last32_out_gaa(.(T54, T55), X139, .(T54, X140))
U2_agaa(T41, T42, X113, X114, last32_out_gaa(T42, X113, X114)) → last24_out_agaa(T41, T42, X113, .(T41, X114))
U7_g(T21, T22, T23, last24_out_agaa(T22, T23, X75, X73)) → palindrome1_out_g(.(T21, .(T22, T23)))
palindrome1_in_g(.(T21, .(T22, T23))) → U8_g(T21, T22, T23, last24_in_agaa(T22, T23, T26, T27))
U8_g(T21, T22, T23, last24_out_agaa(T22, T23, T26, T27)) → U9_g(T21, T22, T23, halves41_in_gaaa(T27, X74, X76, X77))
halves41_in_gaaa([], [], [], even) → halves41_out_gaaa([], [], [], even)
halves41_in_gaaa(.(T65, []), .(T65, []), [], odd) → halves41_out_gaaa(.(T65, []), .(T65, []), [], odd)
halves41_in_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187) → U3_gaaa(T72, T73, T74, X184, X185, X186, X187, last24_in_agaa(T73, T74, X185, X183))
U3_gaaa(T72, T73, T74, X184, X185, X186, X187, last24_out_agaa(T73, T74, X185, X183)) → halves41_out_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187)
halves41_in_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187) → U4_gaaa(T72, T73, T74, X184, T77, X186, X187, last24_in_agaa(T73, T74, T77, T78))
U4_gaaa(T72, T73, T74, X184, T77, X186, X187, last24_out_agaa(T73, T74, T77, T78)) → U5_gaaa(T72, T73, T74, X184, T77, X186, X187, halves41_in_gaaa(T78, X184, X186, X187))
U5_gaaa(T72, T73, T74, X184, T77, X186, X187, halves41_out_gaaa(T78, X184, X186, X187)) → halves41_out_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187)
U9_g(T21, T22, T23, halves41_out_gaaa(T27, X74, X76, X77)) → palindrome1_out_g(.(T21, .(T22, T23)))
palindrome1_in_g(.(T88, .(T22, T23))) → U10_g(T88, T22, T23, last24_in_agaa(T22, T23, T88, T27))
U10_g(T88, T22, T23, last24_out_agaa(T22, T23, T88, T27)) → U11_g(T88, T22, T23, halves41_in_gaag(T27, T89, T89, even))
halves41_in_gaag([], [], [], even) → halves41_out_gaag([], [], [], even)
halves41_in_gaag(.(T65, []), .(T65, []), [], odd) → halves41_out_gaag(.(T65, []), .(T65, []), [], odd)
halves41_in_gaag(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187) → U3_gaag(T72, T73, T74, X184, X185, X186, X187, last24_in_agaa(T73, T74, X185, X183))
U3_gaag(T72, T73, T74, X184, X185, X186, X187, last24_out_agaa(T73, T74, X185, X183)) → halves41_out_gaag(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187)
halves41_in_gaag(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187) → U4_gaag(T72, T73, T74, X184, T77, X186, X187, last24_in_agaa(T73, T74, T77, T78))
U4_gaag(T72, T73, T74, X184, T77, X186, X187, last24_out_agaa(T73, T74, T77, T78)) → U5_gaag(T72, T73, T74, X184, T77, X186, X187, halves41_in_gaag(T78, X184, X186, X187))
U5_gaag(T72, T73, T74, X184, T77, X186, X187, halves41_out_gaag(T78, X184, X186, X187)) → halves41_out_gaag(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187)
U11_g(T88, T22, T23, halves41_out_gaag(T27, T89, T89, even)) → palindrome1_out_g(.(T88, .(T22, T23)))
palindrome1_in_g(T92) → U12_g(T92, halves41_in_gaaa(T92, X214, X215, X216))
U12_g(T92, halves41_out_gaaa(T92, X214, X215, X216)) → palindrome1_out_g(T92)
palindrome1_in_g(T92) → U13_g(T92, halves41_in_gaag(T92, T93, T94, odd))
U13_g(T92, halves41_out_gaag(T92, T93, T94, odd)) → U14_g(T92, last70_in_aaa(T93, X217, T94))
last70_in_aaa(.(T107, []), T107, []) → last70_out_aaa(.(T107, []), T107, [])
last70_in_aaa(.(T114, T115), X246, .(T114, T116)) → U6_aaa(T114, T115, X246, T116, last70_in_aaa(T115, X246, T116))
U6_aaa(T114, T115, X246, T116, last70_out_aaa(T115, X246, T116)) → last70_out_aaa(.(T114, T115), X246, .(T114, T116))
U14_g(T92, last70_out_aaa(T93, X217, T94)) → palindrome1_out_g(T92)

The argument filtering Pi contains the following mapping:
palindrome1_in_g(x1)  =  palindrome1_in_g(x1)
[]  =  []
palindrome1_out_g(x1)  =  palindrome1_out_g
.(x1, x2)  =  .(x2)
U7_g(x1, x2, x3, x4)  =  U7_g(x4)
last32_in_gaa(x1, x2, x3)  =  last32_in_gaa(x1)
last32_out_gaa(x1, x2, x3)  =  last32_out_gaa(x3)
U1_gaa(x1, x2, x3, x4, x5)  =  U1_gaa(x5)
U8_g(x1, x2, x3, x4)  =  U8_g(x4)
U9_g(x1, x2, x3, x4)  =  U9_g(x4)
halves41_in_gaaa(x1, x2, x3, x4)  =  halves41_in_gaaa(x1)
halves41_out_gaaa(x1, x2, x3, x4)  =  halves41_out_gaaa
U3_gaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U3_gaaa(x8)
U4_gaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U4_gaaa(x8)
U5_gaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U5_gaaa(x8)
U10_g(x1, x2, x3, x4)  =  U10_g(x4)
U11_g(x1, x2, x3, x4)  =  U11_g(x4)
halves41_in_gaag(x1, x2, x3, x4)  =  halves41_in_gaag(x1, x4)
even  =  even
halves41_out_gaag(x1, x2, x3, x4)  =  halves41_out_gaag
odd  =  odd
U3_gaag(x1, x2, x3, x4, x5, x6, x7, x8)  =  U3_gaag(x8)
U4_gaag(x1, x2, x3, x4, x5, x6, x7, x8)  =  U4_gaag(x7, x8)
U5_gaag(x1, x2, x3, x4, x5, x6, x7, x8)  =  U5_gaag(x8)
U12_g(x1, x2)  =  U12_g(x2)
U13_g(x1, x2)  =  U13_g(x2)
U14_g(x1, x2)  =  U14_g(x2)
last70_in_aaa(x1, x2, x3)  =  last70_in_aaa
last70_out_aaa(x1, x2, x3)  =  last70_out_aaa(x1, x3)
last24_in_agaa(x1, x2, x3, x4)  =  last24_in_agaa(x2)
last24_out_agaa(x1, x2, x3, x4)  =  last24_out_agaa(x4)
U2_agaa(x1, x2, x3, x4, x5)  =  U2_agaa(x5)
U6_aaa(x1, x2, x3, x4, x5)  =  U6_aaa(x5)
PALINDROME1_IN_G(x1)  =  PALINDROME1_IN_G(x1)
U7_G(x1, x2, x3, x4)  =  U7_G(x4)
LAST24_IN_AGAA(x1, x2, x3, x4)  =  LAST24_IN_AGAA(x2)
U2_AGAA(x1, x2, x3, x4, x5)  =  U2_AGAA(x5)
LAST32_IN_GAA(x1, x2, x3)  =  LAST32_IN_GAA(x1)
U1_GAA(x1, x2, x3, x4, x5)  =  U1_GAA(x5)
U8_G(x1, x2, x3, x4)  =  U8_G(x4)
U9_G(x1, x2, x3, x4)  =  U9_G(x4)
HALVES41_IN_GAAA(x1, x2, x3, x4)  =  HALVES41_IN_GAAA(x1)
U3_GAAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U3_GAAA(x8)
U4_GAAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U4_GAAA(x8)
U5_GAAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U5_GAAA(x8)
U10_G(x1, x2, x3, x4)  =  U10_G(x4)
U11_G(x1, x2, x3, x4)  =  U11_G(x4)
HALVES41_IN_GAAG(x1, x2, x3, x4)  =  HALVES41_IN_GAAG(x1, x4)
U3_GAAG(x1, x2, x3, x4, x5, x6, x7, x8)  =  U3_GAAG(x8)
U4_GAAG(x1, x2, x3, x4, x5, x6, x7, x8)  =  U4_GAAG(x7, x8)
U5_GAAG(x1, x2, x3, x4, x5, x6, x7, x8)  =  U5_GAAG(x8)
U12_G(x1, x2)  =  U12_G(x2)
U13_G(x1, x2)  =  U13_G(x2)
U14_G(x1, x2)  =  U14_G(x2)
LAST70_IN_AAA(x1, x2, x3)  =  LAST70_IN_AAA
U6_AAA(x1, x2, x3, x4, x5)  =  U6_AAA(x5)

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

(6) Obligation:

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

PALINDROME1_IN_G(.(T21, .(T22, T23))) → U7_G(T21, T22, T23, last24_in_agaa(T22, T23, X75, X73))
PALINDROME1_IN_G(.(T21, .(T22, T23))) → LAST24_IN_AGAA(T22, T23, X75, X73)
LAST24_IN_AGAA(T41, T42, X113, .(T41, X114)) → U2_AGAA(T41, T42, X113, X114, last32_in_gaa(T42, X113, X114))
LAST24_IN_AGAA(T41, T42, X113, .(T41, X114)) → LAST32_IN_GAA(T42, X113, X114)
LAST32_IN_GAA(.(T54, T55), X139, .(T54, X140)) → U1_GAA(T54, T55, X139, X140, last32_in_gaa(T55, X139, X140))
LAST32_IN_GAA(.(T54, T55), X139, .(T54, X140)) → LAST32_IN_GAA(T55, X139, X140)
PALINDROME1_IN_G(.(T21, .(T22, T23))) → U8_G(T21, T22, T23, last24_in_agaa(T22, T23, T26, T27))
U8_G(T21, T22, T23, last24_out_agaa(T22, T23, T26, T27)) → U9_G(T21, T22, T23, halves41_in_gaaa(T27, X74, X76, X77))
U8_G(T21, T22, T23, last24_out_agaa(T22, T23, T26, T27)) → HALVES41_IN_GAAA(T27, X74, X76, X77)
HALVES41_IN_GAAA(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187) → U3_GAAA(T72, T73, T74, X184, X185, X186, X187, last24_in_agaa(T73, T74, X185, X183))
HALVES41_IN_GAAA(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187) → LAST24_IN_AGAA(T73, T74, X185, X183)
HALVES41_IN_GAAA(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187) → U4_GAAA(T72, T73, T74, X184, T77, X186, X187, last24_in_agaa(T73, T74, T77, T78))
U4_GAAA(T72, T73, T74, X184, T77, X186, X187, last24_out_agaa(T73, T74, T77, T78)) → U5_GAAA(T72, T73, T74, X184, T77, X186, X187, halves41_in_gaaa(T78, X184, X186, X187))
U4_GAAA(T72, T73, T74, X184, T77, X186, X187, last24_out_agaa(T73, T74, T77, T78)) → HALVES41_IN_GAAA(T78, X184, X186, X187)
PALINDROME1_IN_G(.(T88, .(T22, T23))) → U10_G(T88, T22, T23, last24_in_agaa(T22, T23, T88, T27))
PALINDROME1_IN_G(.(T88, .(T22, T23))) → LAST24_IN_AGAA(T22, T23, T88, T27)
U10_G(T88, T22, T23, last24_out_agaa(T22, T23, T88, T27)) → U11_G(T88, T22, T23, halves41_in_gaag(T27, T89, T89, even))
U10_G(T88, T22, T23, last24_out_agaa(T22, T23, T88, T27)) → HALVES41_IN_GAAG(T27, T89, T89, even)
HALVES41_IN_GAAG(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187) → U3_GAAG(T72, T73, T74, X184, X185, X186, X187, last24_in_agaa(T73, T74, X185, X183))
HALVES41_IN_GAAG(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187) → LAST24_IN_AGAA(T73, T74, X185, X183)
HALVES41_IN_GAAG(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187) → U4_GAAG(T72, T73, T74, X184, T77, X186, X187, last24_in_agaa(T73, T74, T77, T78))
U4_GAAG(T72, T73, T74, X184, T77, X186, X187, last24_out_agaa(T73, T74, T77, T78)) → U5_GAAG(T72, T73, T74, X184, T77, X186, X187, halves41_in_gaag(T78, X184, X186, X187))
U4_GAAG(T72, T73, T74, X184, T77, X186, X187, last24_out_agaa(T73, T74, T77, T78)) → HALVES41_IN_GAAG(T78, X184, X186, X187)
PALINDROME1_IN_G(T92) → U12_G(T92, halves41_in_gaaa(T92, X214, X215, X216))
PALINDROME1_IN_G(T92) → HALVES41_IN_GAAA(T92, X214, X215, X216)
PALINDROME1_IN_G(T92) → U13_G(T92, halves41_in_gaag(T92, T93, T94, odd))
PALINDROME1_IN_G(T92) → HALVES41_IN_GAAG(T92, T93, T94, odd)
U13_G(T92, halves41_out_gaag(T92, T93, T94, odd)) → U14_G(T92, last70_in_aaa(T93, X217, T94))
U13_G(T92, halves41_out_gaag(T92, T93, T94, odd)) → LAST70_IN_AAA(T93, X217, T94)
LAST70_IN_AAA(.(T114, T115), X246, .(T114, T116)) → U6_AAA(T114, T115, X246, T116, last70_in_aaa(T115, X246, T116))
LAST70_IN_AAA(.(T114, T115), X246, .(T114, T116)) → LAST70_IN_AAA(T115, X246, T116)

The TRS R consists of the following rules:

palindrome1_in_g([]) → palindrome1_out_g([])
palindrome1_in_g(.(T21, .(T22, T23))) → U7_g(T21, T22, T23, last24_in_agaa(T22, T23, X75, X73))
last24_in_agaa(T34, [], T34, []) → last24_out_agaa(T34, [], T34, [])
last24_in_agaa(T41, T42, X113, .(T41, X114)) → U2_agaa(T41, T42, X113, X114, last32_in_gaa(T42, X113, X114))
last32_in_gaa(.(T49, []), T49, []) → last32_out_gaa(.(T49, []), T49, [])
last32_in_gaa(.(T54, T55), X139, .(T54, X140)) → U1_gaa(T54, T55, X139, X140, last32_in_gaa(T55, X139, X140))
U1_gaa(T54, T55, X139, X140, last32_out_gaa(T55, X139, X140)) → last32_out_gaa(.(T54, T55), X139, .(T54, X140))
U2_agaa(T41, T42, X113, X114, last32_out_gaa(T42, X113, X114)) → last24_out_agaa(T41, T42, X113, .(T41, X114))
U7_g(T21, T22, T23, last24_out_agaa(T22, T23, X75, X73)) → palindrome1_out_g(.(T21, .(T22, T23)))
palindrome1_in_g(.(T21, .(T22, T23))) → U8_g(T21, T22, T23, last24_in_agaa(T22, T23, T26, T27))
U8_g(T21, T22, T23, last24_out_agaa(T22, T23, T26, T27)) → U9_g(T21, T22, T23, halves41_in_gaaa(T27, X74, X76, X77))
halves41_in_gaaa([], [], [], even) → halves41_out_gaaa([], [], [], even)
halves41_in_gaaa(.(T65, []), .(T65, []), [], odd) → halves41_out_gaaa(.(T65, []), .(T65, []), [], odd)
halves41_in_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187) → U3_gaaa(T72, T73, T74, X184, X185, X186, X187, last24_in_agaa(T73, T74, X185, X183))
U3_gaaa(T72, T73, T74, X184, X185, X186, X187, last24_out_agaa(T73, T74, X185, X183)) → halves41_out_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187)
halves41_in_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187) → U4_gaaa(T72, T73, T74, X184, T77, X186, X187, last24_in_agaa(T73, T74, T77, T78))
U4_gaaa(T72, T73, T74, X184, T77, X186, X187, last24_out_agaa(T73, T74, T77, T78)) → U5_gaaa(T72, T73, T74, X184, T77, X186, X187, halves41_in_gaaa(T78, X184, X186, X187))
U5_gaaa(T72, T73, T74, X184, T77, X186, X187, halves41_out_gaaa(T78, X184, X186, X187)) → halves41_out_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187)
U9_g(T21, T22, T23, halves41_out_gaaa(T27, X74, X76, X77)) → palindrome1_out_g(.(T21, .(T22, T23)))
palindrome1_in_g(.(T88, .(T22, T23))) → U10_g(T88, T22, T23, last24_in_agaa(T22, T23, T88, T27))
U10_g(T88, T22, T23, last24_out_agaa(T22, T23, T88, T27)) → U11_g(T88, T22, T23, halves41_in_gaag(T27, T89, T89, even))
halves41_in_gaag([], [], [], even) → halves41_out_gaag([], [], [], even)
halves41_in_gaag(.(T65, []), .(T65, []), [], odd) → halves41_out_gaag(.(T65, []), .(T65, []), [], odd)
halves41_in_gaag(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187) → U3_gaag(T72, T73, T74, X184, X185, X186, X187, last24_in_agaa(T73, T74, X185, X183))
U3_gaag(T72, T73, T74, X184, X185, X186, X187, last24_out_agaa(T73, T74, X185, X183)) → halves41_out_gaag(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187)
halves41_in_gaag(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187) → U4_gaag(T72, T73, T74, X184, T77, X186, X187, last24_in_agaa(T73, T74, T77, T78))
U4_gaag(T72, T73, T74, X184, T77, X186, X187, last24_out_agaa(T73, T74, T77, T78)) → U5_gaag(T72, T73, T74, X184, T77, X186, X187, halves41_in_gaag(T78, X184, X186, X187))
U5_gaag(T72, T73, T74, X184, T77, X186, X187, halves41_out_gaag(T78, X184, X186, X187)) → halves41_out_gaag(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187)
U11_g(T88, T22, T23, halves41_out_gaag(T27, T89, T89, even)) → palindrome1_out_g(.(T88, .(T22, T23)))
palindrome1_in_g(T92) → U12_g(T92, halves41_in_gaaa(T92, X214, X215, X216))
U12_g(T92, halves41_out_gaaa(T92, X214, X215, X216)) → palindrome1_out_g(T92)
palindrome1_in_g(T92) → U13_g(T92, halves41_in_gaag(T92, T93, T94, odd))
U13_g(T92, halves41_out_gaag(T92, T93, T94, odd)) → U14_g(T92, last70_in_aaa(T93, X217, T94))
last70_in_aaa(.(T107, []), T107, []) → last70_out_aaa(.(T107, []), T107, [])
last70_in_aaa(.(T114, T115), X246, .(T114, T116)) → U6_aaa(T114, T115, X246, T116, last70_in_aaa(T115, X246, T116))
U6_aaa(T114, T115, X246, T116, last70_out_aaa(T115, X246, T116)) → last70_out_aaa(.(T114, T115), X246, .(T114, T116))
U14_g(T92, last70_out_aaa(T93, X217, T94)) → palindrome1_out_g(T92)

The argument filtering Pi contains the following mapping:
palindrome1_in_g(x1)  =  palindrome1_in_g(x1)
[]  =  []
palindrome1_out_g(x1)  =  palindrome1_out_g
.(x1, x2)  =  .(x2)
U7_g(x1, x2, x3, x4)  =  U7_g(x4)
last32_in_gaa(x1, x2, x3)  =  last32_in_gaa(x1)
last32_out_gaa(x1, x2, x3)  =  last32_out_gaa(x3)
U1_gaa(x1, x2, x3, x4, x5)  =  U1_gaa(x5)
U8_g(x1, x2, x3, x4)  =  U8_g(x4)
U9_g(x1, x2, x3, x4)  =  U9_g(x4)
halves41_in_gaaa(x1, x2, x3, x4)  =  halves41_in_gaaa(x1)
halves41_out_gaaa(x1, x2, x3, x4)  =  halves41_out_gaaa
U3_gaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U3_gaaa(x8)
U4_gaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U4_gaaa(x8)
U5_gaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U5_gaaa(x8)
U10_g(x1, x2, x3, x4)  =  U10_g(x4)
U11_g(x1, x2, x3, x4)  =  U11_g(x4)
halves41_in_gaag(x1, x2, x3, x4)  =  halves41_in_gaag(x1, x4)
even  =  even
halves41_out_gaag(x1, x2, x3, x4)  =  halves41_out_gaag
odd  =  odd
U3_gaag(x1, x2, x3, x4, x5, x6, x7, x8)  =  U3_gaag(x8)
U4_gaag(x1, x2, x3, x4, x5, x6, x7, x8)  =  U4_gaag(x7, x8)
U5_gaag(x1, x2, x3, x4, x5, x6, x7, x8)  =  U5_gaag(x8)
U12_g(x1, x2)  =  U12_g(x2)
U13_g(x1, x2)  =  U13_g(x2)
U14_g(x1, x2)  =  U14_g(x2)
last70_in_aaa(x1, x2, x3)  =  last70_in_aaa
last70_out_aaa(x1, x2, x3)  =  last70_out_aaa(x1, x3)
last24_in_agaa(x1, x2, x3, x4)  =  last24_in_agaa(x2)
last24_out_agaa(x1, x2, x3, x4)  =  last24_out_agaa(x4)
U2_agaa(x1, x2, x3, x4, x5)  =  U2_agaa(x5)
U6_aaa(x1, x2, x3, x4, x5)  =  U6_aaa(x5)
PALINDROME1_IN_G(x1)  =  PALINDROME1_IN_G(x1)
U7_G(x1, x2, x3, x4)  =  U7_G(x4)
LAST24_IN_AGAA(x1, x2, x3, x4)  =  LAST24_IN_AGAA(x2)
U2_AGAA(x1, x2, x3, x4, x5)  =  U2_AGAA(x5)
LAST32_IN_GAA(x1, x2, x3)  =  LAST32_IN_GAA(x1)
U1_GAA(x1, x2, x3, x4, x5)  =  U1_GAA(x5)
U8_G(x1, x2, x3, x4)  =  U8_G(x4)
U9_G(x1, x2, x3, x4)  =  U9_G(x4)
HALVES41_IN_GAAA(x1, x2, x3, x4)  =  HALVES41_IN_GAAA(x1)
U3_GAAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U3_GAAA(x8)
U4_GAAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U4_GAAA(x8)
U5_GAAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U5_GAAA(x8)
U10_G(x1, x2, x3, x4)  =  U10_G(x4)
U11_G(x1, x2, x3, x4)  =  U11_G(x4)
HALVES41_IN_GAAG(x1, x2, x3, x4)  =  HALVES41_IN_GAAG(x1, x4)
U3_GAAG(x1, x2, x3, x4, x5, x6, x7, x8)  =  U3_GAAG(x8)
U4_GAAG(x1, x2, x3, x4, x5, x6, x7, x8)  =  U4_GAAG(x7, x8)
U5_GAAG(x1, x2, x3, x4, x5, x6, x7, x8)  =  U5_GAAG(x8)
U12_G(x1, x2)  =  U12_G(x2)
U13_G(x1, x2)  =  U13_G(x2)
U14_G(x1, x2)  =  U14_G(x2)
LAST70_IN_AAA(x1, x2, x3)  =  LAST70_IN_AAA
U6_AAA(x1, x2, x3, x4, x5)  =  U6_AAA(x5)

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

(7) DependencyGraphProof (EQUIVALENT transformation)

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

(8) Complex Obligation (AND)

(9) Obligation:

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

LAST70_IN_AAA(.(T114, T115), X246, .(T114, T116)) → LAST70_IN_AAA(T115, X246, T116)

The TRS R consists of the following rules:

palindrome1_in_g([]) → palindrome1_out_g([])
palindrome1_in_g(.(T21, .(T22, T23))) → U7_g(T21, T22, T23, last24_in_agaa(T22, T23, X75, X73))
last24_in_agaa(T34, [], T34, []) → last24_out_agaa(T34, [], T34, [])
last24_in_agaa(T41, T42, X113, .(T41, X114)) → U2_agaa(T41, T42, X113, X114, last32_in_gaa(T42, X113, X114))
last32_in_gaa(.(T49, []), T49, []) → last32_out_gaa(.(T49, []), T49, [])
last32_in_gaa(.(T54, T55), X139, .(T54, X140)) → U1_gaa(T54, T55, X139, X140, last32_in_gaa(T55, X139, X140))
U1_gaa(T54, T55, X139, X140, last32_out_gaa(T55, X139, X140)) → last32_out_gaa(.(T54, T55), X139, .(T54, X140))
U2_agaa(T41, T42, X113, X114, last32_out_gaa(T42, X113, X114)) → last24_out_agaa(T41, T42, X113, .(T41, X114))
U7_g(T21, T22, T23, last24_out_agaa(T22, T23, X75, X73)) → palindrome1_out_g(.(T21, .(T22, T23)))
palindrome1_in_g(.(T21, .(T22, T23))) → U8_g(T21, T22, T23, last24_in_agaa(T22, T23, T26, T27))
U8_g(T21, T22, T23, last24_out_agaa(T22, T23, T26, T27)) → U9_g(T21, T22, T23, halves41_in_gaaa(T27, X74, X76, X77))
halves41_in_gaaa([], [], [], even) → halves41_out_gaaa([], [], [], even)
halves41_in_gaaa(.(T65, []), .(T65, []), [], odd) → halves41_out_gaaa(.(T65, []), .(T65, []), [], odd)
halves41_in_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187) → U3_gaaa(T72, T73, T74, X184, X185, X186, X187, last24_in_agaa(T73, T74, X185, X183))
U3_gaaa(T72, T73, T74, X184, X185, X186, X187, last24_out_agaa(T73, T74, X185, X183)) → halves41_out_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187)
halves41_in_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187) → U4_gaaa(T72, T73, T74, X184, T77, X186, X187, last24_in_agaa(T73, T74, T77, T78))
U4_gaaa(T72, T73, T74, X184, T77, X186, X187, last24_out_agaa(T73, T74, T77, T78)) → U5_gaaa(T72, T73, T74, X184, T77, X186, X187, halves41_in_gaaa(T78, X184, X186, X187))
U5_gaaa(T72, T73, T74, X184, T77, X186, X187, halves41_out_gaaa(T78, X184, X186, X187)) → halves41_out_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187)
U9_g(T21, T22, T23, halves41_out_gaaa(T27, X74, X76, X77)) → palindrome1_out_g(.(T21, .(T22, T23)))
palindrome1_in_g(.(T88, .(T22, T23))) → U10_g(T88, T22, T23, last24_in_agaa(T22, T23, T88, T27))
U10_g(T88, T22, T23, last24_out_agaa(T22, T23, T88, T27)) → U11_g(T88, T22, T23, halves41_in_gaag(T27, T89, T89, even))
halves41_in_gaag([], [], [], even) → halves41_out_gaag([], [], [], even)
halves41_in_gaag(.(T65, []), .(T65, []), [], odd) → halves41_out_gaag(.(T65, []), .(T65, []), [], odd)
halves41_in_gaag(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187) → U3_gaag(T72, T73, T74, X184, X185, X186, X187, last24_in_agaa(T73, T74, X185, X183))
U3_gaag(T72, T73, T74, X184, X185, X186, X187, last24_out_agaa(T73, T74, X185, X183)) → halves41_out_gaag(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187)
halves41_in_gaag(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187) → U4_gaag(T72, T73, T74, X184, T77, X186, X187, last24_in_agaa(T73, T74, T77, T78))
U4_gaag(T72, T73, T74, X184, T77, X186, X187, last24_out_agaa(T73, T74, T77, T78)) → U5_gaag(T72, T73, T74, X184, T77, X186, X187, halves41_in_gaag(T78, X184, X186, X187))
U5_gaag(T72, T73, T74, X184, T77, X186, X187, halves41_out_gaag(T78, X184, X186, X187)) → halves41_out_gaag(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187)
U11_g(T88, T22, T23, halves41_out_gaag(T27, T89, T89, even)) → palindrome1_out_g(.(T88, .(T22, T23)))
palindrome1_in_g(T92) → U12_g(T92, halves41_in_gaaa(T92, X214, X215, X216))
U12_g(T92, halves41_out_gaaa(T92, X214, X215, X216)) → palindrome1_out_g(T92)
palindrome1_in_g(T92) → U13_g(T92, halves41_in_gaag(T92, T93, T94, odd))
U13_g(T92, halves41_out_gaag(T92, T93, T94, odd)) → U14_g(T92, last70_in_aaa(T93, X217, T94))
last70_in_aaa(.(T107, []), T107, []) → last70_out_aaa(.(T107, []), T107, [])
last70_in_aaa(.(T114, T115), X246, .(T114, T116)) → U6_aaa(T114, T115, X246, T116, last70_in_aaa(T115, X246, T116))
U6_aaa(T114, T115, X246, T116, last70_out_aaa(T115, X246, T116)) → last70_out_aaa(.(T114, T115), X246, .(T114, T116))
U14_g(T92, last70_out_aaa(T93, X217, T94)) → palindrome1_out_g(T92)

The argument filtering Pi contains the following mapping:
palindrome1_in_g(x1)  =  palindrome1_in_g(x1)
[]  =  []
palindrome1_out_g(x1)  =  palindrome1_out_g
.(x1, x2)  =  .(x2)
U7_g(x1, x2, x3, x4)  =  U7_g(x4)
last32_in_gaa(x1, x2, x3)  =  last32_in_gaa(x1)
last32_out_gaa(x1, x2, x3)  =  last32_out_gaa(x3)
U1_gaa(x1, x2, x3, x4, x5)  =  U1_gaa(x5)
U8_g(x1, x2, x3, x4)  =  U8_g(x4)
U9_g(x1, x2, x3, x4)  =  U9_g(x4)
halves41_in_gaaa(x1, x2, x3, x4)  =  halves41_in_gaaa(x1)
halves41_out_gaaa(x1, x2, x3, x4)  =  halves41_out_gaaa
U3_gaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U3_gaaa(x8)
U4_gaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U4_gaaa(x8)
U5_gaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U5_gaaa(x8)
U10_g(x1, x2, x3, x4)  =  U10_g(x4)
U11_g(x1, x2, x3, x4)  =  U11_g(x4)
halves41_in_gaag(x1, x2, x3, x4)  =  halves41_in_gaag(x1, x4)
even  =  even
halves41_out_gaag(x1, x2, x3, x4)  =  halves41_out_gaag
odd  =  odd
U3_gaag(x1, x2, x3, x4, x5, x6, x7, x8)  =  U3_gaag(x8)
U4_gaag(x1, x2, x3, x4, x5, x6, x7, x8)  =  U4_gaag(x7, x8)
U5_gaag(x1, x2, x3, x4, x5, x6, x7, x8)  =  U5_gaag(x8)
U12_g(x1, x2)  =  U12_g(x2)
U13_g(x1, x2)  =  U13_g(x2)
U14_g(x1, x2)  =  U14_g(x2)
last70_in_aaa(x1, x2, x3)  =  last70_in_aaa
last70_out_aaa(x1, x2, x3)  =  last70_out_aaa(x1, x3)
last24_in_agaa(x1, x2, x3, x4)  =  last24_in_agaa(x2)
last24_out_agaa(x1, x2, x3, x4)  =  last24_out_agaa(x4)
U2_agaa(x1, x2, x3, x4, x5)  =  U2_agaa(x5)
U6_aaa(x1, x2, x3, x4, x5)  =  U6_aaa(x5)
LAST70_IN_AAA(x1, x2, x3)  =  LAST70_IN_AAA

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:

LAST70_IN_AAA(.(T114, T115), X246, .(T114, T116)) → LAST70_IN_AAA(T115, X246, T116)

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

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:

LAST70_IN_AAALAST70_IN_AAA

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

(14) 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 = LAST70_IN_AAA evaluates to t =LAST70_IN_AAA

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 LAST70_IN_AAA to LAST70_IN_AAA.



(15) NO

(16) Obligation:

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

LAST32_IN_GAA(.(T54, T55), X139, .(T54, X140)) → LAST32_IN_GAA(T55, X139, X140)

The TRS R consists of the following rules:

palindrome1_in_g([]) → palindrome1_out_g([])
palindrome1_in_g(.(T21, .(T22, T23))) → U7_g(T21, T22, T23, last24_in_agaa(T22, T23, X75, X73))
last24_in_agaa(T34, [], T34, []) → last24_out_agaa(T34, [], T34, [])
last24_in_agaa(T41, T42, X113, .(T41, X114)) → U2_agaa(T41, T42, X113, X114, last32_in_gaa(T42, X113, X114))
last32_in_gaa(.(T49, []), T49, []) → last32_out_gaa(.(T49, []), T49, [])
last32_in_gaa(.(T54, T55), X139, .(T54, X140)) → U1_gaa(T54, T55, X139, X140, last32_in_gaa(T55, X139, X140))
U1_gaa(T54, T55, X139, X140, last32_out_gaa(T55, X139, X140)) → last32_out_gaa(.(T54, T55), X139, .(T54, X140))
U2_agaa(T41, T42, X113, X114, last32_out_gaa(T42, X113, X114)) → last24_out_agaa(T41, T42, X113, .(T41, X114))
U7_g(T21, T22, T23, last24_out_agaa(T22, T23, X75, X73)) → palindrome1_out_g(.(T21, .(T22, T23)))
palindrome1_in_g(.(T21, .(T22, T23))) → U8_g(T21, T22, T23, last24_in_agaa(T22, T23, T26, T27))
U8_g(T21, T22, T23, last24_out_agaa(T22, T23, T26, T27)) → U9_g(T21, T22, T23, halves41_in_gaaa(T27, X74, X76, X77))
halves41_in_gaaa([], [], [], even) → halves41_out_gaaa([], [], [], even)
halves41_in_gaaa(.(T65, []), .(T65, []), [], odd) → halves41_out_gaaa(.(T65, []), .(T65, []), [], odd)
halves41_in_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187) → U3_gaaa(T72, T73, T74, X184, X185, X186, X187, last24_in_agaa(T73, T74, X185, X183))
U3_gaaa(T72, T73, T74, X184, X185, X186, X187, last24_out_agaa(T73, T74, X185, X183)) → halves41_out_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187)
halves41_in_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187) → U4_gaaa(T72, T73, T74, X184, T77, X186, X187, last24_in_agaa(T73, T74, T77, T78))
U4_gaaa(T72, T73, T74, X184, T77, X186, X187, last24_out_agaa(T73, T74, T77, T78)) → U5_gaaa(T72, T73, T74, X184, T77, X186, X187, halves41_in_gaaa(T78, X184, X186, X187))
U5_gaaa(T72, T73, T74, X184, T77, X186, X187, halves41_out_gaaa(T78, X184, X186, X187)) → halves41_out_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187)
U9_g(T21, T22, T23, halves41_out_gaaa(T27, X74, X76, X77)) → palindrome1_out_g(.(T21, .(T22, T23)))
palindrome1_in_g(.(T88, .(T22, T23))) → U10_g(T88, T22, T23, last24_in_agaa(T22, T23, T88, T27))
U10_g(T88, T22, T23, last24_out_agaa(T22, T23, T88, T27)) → U11_g(T88, T22, T23, halves41_in_gaag(T27, T89, T89, even))
halves41_in_gaag([], [], [], even) → halves41_out_gaag([], [], [], even)
halves41_in_gaag(.(T65, []), .(T65, []), [], odd) → halves41_out_gaag(.(T65, []), .(T65, []), [], odd)
halves41_in_gaag(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187) → U3_gaag(T72, T73, T74, X184, X185, X186, X187, last24_in_agaa(T73, T74, X185, X183))
U3_gaag(T72, T73, T74, X184, X185, X186, X187, last24_out_agaa(T73, T74, X185, X183)) → halves41_out_gaag(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187)
halves41_in_gaag(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187) → U4_gaag(T72, T73, T74, X184, T77, X186, X187, last24_in_agaa(T73, T74, T77, T78))
U4_gaag(T72, T73, T74, X184, T77, X186, X187, last24_out_agaa(T73, T74, T77, T78)) → U5_gaag(T72, T73, T74, X184, T77, X186, X187, halves41_in_gaag(T78, X184, X186, X187))
U5_gaag(T72, T73, T74, X184, T77, X186, X187, halves41_out_gaag(T78, X184, X186, X187)) → halves41_out_gaag(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187)
U11_g(T88, T22, T23, halves41_out_gaag(T27, T89, T89, even)) → palindrome1_out_g(.(T88, .(T22, T23)))
palindrome1_in_g(T92) → U12_g(T92, halves41_in_gaaa(T92, X214, X215, X216))
U12_g(T92, halves41_out_gaaa(T92, X214, X215, X216)) → palindrome1_out_g(T92)
palindrome1_in_g(T92) → U13_g(T92, halves41_in_gaag(T92, T93, T94, odd))
U13_g(T92, halves41_out_gaag(T92, T93, T94, odd)) → U14_g(T92, last70_in_aaa(T93, X217, T94))
last70_in_aaa(.(T107, []), T107, []) → last70_out_aaa(.(T107, []), T107, [])
last70_in_aaa(.(T114, T115), X246, .(T114, T116)) → U6_aaa(T114, T115, X246, T116, last70_in_aaa(T115, X246, T116))
U6_aaa(T114, T115, X246, T116, last70_out_aaa(T115, X246, T116)) → last70_out_aaa(.(T114, T115), X246, .(T114, T116))
U14_g(T92, last70_out_aaa(T93, X217, T94)) → palindrome1_out_g(T92)

The argument filtering Pi contains the following mapping:
palindrome1_in_g(x1)  =  palindrome1_in_g(x1)
[]  =  []
palindrome1_out_g(x1)  =  palindrome1_out_g
.(x1, x2)  =  .(x2)
U7_g(x1, x2, x3, x4)  =  U7_g(x4)
last32_in_gaa(x1, x2, x3)  =  last32_in_gaa(x1)
last32_out_gaa(x1, x2, x3)  =  last32_out_gaa(x3)
U1_gaa(x1, x2, x3, x4, x5)  =  U1_gaa(x5)
U8_g(x1, x2, x3, x4)  =  U8_g(x4)
U9_g(x1, x2, x3, x4)  =  U9_g(x4)
halves41_in_gaaa(x1, x2, x3, x4)  =  halves41_in_gaaa(x1)
halves41_out_gaaa(x1, x2, x3, x4)  =  halves41_out_gaaa
U3_gaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U3_gaaa(x8)
U4_gaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U4_gaaa(x8)
U5_gaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U5_gaaa(x8)
U10_g(x1, x2, x3, x4)  =  U10_g(x4)
U11_g(x1, x2, x3, x4)  =  U11_g(x4)
halves41_in_gaag(x1, x2, x3, x4)  =  halves41_in_gaag(x1, x4)
even  =  even
halves41_out_gaag(x1, x2, x3, x4)  =  halves41_out_gaag
odd  =  odd
U3_gaag(x1, x2, x3, x4, x5, x6, x7, x8)  =  U3_gaag(x8)
U4_gaag(x1, x2, x3, x4, x5, x6, x7, x8)  =  U4_gaag(x7, x8)
U5_gaag(x1, x2, x3, x4, x5, x6, x7, x8)  =  U5_gaag(x8)
U12_g(x1, x2)  =  U12_g(x2)
U13_g(x1, x2)  =  U13_g(x2)
U14_g(x1, x2)  =  U14_g(x2)
last70_in_aaa(x1, x2, x3)  =  last70_in_aaa
last70_out_aaa(x1, x2, x3)  =  last70_out_aaa(x1, x3)
last24_in_agaa(x1, x2, x3, x4)  =  last24_in_agaa(x2)
last24_out_agaa(x1, x2, x3, x4)  =  last24_out_agaa(x4)
U2_agaa(x1, x2, x3, x4, x5)  =  U2_agaa(x5)
U6_aaa(x1, x2, x3, x4, x5)  =  U6_aaa(x5)
LAST32_IN_GAA(x1, x2, x3)  =  LAST32_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:

LAST32_IN_GAA(.(T54, T55), X139, .(T54, X140)) → LAST32_IN_GAA(T55, X139, X140)

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

LAST32_IN_GAA(.(T55)) → LAST32_IN_GAA(T55)

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:

  • LAST32_IN_GAA(.(T55)) → LAST32_IN_GAA(T55)
    The graph contains the following edges 1 > 1

(22) YES

(23) Obligation:

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

HALVES41_IN_GAAG(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187) → U4_GAAG(T72, T73, T74, X184, T77, X186, X187, last24_in_agaa(T73, T74, T77, T78))
U4_GAAG(T72, T73, T74, X184, T77, X186, X187, last24_out_agaa(T73, T74, T77, T78)) → HALVES41_IN_GAAG(T78, X184, X186, X187)

The TRS R consists of the following rules:

palindrome1_in_g([]) → palindrome1_out_g([])
palindrome1_in_g(.(T21, .(T22, T23))) → U7_g(T21, T22, T23, last24_in_agaa(T22, T23, X75, X73))
last24_in_agaa(T34, [], T34, []) → last24_out_agaa(T34, [], T34, [])
last24_in_agaa(T41, T42, X113, .(T41, X114)) → U2_agaa(T41, T42, X113, X114, last32_in_gaa(T42, X113, X114))
last32_in_gaa(.(T49, []), T49, []) → last32_out_gaa(.(T49, []), T49, [])
last32_in_gaa(.(T54, T55), X139, .(T54, X140)) → U1_gaa(T54, T55, X139, X140, last32_in_gaa(T55, X139, X140))
U1_gaa(T54, T55, X139, X140, last32_out_gaa(T55, X139, X140)) → last32_out_gaa(.(T54, T55), X139, .(T54, X140))
U2_agaa(T41, T42, X113, X114, last32_out_gaa(T42, X113, X114)) → last24_out_agaa(T41, T42, X113, .(T41, X114))
U7_g(T21, T22, T23, last24_out_agaa(T22, T23, X75, X73)) → palindrome1_out_g(.(T21, .(T22, T23)))
palindrome1_in_g(.(T21, .(T22, T23))) → U8_g(T21, T22, T23, last24_in_agaa(T22, T23, T26, T27))
U8_g(T21, T22, T23, last24_out_agaa(T22, T23, T26, T27)) → U9_g(T21, T22, T23, halves41_in_gaaa(T27, X74, X76, X77))
halves41_in_gaaa([], [], [], even) → halves41_out_gaaa([], [], [], even)
halves41_in_gaaa(.(T65, []), .(T65, []), [], odd) → halves41_out_gaaa(.(T65, []), .(T65, []), [], odd)
halves41_in_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187) → U3_gaaa(T72, T73, T74, X184, X185, X186, X187, last24_in_agaa(T73, T74, X185, X183))
U3_gaaa(T72, T73, T74, X184, X185, X186, X187, last24_out_agaa(T73, T74, X185, X183)) → halves41_out_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187)
halves41_in_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187) → U4_gaaa(T72, T73, T74, X184, T77, X186, X187, last24_in_agaa(T73, T74, T77, T78))
U4_gaaa(T72, T73, T74, X184, T77, X186, X187, last24_out_agaa(T73, T74, T77, T78)) → U5_gaaa(T72, T73, T74, X184, T77, X186, X187, halves41_in_gaaa(T78, X184, X186, X187))
U5_gaaa(T72, T73, T74, X184, T77, X186, X187, halves41_out_gaaa(T78, X184, X186, X187)) → halves41_out_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187)
U9_g(T21, T22, T23, halves41_out_gaaa(T27, X74, X76, X77)) → palindrome1_out_g(.(T21, .(T22, T23)))
palindrome1_in_g(.(T88, .(T22, T23))) → U10_g(T88, T22, T23, last24_in_agaa(T22, T23, T88, T27))
U10_g(T88, T22, T23, last24_out_agaa(T22, T23, T88, T27)) → U11_g(T88, T22, T23, halves41_in_gaag(T27, T89, T89, even))
halves41_in_gaag([], [], [], even) → halves41_out_gaag([], [], [], even)
halves41_in_gaag(.(T65, []), .(T65, []), [], odd) → halves41_out_gaag(.(T65, []), .(T65, []), [], odd)
halves41_in_gaag(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187) → U3_gaag(T72, T73, T74, X184, X185, X186, X187, last24_in_agaa(T73, T74, X185, X183))
U3_gaag(T72, T73, T74, X184, X185, X186, X187, last24_out_agaa(T73, T74, X185, X183)) → halves41_out_gaag(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187)
halves41_in_gaag(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187) → U4_gaag(T72, T73, T74, X184, T77, X186, X187, last24_in_agaa(T73, T74, T77, T78))
U4_gaag(T72, T73, T74, X184, T77, X186, X187, last24_out_agaa(T73, T74, T77, T78)) → U5_gaag(T72, T73, T74, X184, T77, X186, X187, halves41_in_gaag(T78, X184, X186, X187))
U5_gaag(T72, T73, T74, X184, T77, X186, X187, halves41_out_gaag(T78, X184, X186, X187)) → halves41_out_gaag(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187)
U11_g(T88, T22, T23, halves41_out_gaag(T27, T89, T89, even)) → palindrome1_out_g(.(T88, .(T22, T23)))
palindrome1_in_g(T92) → U12_g(T92, halves41_in_gaaa(T92, X214, X215, X216))
U12_g(T92, halves41_out_gaaa(T92, X214, X215, X216)) → palindrome1_out_g(T92)
palindrome1_in_g(T92) → U13_g(T92, halves41_in_gaag(T92, T93, T94, odd))
U13_g(T92, halves41_out_gaag(T92, T93, T94, odd)) → U14_g(T92, last70_in_aaa(T93, X217, T94))
last70_in_aaa(.(T107, []), T107, []) → last70_out_aaa(.(T107, []), T107, [])
last70_in_aaa(.(T114, T115), X246, .(T114, T116)) → U6_aaa(T114, T115, X246, T116, last70_in_aaa(T115, X246, T116))
U6_aaa(T114, T115, X246, T116, last70_out_aaa(T115, X246, T116)) → last70_out_aaa(.(T114, T115), X246, .(T114, T116))
U14_g(T92, last70_out_aaa(T93, X217, T94)) → palindrome1_out_g(T92)

The argument filtering Pi contains the following mapping:
palindrome1_in_g(x1)  =  palindrome1_in_g(x1)
[]  =  []
palindrome1_out_g(x1)  =  palindrome1_out_g
.(x1, x2)  =  .(x2)
U7_g(x1, x2, x3, x4)  =  U7_g(x4)
last32_in_gaa(x1, x2, x3)  =  last32_in_gaa(x1)
last32_out_gaa(x1, x2, x3)  =  last32_out_gaa(x3)
U1_gaa(x1, x2, x3, x4, x5)  =  U1_gaa(x5)
U8_g(x1, x2, x3, x4)  =  U8_g(x4)
U9_g(x1, x2, x3, x4)  =  U9_g(x4)
halves41_in_gaaa(x1, x2, x3, x4)  =  halves41_in_gaaa(x1)
halves41_out_gaaa(x1, x2, x3, x4)  =  halves41_out_gaaa
U3_gaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U3_gaaa(x8)
U4_gaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U4_gaaa(x8)
U5_gaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U5_gaaa(x8)
U10_g(x1, x2, x3, x4)  =  U10_g(x4)
U11_g(x1, x2, x3, x4)  =  U11_g(x4)
halves41_in_gaag(x1, x2, x3, x4)  =  halves41_in_gaag(x1, x4)
even  =  even
halves41_out_gaag(x1, x2, x3, x4)  =  halves41_out_gaag
odd  =  odd
U3_gaag(x1, x2, x3, x4, x5, x6, x7, x8)  =  U3_gaag(x8)
U4_gaag(x1, x2, x3, x4, x5, x6, x7, x8)  =  U4_gaag(x7, x8)
U5_gaag(x1, x2, x3, x4, x5, x6, x7, x8)  =  U5_gaag(x8)
U12_g(x1, x2)  =  U12_g(x2)
U13_g(x1, x2)  =  U13_g(x2)
U14_g(x1, x2)  =  U14_g(x2)
last70_in_aaa(x1, x2, x3)  =  last70_in_aaa
last70_out_aaa(x1, x2, x3)  =  last70_out_aaa(x1, x3)
last24_in_agaa(x1, x2, x3, x4)  =  last24_in_agaa(x2)
last24_out_agaa(x1, x2, x3, x4)  =  last24_out_agaa(x4)
U2_agaa(x1, x2, x3, x4, x5)  =  U2_agaa(x5)
U6_aaa(x1, x2, x3, x4, x5)  =  U6_aaa(x5)
HALVES41_IN_GAAG(x1, x2, x3, x4)  =  HALVES41_IN_GAAG(x1, x4)
U4_GAAG(x1, x2, x3, x4, x5, x6, x7, x8)  =  U4_GAAG(x7, x8)

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:

HALVES41_IN_GAAG(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187) → U4_GAAG(T72, T73, T74, X184, T77, X186, X187, last24_in_agaa(T73, T74, T77, T78))
U4_GAAG(T72, T73, T74, X184, T77, X186, X187, last24_out_agaa(T73, T74, T77, T78)) → HALVES41_IN_GAAG(T78, X184, X186, X187)

The TRS R consists of the following rules:

last24_in_agaa(T34, [], T34, []) → last24_out_agaa(T34, [], T34, [])
last24_in_agaa(T41, T42, X113, .(T41, X114)) → U2_agaa(T41, T42, X113, X114, last32_in_gaa(T42, X113, X114))
U2_agaa(T41, T42, X113, X114, last32_out_gaa(T42, X113, X114)) → last24_out_agaa(T41, T42, X113, .(T41, X114))
last32_in_gaa(.(T49, []), T49, []) → last32_out_gaa(.(T49, []), T49, [])
last32_in_gaa(.(T54, T55), X139, .(T54, X140)) → U1_gaa(T54, T55, X139, X140, last32_in_gaa(T55, X139, X140))
U1_gaa(T54, T55, X139, X140, last32_out_gaa(T55, X139, X140)) → last32_out_gaa(.(T54, T55), X139, .(T54, X140))

The argument filtering Pi contains the following mapping:
[]  =  []
.(x1, x2)  =  .(x2)
last32_in_gaa(x1, x2, x3)  =  last32_in_gaa(x1)
last32_out_gaa(x1, x2, x3)  =  last32_out_gaa(x3)
U1_gaa(x1, x2, x3, x4, x5)  =  U1_gaa(x5)
last24_in_agaa(x1, x2, x3, x4)  =  last24_in_agaa(x2)
last24_out_agaa(x1, x2, x3, x4)  =  last24_out_agaa(x4)
U2_agaa(x1, x2, x3, x4, x5)  =  U2_agaa(x5)
HALVES41_IN_GAAG(x1, x2, x3, x4)  =  HALVES41_IN_GAAG(x1, x4)
U4_GAAG(x1, x2, x3, x4, x5, x6, x7, x8)  =  U4_GAAG(x7, x8)

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:

HALVES41_IN_GAAG(.(.(T74)), X187) → U4_GAAG(X187, last24_in_agaa(T74))
U4_GAAG(X187, last24_out_agaa(T78)) → HALVES41_IN_GAAG(T78, X187)

The TRS R consists of the following rules:

last24_in_agaa([]) → last24_out_agaa([])
last24_in_agaa(T42) → U2_agaa(last32_in_gaa(T42))
U2_agaa(last32_out_gaa(X114)) → last24_out_agaa(.(X114))
last32_in_gaa(.([])) → last32_out_gaa([])
last32_in_gaa(.(T55)) → U1_gaa(last32_in_gaa(T55))
U1_gaa(last32_out_gaa(X140)) → last32_out_gaa(.(X140))

The set Q consists of the following terms:

last24_in_agaa(x0)
U2_agaa(x0)
last32_in_gaa(x0)
U1_gaa(x0)

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

(28) MRRProof (EQUIVALENT transformation)

By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented.
Strictly oriented dependency pairs:

HALVES41_IN_GAAG(.(.(T74)), X187) → U4_GAAG(X187, last24_in_agaa(T74))
U4_GAAG(X187, last24_out_agaa(T78)) → HALVES41_IN_GAAG(T78, X187)

Strictly oriented rules of the TRS R:

last24_in_agaa([]) → last24_out_agaa([])
last24_in_agaa(T42) → U2_agaa(last32_in_gaa(T42))
U2_agaa(last32_out_gaa(X114)) → last24_out_agaa(.(X114))
last32_in_gaa(.([])) → last32_out_gaa([])

Used ordering: Polynomial interpretation [POLO]:

POL(.(x1)) = 3 + x1   
POL(HALVES41_IN_GAAG(x1, x2)) = x1 + x2   
POL(U1_gaa(x1)) = 3 + x1   
POL(U2_agaa(x1)) = x1   
POL(U4_GAAG(x1, x2)) = 1 + x1 + x2   
POL([]) = 0   
POL(last24_in_agaa(x1)) = 3 + x1   
POL(last24_out_agaa(x1)) = x1   
POL(last32_in_gaa(x1)) = 2 + x1   
POL(last32_out_gaa(x1)) = 4 + x1   

(29) Obligation:

Q DP problem:
P is empty.
The TRS R consists of the following rules:

last32_in_gaa(.(T55)) → U1_gaa(last32_in_gaa(T55))
U1_gaa(last32_out_gaa(X140)) → last32_out_gaa(.(X140))

The set Q consists of the following terms:

last24_in_agaa(x0)
U2_agaa(x0)
last32_in_gaa(x0)
U1_gaa(x0)

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

(30) PisEmptyProof (EQUIVALENT transformation)

The TRS P is empty. Hence, there is no (P,Q,R) chain.

(31) YES

(32) Obligation:

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

HALVES41_IN_GAAA(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187) → U4_GAAA(T72, T73, T74, X184, T77, X186, X187, last24_in_agaa(T73, T74, T77, T78))
U4_GAAA(T72, T73, T74, X184, T77, X186, X187, last24_out_agaa(T73, T74, T77, T78)) → HALVES41_IN_GAAA(T78, X184, X186, X187)

The TRS R consists of the following rules:

palindrome1_in_g([]) → palindrome1_out_g([])
palindrome1_in_g(.(T21, .(T22, T23))) → U7_g(T21, T22, T23, last24_in_agaa(T22, T23, X75, X73))
last24_in_agaa(T34, [], T34, []) → last24_out_agaa(T34, [], T34, [])
last24_in_agaa(T41, T42, X113, .(T41, X114)) → U2_agaa(T41, T42, X113, X114, last32_in_gaa(T42, X113, X114))
last32_in_gaa(.(T49, []), T49, []) → last32_out_gaa(.(T49, []), T49, [])
last32_in_gaa(.(T54, T55), X139, .(T54, X140)) → U1_gaa(T54, T55, X139, X140, last32_in_gaa(T55, X139, X140))
U1_gaa(T54, T55, X139, X140, last32_out_gaa(T55, X139, X140)) → last32_out_gaa(.(T54, T55), X139, .(T54, X140))
U2_agaa(T41, T42, X113, X114, last32_out_gaa(T42, X113, X114)) → last24_out_agaa(T41, T42, X113, .(T41, X114))
U7_g(T21, T22, T23, last24_out_agaa(T22, T23, X75, X73)) → palindrome1_out_g(.(T21, .(T22, T23)))
palindrome1_in_g(.(T21, .(T22, T23))) → U8_g(T21, T22, T23, last24_in_agaa(T22, T23, T26, T27))
U8_g(T21, T22, T23, last24_out_agaa(T22, T23, T26, T27)) → U9_g(T21, T22, T23, halves41_in_gaaa(T27, X74, X76, X77))
halves41_in_gaaa([], [], [], even) → halves41_out_gaaa([], [], [], even)
halves41_in_gaaa(.(T65, []), .(T65, []), [], odd) → halves41_out_gaaa(.(T65, []), .(T65, []), [], odd)
halves41_in_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187) → U3_gaaa(T72, T73, T74, X184, X185, X186, X187, last24_in_agaa(T73, T74, X185, X183))
U3_gaaa(T72, T73, T74, X184, X185, X186, X187, last24_out_agaa(T73, T74, X185, X183)) → halves41_out_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187)
halves41_in_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187) → U4_gaaa(T72, T73, T74, X184, T77, X186, X187, last24_in_agaa(T73, T74, T77, T78))
U4_gaaa(T72, T73, T74, X184, T77, X186, X187, last24_out_agaa(T73, T74, T77, T78)) → U5_gaaa(T72, T73, T74, X184, T77, X186, X187, halves41_in_gaaa(T78, X184, X186, X187))
U5_gaaa(T72, T73, T74, X184, T77, X186, X187, halves41_out_gaaa(T78, X184, X186, X187)) → halves41_out_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187)
U9_g(T21, T22, T23, halves41_out_gaaa(T27, X74, X76, X77)) → palindrome1_out_g(.(T21, .(T22, T23)))
palindrome1_in_g(.(T88, .(T22, T23))) → U10_g(T88, T22, T23, last24_in_agaa(T22, T23, T88, T27))
U10_g(T88, T22, T23, last24_out_agaa(T22, T23, T88, T27)) → U11_g(T88, T22, T23, halves41_in_gaag(T27, T89, T89, even))
halves41_in_gaag([], [], [], even) → halves41_out_gaag([], [], [], even)
halves41_in_gaag(.(T65, []), .(T65, []), [], odd) → halves41_out_gaag(.(T65, []), .(T65, []), [], odd)
halves41_in_gaag(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187) → U3_gaag(T72, T73, T74, X184, X185, X186, X187, last24_in_agaa(T73, T74, X185, X183))
U3_gaag(T72, T73, T74, X184, X185, X186, X187, last24_out_agaa(T73, T74, X185, X183)) → halves41_out_gaag(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187)
halves41_in_gaag(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187) → U4_gaag(T72, T73, T74, X184, T77, X186, X187, last24_in_agaa(T73, T74, T77, T78))
U4_gaag(T72, T73, T74, X184, T77, X186, X187, last24_out_agaa(T73, T74, T77, T78)) → U5_gaag(T72, T73, T74, X184, T77, X186, X187, halves41_in_gaag(T78, X184, X186, X187))
U5_gaag(T72, T73, T74, X184, T77, X186, X187, halves41_out_gaag(T78, X184, X186, X187)) → halves41_out_gaag(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187)
U11_g(T88, T22, T23, halves41_out_gaag(T27, T89, T89, even)) → palindrome1_out_g(.(T88, .(T22, T23)))
palindrome1_in_g(T92) → U12_g(T92, halves41_in_gaaa(T92, X214, X215, X216))
U12_g(T92, halves41_out_gaaa(T92, X214, X215, X216)) → palindrome1_out_g(T92)
palindrome1_in_g(T92) → U13_g(T92, halves41_in_gaag(T92, T93, T94, odd))
U13_g(T92, halves41_out_gaag(T92, T93, T94, odd)) → U14_g(T92, last70_in_aaa(T93, X217, T94))
last70_in_aaa(.(T107, []), T107, []) → last70_out_aaa(.(T107, []), T107, [])
last70_in_aaa(.(T114, T115), X246, .(T114, T116)) → U6_aaa(T114, T115, X246, T116, last70_in_aaa(T115, X246, T116))
U6_aaa(T114, T115, X246, T116, last70_out_aaa(T115, X246, T116)) → last70_out_aaa(.(T114, T115), X246, .(T114, T116))
U14_g(T92, last70_out_aaa(T93, X217, T94)) → palindrome1_out_g(T92)

The argument filtering Pi contains the following mapping:
palindrome1_in_g(x1)  =  palindrome1_in_g(x1)
[]  =  []
palindrome1_out_g(x1)  =  palindrome1_out_g
.(x1, x2)  =  .(x2)
U7_g(x1, x2, x3, x4)  =  U7_g(x4)
last32_in_gaa(x1, x2, x3)  =  last32_in_gaa(x1)
last32_out_gaa(x1, x2, x3)  =  last32_out_gaa(x3)
U1_gaa(x1, x2, x3, x4, x5)  =  U1_gaa(x5)
U8_g(x1, x2, x3, x4)  =  U8_g(x4)
U9_g(x1, x2, x3, x4)  =  U9_g(x4)
halves41_in_gaaa(x1, x2, x3, x4)  =  halves41_in_gaaa(x1)
halves41_out_gaaa(x1, x2, x3, x4)  =  halves41_out_gaaa
U3_gaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U3_gaaa(x8)
U4_gaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U4_gaaa(x8)
U5_gaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U5_gaaa(x8)
U10_g(x1, x2, x3, x4)  =  U10_g(x4)
U11_g(x1, x2, x3, x4)  =  U11_g(x4)
halves41_in_gaag(x1, x2, x3, x4)  =  halves41_in_gaag(x1, x4)
even  =  even
halves41_out_gaag(x1, x2, x3, x4)  =  halves41_out_gaag
odd  =  odd
U3_gaag(x1, x2, x3, x4, x5, x6, x7, x8)  =  U3_gaag(x8)
U4_gaag(x1, x2, x3, x4, x5, x6, x7, x8)  =  U4_gaag(x7, x8)
U5_gaag(x1, x2, x3, x4, x5, x6, x7, x8)  =  U5_gaag(x8)
U12_g(x1, x2)  =  U12_g(x2)
U13_g(x1, x2)  =  U13_g(x2)
U14_g(x1, x2)  =  U14_g(x2)
last70_in_aaa(x1, x2, x3)  =  last70_in_aaa
last70_out_aaa(x1, x2, x3)  =  last70_out_aaa(x1, x3)
last24_in_agaa(x1, x2, x3, x4)  =  last24_in_agaa(x2)
last24_out_agaa(x1, x2, x3, x4)  =  last24_out_agaa(x4)
U2_agaa(x1, x2, x3, x4, x5)  =  U2_agaa(x5)
U6_aaa(x1, x2, x3, x4, x5)  =  U6_aaa(x5)
HALVES41_IN_GAAA(x1, x2, x3, x4)  =  HALVES41_IN_GAAA(x1)
U4_GAAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U4_GAAA(x8)

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

(33) UsableRulesProof (EQUIVALENT transformation)

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

(34) Obligation:

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

HALVES41_IN_GAAA(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187) → U4_GAAA(T72, T73, T74, X184, T77, X186, X187, last24_in_agaa(T73, T74, T77, T78))
U4_GAAA(T72, T73, T74, X184, T77, X186, X187, last24_out_agaa(T73, T74, T77, T78)) → HALVES41_IN_GAAA(T78, X184, X186, X187)

The TRS R consists of the following rules:

last24_in_agaa(T34, [], T34, []) → last24_out_agaa(T34, [], T34, [])
last24_in_agaa(T41, T42, X113, .(T41, X114)) → U2_agaa(T41, T42, X113, X114, last32_in_gaa(T42, X113, X114))
U2_agaa(T41, T42, X113, X114, last32_out_gaa(T42, X113, X114)) → last24_out_agaa(T41, T42, X113, .(T41, X114))
last32_in_gaa(.(T49, []), T49, []) → last32_out_gaa(.(T49, []), T49, [])
last32_in_gaa(.(T54, T55), X139, .(T54, X140)) → U1_gaa(T54, T55, X139, X140, last32_in_gaa(T55, X139, X140))
U1_gaa(T54, T55, X139, X140, last32_out_gaa(T55, X139, X140)) → last32_out_gaa(.(T54, T55), X139, .(T54, X140))

The argument filtering Pi contains the following mapping:
[]  =  []
.(x1, x2)  =  .(x2)
last32_in_gaa(x1, x2, x3)  =  last32_in_gaa(x1)
last32_out_gaa(x1, x2, x3)  =  last32_out_gaa(x3)
U1_gaa(x1, x2, x3, x4, x5)  =  U1_gaa(x5)
last24_in_agaa(x1, x2, x3, x4)  =  last24_in_agaa(x2)
last24_out_agaa(x1, x2, x3, x4)  =  last24_out_agaa(x4)
U2_agaa(x1, x2, x3, x4, x5)  =  U2_agaa(x5)
HALVES41_IN_GAAA(x1, x2, x3, x4)  =  HALVES41_IN_GAAA(x1)
U4_GAAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U4_GAAA(x8)

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

(35) PiDPToQDPProof (SOUND transformation)

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

(36) Obligation:

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

HALVES41_IN_GAAA(.(.(T74))) → U4_GAAA(last24_in_agaa(T74))
U4_GAAA(last24_out_agaa(T78)) → HALVES41_IN_GAAA(T78)

The TRS R consists of the following rules:

last24_in_agaa([]) → last24_out_agaa([])
last24_in_agaa(T42) → U2_agaa(last32_in_gaa(T42))
U2_agaa(last32_out_gaa(X114)) → last24_out_agaa(.(X114))
last32_in_gaa(.([])) → last32_out_gaa([])
last32_in_gaa(.(T55)) → U1_gaa(last32_in_gaa(T55))
U1_gaa(last32_out_gaa(X140)) → last32_out_gaa(.(X140))

The set Q consists of the following terms:

last24_in_agaa(x0)
U2_agaa(x0)
last32_in_gaa(x0)
U1_gaa(x0)

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

(37) MRRProof (EQUIVALENT transformation)

By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented.
Strictly oriented dependency pairs:

HALVES41_IN_GAAA(.(.(T74))) → U4_GAAA(last24_in_agaa(T74))
U4_GAAA(last24_out_agaa(T78)) → HALVES41_IN_GAAA(T78)

Strictly oriented rules of the TRS R:

last24_in_agaa([]) → last24_out_agaa([])
last24_in_agaa(T42) → U2_agaa(last32_in_gaa(T42))
U2_agaa(last32_out_gaa(X114)) → last24_out_agaa(.(X114))
last32_in_gaa(.([])) → last32_out_gaa([])

Used ordering: Polynomial interpretation [POLO]:

POL(.(x1)) = 3 + x1   
POL(HALVES41_IN_GAAA(x1)) = x1   
POL(U1_gaa(x1)) = 3 + x1   
POL(U2_agaa(x1)) = x1   
POL(U4_GAAA(x1)) = 1 + x1   
POL([]) = 0   
POL(last24_in_agaa(x1)) = 3 + x1   
POL(last24_out_agaa(x1)) = x1   
POL(last32_in_gaa(x1)) = 2 + x1   
POL(last32_out_gaa(x1)) = 4 + x1   

(38) Obligation:

Q DP problem:
P is empty.
The TRS R consists of the following rules:

last32_in_gaa(.(T55)) → U1_gaa(last32_in_gaa(T55))
U1_gaa(last32_out_gaa(X140)) → last32_out_gaa(.(X140))

The set Q consists of the following terms:

last24_in_agaa(x0)
U2_agaa(x0)
last32_in_gaa(x0)
U1_gaa(x0)

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

(39) PisEmptyProof (EQUIVALENT transformation)

The TRS P is empty. Hence, there is no (P,Q,R) chain.

(40) YES

(41) PrologToPiTRSProof (SOUND transformation)

We use the technique of [LOPSTR]. With regard to the inferred argument filtering the predicates were used in the following modes:
palindrome1_in: (b)
last24_in: (f,b,f,f)
last32_in: (b,f,f)
halves41_in: (b,f,f,f) (b,f,f,b)
last70_in: (f,f,f)
Transforming Prolog into the following Term Rewriting System:
Pi-finite rewrite system:
The TRS R consists of the following rules:

palindrome1_in_g([]) → palindrome1_out_g([])
palindrome1_in_g(.(T21, .(T22, T23))) → U7_g(T21, T22, T23, last24_in_agaa(T22, T23, X75, X73))
last24_in_agaa(T34, [], T34, []) → last24_out_agaa(T34, [], T34, [])
last24_in_agaa(T41, T42, X113, .(T41, X114)) → U2_agaa(T41, T42, X113, X114, last32_in_gaa(T42, X113, X114))
last32_in_gaa(.(T49, []), T49, []) → last32_out_gaa(.(T49, []), T49, [])
last32_in_gaa(.(T54, T55), X139, .(T54, X140)) → U1_gaa(T54, T55, X139, X140, last32_in_gaa(T55, X139, X140))
U1_gaa(T54, T55, X139, X140, last32_out_gaa(T55, X139, X140)) → last32_out_gaa(.(T54, T55), X139, .(T54, X140))
U2_agaa(T41, T42, X113, X114, last32_out_gaa(T42, X113, X114)) → last24_out_agaa(T41, T42, X113, .(T41, X114))
U7_g(T21, T22, T23, last24_out_agaa(T22, T23, X75, X73)) → palindrome1_out_g(.(T21, .(T22, T23)))
palindrome1_in_g(.(T21, .(T22, T23))) → U8_g(T21, T22, T23, last24_in_agaa(T22, T23, T26, T27))
U8_g(T21, T22, T23, last24_out_agaa(T22, T23, T26, T27)) → U9_g(T21, T22, T23, halves41_in_gaaa(T27, X74, X76, X77))
halves41_in_gaaa([], [], [], even) → halves41_out_gaaa([], [], [], even)
halves41_in_gaaa(.(T65, []), .(T65, []), [], odd) → halves41_out_gaaa(.(T65, []), .(T65, []), [], odd)
halves41_in_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187) → U3_gaaa(T72, T73, T74, X184, X185, X186, X187, last24_in_agaa(T73, T74, X185, X183))
U3_gaaa(T72, T73, T74, X184, X185, X186, X187, last24_out_agaa(T73, T74, X185, X183)) → halves41_out_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187)
halves41_in_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187) → U4_gaaa(T72, T73, T74, X184, T77, X186, X187, last24_in_agaa(T73, T74, T77, T78))
U4_gaaa(T72, T73, T74, X184, T77, X186, X187, last24_out_agaa(T73, T74, T77, T78)) → U5_gaaa(T72, T73, T74, X184, T77, X186, X187, halves41_in_gaaa(T78, X184, X186, X187))
U5_gaaa(T72, T73, T74, X184, T77, X186, X187, halves41_out_gaaa(T78, X184, X186, X187)) → halves41_out_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187)
U9_g(T21, T22, T23, halves41_out_gaaa(T27, X74, X76, X77)) → palindrome1_out_g(.(T21, .(T22, T23)))
palindrome1_in_g(.(T88, .(T22, T23))) → U10_g(T88, T22, T23, last24_in_agaa(T22, T23, T88, T27))
U10_g(T88, T22, T23, last24_out_agaa(T22, T23, T88, T27)) → U11_g(T88, T22, T23, halves41_in_gaag(T27, T89, T89, even))
halves41_in_gaag([], [], [], even) → halves41_out_gaag([], [], [], even)
halves41_in_gaag(.(T65, []), .(T65, []), [], odd) → halves41_out_gaag(.(T65, []), .(T65, []), [], odd)
halves41_in_gaag(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187) → U3_gaag(T72, T73, T74, X184, X185, X186, X187, last24_in_agaa(T73, T74, X185, X183))
U3_gaag(T72, T73, T74, X184, X185, X186, X187, last24_out_agaa(T73, T74, X185, X183)) → halves41_out_gaag(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187)
halves41_in_gaag(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187) → U4_gaag(T72, T73, T74, X184, T77, X186, X187, last24_in_agaa(T73, T74, T77, T78))
U4_gaag(T72, T73, T74, X184, T77, X186, X187, last24_out_agaa(T73, T74, T77, T78)) → U5_gaag(T72, T73, T74, X184, T77, X186, X187, halves41_in_gaag(T78, X184, X186, X187))
U5_gaag(T72, T73, T74, X184, T77, X186, X187, halves41_out_gaag(T78, X184, X186, X187)) → halves41_out_gaag(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187)
U11_g(T88, T22, T23, halves41_out_gaag(T27, T89, T89, even)) → palindrome1_out_g(.(T88, .(T22, T23)))
palindrome1_in_g(T92) → U12_g(T92, halves41_in_gaaa(T92, X214, X215, X216))
U12_g(T92, halves41_out_gaaa(T92, X214, X215, X216)) → palindrome1_out_g(T92)
palindrome1_in_g(T92) → U13_g(T92, halves41_in_gaag(T92, T93, T94, odd))
U13_g(T92, halves41_out_gaag(T92, T93, T94, odd)) → U14_g(T92, last70_in_aaa(T93, X217, T94))
last70_in_aaa(.(T107, []), T107, []) → last70_out_aaa(.(T107, []), T107, [])
last70_in_aaa(.(T114, T115), X246, .(T114, T116)) → U6_aaa(T114, T115, X246, T116, last70_in_aaa(T115, X246, T116))
U6_aaa(T114, T115, X246, T116, last70_out_aaa(T115, X246, T116)) → last70_out_aaa(.(T114, T115), X246, .(T114, T116))
U14_g(T92, last70_out_aaa(T93, X217, T94)) → palindrome1_out_g(T92)

The argument filtering Pi contains the following mapping:
palindrome1_in_g(x1)  =  palindrome1_in_g(x1)
[]  =  []
palindrome1_out_g(x1)  =  palindrome1_out_g(x1)
.(x1, x2)  =  .(x2)
U7_g(x1, x2, x3, x4)  =  U7_g(x3, x4)
last32_in_gaa(x1, x2, x3)  =  last32_in_gaa(x1)
last32_out_gaa(x1, x2, x3)  =  last32_out_gaa(x1, x3)
U1_gaa(x1, x2, x3, x4, x5)  =  U1_gaa(x2, x5)
U8_g(x1, x2, x3, x4)  =  U8_g(x3, x4)
U9_g(x1, x2, x3, x4)  =  U9_g(x3, x4)
halves41_in_gaaa(x1, x2, x3, x4)  =  halves41_in_gaaa(x1)
halves41_out_gaaa(x1, x2, x3, x4)  =  halves41_out_gaaa(x1)
U3_gaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U3_gaaa(x3, x8)
U4_gaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U4_gaaa(x3, x8)
U5_gaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U5_gaaa(x3, x8)
U10_g(x1, x2, x3, x4)  =  U10_g(x3, x4)
U11_g(x1, x2, x3, x4)  =  U11_g(x3, x4)
halves41_in_gaag(x1, x2, x3, x4)  =  halves41_in_gaag(x1, x4)
even  =  even
halves41_out_gaag(x1, x2, x3, x4)  =  halves41_out_gaag(x1, x4)
odd  =  odd
U3_gaag(x1, x2, x3, x4, x5, x6, x7, x8)  =  U3_gaag(x3, x7, x8)
U4_gaag(x1, x2, x3, x4, x5, x6, x7, x8)  =  U4_gaag(x3, x7, x8)
U5_gaag(x1, x2, x3, x4, x5, x6, x7, x8)  =  U5_gaag(x3, x7, x8)
U12_g(x1, x2)  =  U12_g(x1, x2)
U13_g(x1, x2)  =  U13_g(x1, x2)
U14_g(x1, x2)  =  U14_g(x1, x2)
last70_in_aaa(x1, x2, x3)  =  last70_in_aaa
last70_out_aaa(x1, x2, x3)  =  last70_out_aaa(x1, x3)
last24_in_agaa(x1, x2, x3, x4)  =  last24_in_agaa(x2)
last24_out_agaa(x1, x2, x3, x4)  =  last24_out_agaa(x2, x4)
U2_agaa(x1, x2, x3, x4, x5)  =  U2_agaa(x2, x5)
U6_aaa(x1, x2, x3, x4, x5)  =  U6_aaa(x5)

Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog

(42) Obligation:

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

palindrome1_in_g([]) → palindrome1_out_g([])
palindrome1_in_g(.(T21, .(T22, T23))) → U7_g(T21, T22, T23, last24_in_agaa(T22, T23, X75, X73))
last24_in_agaa(T34, [], T34, []) → last24_out_agaa(T34, [], T34, [])
last24_in_agaa(T41, T42, X113, .(T41, X114)) → U2_agaa(T41, T42, X113, X114, last32_in_gaa(T42, X113, X114))
last32_in_gaa(.(T49, []), T49, []) → last32_out_gaa(.(T49, []), T49, [])
last32_in_gaa(.(T54, T55), X139, .(T54, X140)) → U1_gaa(T54, T55, X139, X140, last32_in_gaa(T55, X139, X140))
U1_gaa(T54, T55, X139, X140, last32_out_gaa(T55, X139, X140)) → last32_out_gaa(.(T54, T55), X139, .(T54, X140))
U2_agaa(T41, T42, X113, X114, last32_out_gaa(T42, X113, X114)) → last24_out_agaa(T41, T42, X113, .(T41, X114))
U7_g(T21, T22, T23, last24_out_agaa(T22, T23, X75, X73)) → palindrome1_out_g(.(T21, .(T22, T23)))
palindrome1_in_g(.(T21, .(T22, T23))) → U8_g(T21, T22, T23, last24_in_agaa(T22, T23, T26, T27))
U8_g(T21, T22, T23, last24_out_agaa(T22, T23, T26, T27)) → U9_g(T21, T22, T23, halves41_in_gaaa(T27, X74, X76, X77))
halves41_in_gaaa([], [], [], even) → halves41_out_gaaa([], [], [], even)
halves41_in_gaaa(.(T65, []), .(T65, []), [], odd) → halves41_out_gaaa(.(T65, []), .(T65, []), [], odd)
halves41_in_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187) → U3_gaaa(T72, T73, T74, X184, X185, X186, X187, last24_in_agaa(T73, T74, X185, X183))
U3_gaaa(T72, T73, T74, X184, X185, X186, X187, last24_out_agaa(T73, T74, X185, X183)) → halves41_out_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187)
halves41_in_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187) → U4_gaaa(T72, T73, T74, X184, T77, X186, X187, last24_in_agaa(T73, T74, T77, T78))
U4_gaaa(T72, T73, T74, X184, T77, X186, X187, last24_out_agaa(T73, T74, T77, T78)) → U5_gaaa(T72, T73, T74, X184, T77, X186, X187, halves41_in_gaaa(T78, X184, X186, X187))
U5_gaaa(T72, T73, T74, X184, T77, X186, X187, halves41_out_gaaa(T78, X184, X186, X187)) → halves41_out_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187)
U9_g(T21, T22, T23, halves41_out_gaaa(T27, X74, X76, X77)) → palindrome1_out_g(.(T21, .(T22, T23)))
palindrome1_in_g(.(T88, .(T22, T23))) → U10_g(T88, T22, T23, last24_in_agaa(T22, T23, T88, T27))
U10_g(T88, T22, T23, last24_out_agaa(T22, T23, T88, T27)) → U11_g(T88, T22, T23, halves41_in_gaag(T27, T89, T89, even))
halves41_in_gaag([], [], [], even) → halves41_out_gaag([], [], [], even)
halves41_in_gaag(.(T65, []), .(T65, []), [], odd) → halves41_out_gaag(.(T65, []), .(T65, []), [], odd)
halves41_in_gaag(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187) → U3_gaag(T72, T73, T74, X184, X185, X186, X187, last24_in_agaa(T73, T74, X185, X183))
U3_gaag(T72, T73, T74, X184, X185, X186, X187, last24_out_agaa(T73, T74, X185, X183)) → halves41_out_gaag(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187)
halves41_in_gaag(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187) → U4_gaag(T72, T73, T74, X184, T77, X186, X187, last24_in_agaa(T73, T74, T77, T78))
U4_gaag(T72, T73, T74, X184, T77, X186, X187, last24_out_agaa(T73, T74, T77, T78)) → U5_gaag(T72, T73, T74, X184, T77, X186, X187, halves41_in_gaag(T78, X184, X186, X187))
U5_gaag(T72, T73, T74, X184, T77, X186, X187, halves41_out_gaag(T78, X184, X186, X187)) → halves41_out_gaag(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187)
U11_g(T88, T22, T23, halves41_out_gaag(T27, T89, T89, even)) → palindrome1_out_g(.(T88, .(T22, T23)))
palindrome1_in_g(T92) → U12_g(T92, halves41_in_gaaa(T92, X214, X215, X216))
U12_g(T92, halves41_out_gaaa(T92, X214, X215, X216)) → palindrome1_out_g(T92)
palindrome1_in_g(T92) → U13_g(T92, halves41_in_gaag(T92, T93, T94, odd))
U13_g(T92, halves41_out_gaag(T92, T93, T94, odd)) → U14_g(T92, last70_in_aaa(T93, X217, T94))
last70_in_aaa(.(T107, []), T107, []) → last70_out_aaa(.(T107, []), T107, [])
last70_in_aaa(.(T114, T115), X246, .(T114, T116)) → U6_aaa(T114, T115, X246, T116, last70_in_aaa(T115, X246, T116))
U6_aaa(T114, T115, X246, T116, last70_out_aaa(T115, X246, T116)) → last70_out_aaa(.(T114, T115), X246, .(T114, T116))
U14_g(T92, last70_out_aaa(T93, X217, T94)) → palindrome1_out_g(T92)

The argument filtering Pi contains the following mapping:
palindrome1_in_g(x1)  =  palindrome1_in_g(x1)
[]  =  []
palindrome1_out_g(x1)  =  palindrome1_out_g(x1)
.(x1, x2)  =  .(x2)
U7_g(x1, x2, x3, x4)  =  U7_g(x3, x4)
last32_in_gaa(x1, x2, x3)  =  last32_in_gaa(x1)
last32_out_gaa(x1, x2, x3)  =  last32_out_gaa(x1, x3)
U1_gaa(x1, x2, x3, x4, x5)  =  U1_gaa(x2, x5)
U8_g(x1, x2, x3, x4)  =  U8_g(x3, x4)
U9_g(x1, x2, x3, x4)  =  U9_g(x3, x4)
halves41_in_gaaa(x1, x2, x3, x4)  =  halves41_in_gaaa(x1)
halves41_out_gaaa(x1, x2, x3, x4)  =  halves41_out_gaaa(x1)
U3_gaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U3_gaaa(x3, x8)
U4_gaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U4_gaaa(x3, x8)
U5_gaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U5_gaaa(x3, x8)
U10_g(x1, x2, x3, x4)  =  U10_g(x3, x4)
U11_g(x1, x2, x3, x4)  =  U11_g(x3, x4)
halves41_in_gaag(x1, x2, x3, x4)  =  halves41_in_gaag(x1, x4)
even  =  even
halves41_out_gaag(x1, x2, x3, x4)  =  halves41_out_gaag(x1, x4)
odd  =  odd
U3_gaag(x1, x2, x3, x4, x5, x6, x7, x8)  =  U3_gaag(x3, x7, x8)
U4_gaag(x1, x2, x3, x4, x5, x6, x7, x8)  =  U4_gaag(x3, x7, x8)
U5_gaag(x1, x2, x3, x4, x5, x6, x7, x8)  =  U5_gaag(x3, x7, x8)
U12_g(x1, x2)  =  U12_g(x1, x2)
U13_g(x1, x2)  =  U13_g(x1, x2)
U14_g(x1, x2)  =  U14_g(x1, x2)
last70_in_aaa(x1, x2, x3)  =  last70_in_aaa
last70_out_aaa(x1, x2, x3)  =  last70_out_aaa(x1, x3)
last24_in_agaa(x1, x2, x3, x4)  =  last24_in_agaa(x2)
last24_out_agaa(x1, x2, x3, x4)  =  last24_out_agaa(x2, x4)
U2_agaa(x1, x2, x3, x4, x5)  =  U2_agaa(x2, x5)
U6_aaa(x1, x2, x3, x4, x5)  =  U6_aaa(x5)

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

PALINDROME1_IN_G(.(T21, .(T22, T23))) → U7_G(T21, T22, T23, last24_in_agaa(T22, T23, X75, X73))
PALINDROME1_IN_G(.(T21, .(T22, T23))) → LAST24_IN_AGAA(T22, T23, X75, X73)
LAST24_IN_AGAA(T41, T42, X113, .(T41, X114)) → U2_AGAA(T41, T42, X113, X114, last32_in_gaa(T42, X113, X114))
LAST24_IN_AGAA(T41, T42, X113, .(T41, X114)) → LAST32_IN_GAA(T42, X113, X114)
LAST32_IN_GAA(.(T54, T55), X139, .(T54, X140)) → U1_GAA(T54, T55, X139, X140, last32_in_gaa(T55, X139, X140))
LAST32_IN_GAA(.(T54, T55), X139, .(T54, X140)) → LAST32_IN_GAA(T55, X139, X140)
PALINDROME1_IN_G(.(T21, .(T22, T23))) → U8_G(T21, T22, T23, last24_in_agaa(T22, T23, T26, T27))
U8_G(T21, T22, T23, last24_out_agaa(T22, T23, T26, T27)) → U9_G(T21, T22, T23, halves41_in_gaaa(T27, X74, X76, X77))
U8_G(T21, T22, T23, last24_out_agaa(T22, T23, T26, T27)) → HALVES41_IN_GAAA(T27, X74, X76, X77)
HALVES41_IN_GAAA(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187) → U3_GAAA(T72, T73, T74, X184, X185, X186, X187, last24_in_agaa(T73, T74, X185, X183))
HALVES41_IN_GAAA(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187) → LAST24_IN_AGAA(T73, T74, X185, X183)
HALVES41_IN_GAAA(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187) → U4_GAAA(T72, T73, T74, X184, T77, X186, X187, last24_in_agaa(T73, T74, T77, T78))
U4_GAAA(T72, T73, T74, X184, T77, X186, X187, last24_out_agaa(T73, T74, T77, T78)) → U5_GAAA(T72, T73, T74, X184, T77, X186, X187, halves41_in_gaaa(T78, X184, X186, X187))
U4_GAAA(T72, T73, T74, X184, T77, X186, X187, last24_out_agaa(T73, T74, T77, T78)) → HALVES41_IN_GAAA(T78, X184, X186, X187)
PALINDROME1_IN_G(.(T88, .(T22, T23))) → U10_G(T88, T22, T23, last24_in_agaa(T22, T23, T88, T27))
PALINDROME1_IN_G(.(T88, .(T22, T23))) → LAST24_IN_AGAA(T22, T23, T88, T27)
U10_G(T88, T22, T23, last24_out_agaa(T22, T23, T88, T27)) → U11_G(T88, T22, T23, halves41_in_gaag(T27, T89, T89, even))
U10_G(T88, T22, T23, last24_out_agaa(T22, T23, T88, T27)) → HALVES41_IN_GAAG(T27, T89, T89, even)
HALVES41_IN_GAAG(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187) → U3_GAAG(T72, T73, T74, X184, X185, X186, X187, last24_in_agaa(T73, T74, X185, X183))
HALVES41_IN_GAAG(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187) → LAST24_IN_AGAA(T73, T74, X185, X183)
HALVES41_IN_GAAG(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187) → U4_GAAG(T72, T73, T74, X184, T77, X186, X187, last24_in_agaa(T73, T74, T77, T78))
U4_GAAG(T72, T73, T74, X184, T77, X186, X187, last24_out_agaa(T73, T74, T77, T78)) → U5_GAAG(T72, T73, T74, X184, T77, X186, X187, halves41_in_gaag(T78, X184, X186, X187))
U4_GAAG(T72, T73, T74, X184, T77, X186, X187, last24_out_agaa(T73, T74, T77, T78)) → HALVES41_IN_GAAG(T78, X184, X186, X187)
PALINDROME1_IN_G(T92) → U12_G(T92, halves41_in_gaaa(T92, X214, X215, X216))
PALINDROME1_IN_G(T92) → HALVES41_IN_GAAA(T92, X214, X215, X216)
PALINDROME1_IN_G(T92) → U13_G(T92, halves41_in_gaag(T92, T93, T94, odd))
PALINDROME1_IN_G(T92) → HALVES41_IN_GAAG(T92, T93, T94, odd)
U13_G(T92, halves41_out_gaag(T92, T93, T94, odd)) → U14_G(T92, last70_in_aaa(T93, X217, T94))
U13_G(T92, halves41_out_gaag(T92, T93, T94, odd)) → LAST70_IN_AAA(T93, X217, T94)
LAST70_IN_AAA(.(T114, T115), X246, .(T114, T116)) → U6_AAA(T114, T115, X246, T116, last70_in_aaa(T115, X246, T116))
LAST70_IN_AAA(.(T114, T115), X246, .(T114, T116)) → LAST70_IN_AAA(T115, X246, T116)

The TRS R consists of the following rules:

palindrome1_in_g([]) → palindrome1_out_g([])
palindrome1_in_g(.(T21, .(T22, T23))) → U7_g(T21, T22, T23, last24_in_agaa(T22, T23, X75, X73))
last24_in_agaa(T34, [], T34, []) → last24_out_agaa(T34, [], T34, [])
last24_in_agaa(T41, T42, X113, .(T41, X114)) → U2_agaa(T41, T42, X113, X114, last32_in_gaa(T42, X113, X114))
last32_in_gaa(.(T49, []), T49, []) → last32_out_gaa(.(T49, []), T49, [])
last32_in_gaa(.(T54, T55), X139, .(T54, X140)) → U1_gaa(T54, T55, X139, X140, last32_in_gaa(T55, X139, X140))
U1_gaa(T54, T55, X139, X140, last32_out_gaa(T55, X139, X140)) → last32_out_gaa(.(T54, T55), X139, .(T54, X140))
U2_agaa(T41, T42, X113, X114, last32_out_gaa(T42, X113, X114)) → last24_out_agaa(T41, T42, X113, .(T41, X114))
U7_g(T21, T22, T23, last24_out_agaa(T22, T23, X75, X73)) → palindrome1_out_g(.(T21, .(T22, T23)))
palindrome1_in_g(.(T21, .(T22, T23))) → U8_g(T21, T22, T23, last24_in_agaa(T22, T23, T26, T27))
U8_g(T21, T22, T23, last24_out_agaa(T22, T23, T26, T27)) → U9_g(T21, T22, T23, halves41_in_gaaa(T27, X74, X76, X77))
halves41_in_gaaa([], [], [], even) → halves41_out_gaaa([], [], [], even)
halves41_in_gaaa(.(T65, []), .(T65, []), [], odd) → halves41_out_gaaa(.(T65, []), .(T65, []), [], odd)
halves41_in_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187) → U3_gaaa(T72, T73, T74, X184, X185, X186, X187, last24_in_agaa(T73, T74, X185, X183))
U3_gaaa(T72, T73, T74, X184, X185, X186, X187, last24_out_agaa(T73, T74, X185, X183)) → halves41_out_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187)
halves41_in_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187) → U4_gaaa(T72, T73, T74, X184, T77, X186, X187, last24_in_agaa(T73, T74, T77, T78))
U4_gaaa(T72, T73, T74, X184, T77, X186, X187, last24_out_agaa(T73, T74, T77, T78)) → U5_gaaa(T72, T73, T74, X184, T77, X186, X187, halves41_in_gaaa(T78, X184, X186, X187))
U5_gaaa(T72, T73, T74, X184, T77, X186, X187, halves41_out_gaaa(T78, X184, X186, X187)) → halves41_out_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187)
U9_g(T21, T22, T23, halves41_out_gaaa(T27, X74, X76, X77)) → palindrome1_out_g(.(T21, .(T22, T23)))
palindrome1_in_g(.(T88, .(T22, T23))) → U10_g(T88, T22, T23, last24_in_agaa(T22, T23, T88, T27))
U10_g(T88, T22, T23, last24_out_agaa(T22, T23, T88, T27)) → U11_g(T88, T22, T23, halves41_in_gaag(T27, T89, T89, even))
halves41_in_gaag([], [], [], even) → halves41_out_gaag([], [], [], even)
halves41_in_gaag(.(T65, []), .(T65, []), [], odd) → halves41_out_gaag(.(T65, []), .(T65, []), [], odd)
halves41_in_gaag(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187) → U3_gaag(T72, T73, T74, X184, X185, X186, X187, last24_in_agaa(T73, T74, X185, X183))
U3_gaag(T72, T73, T74, X184, X185, X186, X187, last24_out_agaa(T73, T74, X185, X183)) → halves41_out_gaag(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187)
halves41_in_gaag(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187) → U4_gaag(T72, T73, T74, X184, T77, X186, X187, last24_in_agaa(T73, T74, T77, T78))
U4_gaag(T72, T73, T74, X184, T77, X186, X187, last24_out_agaa(T73, T74, T77, T78)) → U5_gaag(T72, T73, T74, X184, T77, X186, X187, halves41_in_gaag(T78, X184, X186, X187))
U5_gaag(T72, T73, T74, X184, T77, X186, X187, halves41_out_gaag(T78, X184, X186, X187)) → halves41_out_gaag(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187)
U11_g(T88, T22, T23, halves41_out_gaag(T27, T89, T89, even)) → palindrome1_out_g(.(T88, .(T22, T23)))
palindrome1_in_g(T92) → U12_g(T92, halves41_in_gaaa(T92, X214, X215, X216))
U12_g(T92, halves41_out_gaaa(T92, X214, X215, X216)) → palindrome1_out_g(T92)
palindrome1_in_g(T92) → U13_g(T92, halves41_in_gaag(T92, T93, T94, odd))
U13_g(T92, halves41_out_gaag(T92, T93, T94, odd)) → U14_g(T92, last70_in_aaa(T93, X217, T94))
last70_in_aaa(.(T107, []), T107, []) → last70_out_aaa(.(T107, []), T107, [])
last70_in_aaa(.(T114, T115), X246, .(T114, T116)) → U6_aaa(T114, T115, X246, T116, last70_in_aaa(T115, X246, T116))
U6_aaa(T114, T115, X246, T116, last70_out_aaa(T115, X246, T116)) → last70_out_aaa(.(T114, T115), X246, .(T114, T116))
U14_g(T92, last70_out_aaa(T93, X217, T94)) → palindrome1_out_g(T92)

The argument filtering Pi contains the following mapping:
palindrome1_in_g(x1)  =  palindrome1_in_g(x1)
[]  =  []
palindrome1_out_g(x1)  =  palindrome1_out_g(x1)
.(x1, x2)  =  .(x2)
U7_g(x1, x2, x3, x4)  =  U7_g(x3, x4)
last32_in_gaa(x1, x2, x3)  =  last32_in_gaa(x1)
last32_out_gaa(x1, x2, x3)  =  last32_out_gaa(x1, x3)
U1_gaa(x1, x2, x3, x4, x5)  =  U1_gaa(x2, x5)
U8_g(x1, x2, x3, x4)  =  U8_g(x3, x4)
U9_g(x1, x2, x3, x4)  =  U9_g(x3, x4)
halves41_in_gaaa(x1, x2, x3, x4)  =  halves41_in_gaaa(x1)
halves41_out_gaaa(x1, x2, x3, x4)  =  halves41_out_gaaa(x1)
U3_gaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U3_gaaa(x3, x8)
U4_gaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U4_gaaa(x3, x8)
U5_gaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U5_gaaa(x3, x8)
U10_g(x1, x2, x3, x4)  =  U10_g(x3, x4)
U11_g(x1, x2, x3, x4)  =  U11_g(x3, x4)
halves41_in_gaag(x1, x2, x3, x4)  =  halves41_in_gaag(x1, x4)
even  =  even
halves41_out_gaag(x1, x2, x3, x4)  =  halves41_out_gaag(x1, x4)
odd  =  odd
U3_gaag(x1, x2, x3, x4, x5, x6, x7, x8)  =  U3_gaag(x3, x7, x8)
U4_gaag(x1, x2, x3, x4, x5, x6, x7, x8)  =  U4_gaag(x3, x7, x8)
U5_gaag(x1, x2, x3, x4, x5, x6, x7, x8)  =  U5_gaag(x3, x7, x8)
U12_g(x1, x2)  =  U12_g(x1, x2)
U13_g(x1, x2)  =  U13_g(x1, x2)
U14_g(x1, x2)  =  U14_g(x1, x2)
last70_in_aaa(x1, x2, x3)  =  last70_in_aaa
last70_out_aaa(x1, x2, x3)  =  last70_out_aaa(x1, x3)
last24_in_agaa(x1, x2, x3, x4)  =  last24_in_agaa(x2)
last24_out_agaa(x1, x2, x3, x4)  =  last24_out_agaa(x2, x4)
U2_agaa(x1, x2, x3, x4, x5)  =  U2_agaa(x2, x5)
U6_aaa(x1, x2, x3, x4, x5)  =  U6_aaa(x5)
PALINDROME1_IN_G(x1)  =  PALINDROME1_IN_G(x1)
U7_G(x1, x2, x3, x4)  =  U7_G(x3, x4)
LAST24_IN_AGAA(x1, x2, x3, x4)  =  LAST24_IN_AGAA(x2)
U2_AGAA(x1, x2, x3, x4, x5)  =  U2_AGAA(x2, x5)
LAST32_IN_GAA(x1, x2, x3)  =  LAST32_IN_GAA(x1)
U1_GAA(x1, x2, x3, x4, x5)  =  U1_GAA(x2, x5)
U8_G(x1, x2, x3, x4)  =  U8_G(x3, x4)
U9_G(x1, x2, x3, x4)  =  U9_G(x3, x4)
HALVES41_IN_GAAA(x1, x2, x3, x4)  =  HALVES41_IN_GAAA(x1)
U3_GAAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U3_GAAA(x3, x8)
U4_GAAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U4_GAAA(x3, x8)
U5_GAAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U5_GAAA(x3, x8)
U10_G(x1, x2, x3, x4)  =  U10_G(x3, x4)
U11_G(x1, x2, x3, x4)  =  U11_G(x3, x4)
HALVES41_IN_GAAG(x1, x2, x3, x4)  =  HALVES41_IN_GAAG(x1, x4)
U3_GAAG(x1, x2, x3, x4, x5, x6, x7, x8)  =  U3_GAAG(x3, x7, x8)
U4_GAAG(x1, x2, x3, x4, x5, x6, x7, x8)  =  U4_GAAG(x3, x7, x8)
U5_GAAG(x1, x2, x3, x4, x5, x6, x7, x8)  =  U5_GAAG(x3, x7, x8)
U12_G(x1, x2)  =  U12_G(x1, x2)
U13_G(x1, x2)  =  U13_G(x1, x2)
U14_G(x1, x2)  =  U14_G(x1, x2)
LAST70_IN_AAA(x1, x2, x3)  =  LAST70_IN_AAA
U6_AAA(x1, x2, x3, x4, x5)  =  U6_AAA(x5)

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

(44) Obligation:

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

PALINDROME1_IN_G(.(T21, .(T22, T23))) → U7_G(T21, T22, T23, last24_in_agaa(T22, T23, X75, X73))
PALINDROME1_IN_G(.(T21, .(T22, T23))) → LAST24_IN_AGAA(T22, T23, X75, X73)
LAST24_IN_AGAA(T41, T42, X113, .(T41, X114)) → U2_AGAA(T41, T42, X113, X114, last32_in_gaa(T42, X113, X114))
LAST24_IN_AGAA(T41, T42, X113, .(T41, X114)) → LAST32_IN_GAA(T42, X113, X114)
LAST32_IN_GAA(.(T54, T55), X139, .(T54, X140)) → U1_GAA(T54, T55, X139, X140, last32_in_gaa(T55, X139, X140))
LAST32_IN_GAA(.(T54, T55), X139, .(T54, X140)) → LAST32_IN_GAA(T55, X139, X140)
PALINDROME1_IN_G(.(T21, .(T22, T23))) → U8_G(T21, T22, T23, last24_in_agaa(T22, T23, T26, T27))
U8_G(T21, T22, T23, last24_out_agaa(T22, T23, T26, T27)) → U9_G(T21, T22, T23, halves41_in_gaaa(T27, X74, X76, X77))
U8_G(T21, T22, T23, last24_out_agaa(T22, T23, T26, T27)) → HALVES41_IN_GAAA(T27, X74, X76, X77)
HALVES41_IN_GAAA(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187) → U3_GAAA(T72, T73, T74, X184, X185, X186, X187, last24_in_agaa(T73, T74, X185, X183))
HALVES41_IN_GAAA(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187) → LAST24_IN_AGAA(T73, T74, X185, X183)
HALVES41_IN_GAAA(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187) → U4_GAAA(T72, T73, T74, X184, T77, X186, X187, last24_in_agaa(T73, T74, T77, T78))
U4_GAAA(T72, T73, T74, X184, T77, X186, X187, last24_out_agaa(T73, T74, T77, T78)) → U5_GAAA(T72, T73, T74, X184, T77, X186, X187, halves41_in_gaaa(T78, X184, X186, X187))
U4_GAAA(T72, T73, T74, X184, T77, X186, X187, last24_out_agaa(T73, T74, T77, T78)) → HALVES41_IN_GAAA(T78, X184, X186, X187)
PALINDROME1_IN_G(.(T88, .(T22, T23))) → U10_G(T88, T22, T23, last24_in_agaa(T22, T23, T88, T27))
PALINDROME1_IN_G(.(T88, .(T22, T23))) → LAST24_IN_AGAA(T22, T23, T88, T27)
U10_G(T88, T22, T23, last24_out_agaa(T22, T23, T88, T27)) → U11_G(T88, T22, T23, halves41_in_gaag(T27, T89, T89, even))
U10_G(T88, T22, T23, last24_out_agaa(T22, T23, T88, T27)) → HALVES41_IN_GAAG(T27, T89, T89, even)
HALVES41_IN_GAAG(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187) → U3_GAAG(T72, T73, T74, X184, X185, X186, X187, last24_in_agaa(T73, T74, X185, X183))
HALVES41_IN_GAAG(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187) → LAST24_IN_AGAA(T73, T74, X185, X183)
HALVES41_IN_GAAG(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187) → U4_GAAG(T72, T73, T74, X184, T77, X186, X187, last24_in_agaa(T73, T74, T77, T78))
U4_GAAG(T72, T73, T74, X184, T77, X186, X187, last24_out_agaa(T73, T74, T77, T78)) → U5_GAAG(T72, T73, T74, X184, T77, X186, X187, halves41_in_gaag(T78, X184, X186, X187))
U4_GAAG(T72, T73, T74, X184, T77, X186, X187, last24_out_agaa(T73, T74, T77, T78)) → HALVES41_IN_GAAG(T78, X184, X186, X187)
PALINDROME1_IN_G(T92) → U12_G(T92, halves41_in_gaaa(T92, X214, X215, X216))
PALINDROME1_IN_G(T92) → HALVES41_IN_GAAA(T92, X214, X215, X216)
PALINDROME1_IN_G(T92) → U13_G(T92, halves41_in_gaag(T92, T93, T94, odd))
PALINDROME1_IN_G(T92) → HALVES41_IN_GAAG(T92, T93, T94, odd)
U13_G(T92, halves41_out_gaag(T92, T93, T94, odd)) → U14_G(T92, last70_in_aaa(T93, X217, T94))
U13_G(T92, halves41_out_gaag(T92, T93, T94, odd)) → LAST70_IN_AAA(T93, X217, T94)
LAST70_IN_AAA(.(T114, T115), X246, .(T114, T116)) → U6_AAA(T114, T115, X246, T116, last70_in_aaa(T115, X246, T116))
LAST70_IN_AAA(.(T114, T115), X246, .(T114, T116)) → LAST70_IN_AAA(T115, X246, T116)

The TRS R consists of the following rules:

palindrome1_in_g([]) → palindrome1_out_g([])
palindrome1_in_g(.(T21, .(T22, T23))) → U7_g(T21, T22, T23, last24_in_agaa(T22, T23, X75, X73))
last24_in_agaa(T34, [], T34, []) → last24_out_agaa(T34, [], T34, [])
last24_in_agaa(T41, T42, X113, .(T41, X114)) → U2_agaa(T41, T42, X113, X114, last32_in_gaa(T42, X113, X114))
last32_in_gaa(.(T49, []), T49, []) → last32_out_gaa(.(T49, []), T49, [])
last32_in_gaa(.(T54, T55), X139, .(T54, X140)) → U1_gaa(T54, T55, X139, X140, last32_in_gaa(T55, X139, X140))
U1_gaa(T54, T55, X139, X140, last32_out_gaa(T55, X139, X140)) → last32_out_gaa(.(T54, T55), X139, .(T54, X140))
U2_agaa(T41, T42, X113, X114, last32_out_gaa(T42, X113, X114)) → last24_out_agaa(T41, T42, X113, .(T41, X114))
U7_g(T21, T22, T23, last24_out_agaa(T22, T23, X75, X73)) → palindrome1_out_g(.(T21, .(T22, T23)))
palindrome1_in_g(.(T21, .(T22, T23))) → U8_g(T21, T22, T23, last24_in_agaa(T22, T23, T26, T27))
U8_g(T21, T22, T23, last24_out_agaa(T22, T23, T26, T27)) → U9_g(T21, T22, T23, halves41_in_gaaa(T27, X74, X76, X77))
halves41_in_gaaa([], [], [], even) → halves41_out_gaaa([], [], [], even)
halves41_in_gaaa(.(T65, []), .(T65, []), [], odd) → halves41_out_gaaa(.(T65, []), .(T65, []), [], odd)
halves41_in_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187) → U3_gaaa(T72, T73, T74, X184, X185, X186, X187, last24_in_agaa(T73, T74, X185, X183))
U3_gaaa(T72, T73, T74, X184, X185, X186, X187, last24_out_agaa(T73, T74, X185, X183)) → halves41_out_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187)
halves41_in_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187) → U4_gaaa(T72, T73, T74, X184, T77, X186, X187, last24_in_agaa(T73, T74, T77, T78))
U4_gaaa(T72, T73, T74, X184, T77, X186, X187, last24_out_agaa(T73, T74, T77, T78)) → U5_gaaa(T72, T73, T74, X184, T77, X186, X187, halves41_in_gaaa(T78, X184, X186, X187))
U5_gaaa(T72, T73, T74, X184, T77, X186, X187, halves41_out_gaaa(T78, X184, X186, X187)) → halves41_out_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187)
U9_g(T21, T22, T23, halves41_out_gaaa(T27, X74, X76, X77)) → palindrome1_out_g(.(T21, .(T22, T23)))
palindrome1_in_g(.(T88, .(T22, T23))) → U10_g(T88, T22, T23, last24_in_agaa(T22, T23, T88, T27))
U10_g(T88, T22, T23, last24_out_agaa(T22, T23, T88, T27)) → U11_g(T88, T22, T23, halves41_in_gaag(T27, T89, T89, even))
halves41_in_gaag([], [], [], even) → halves41_out_gaag([], [], [], even)
halves41_in_gaag(.(T65, []), .(T65, []), [], odd) → halves41_out_gaag(.(T65, []), .(T65, []), [], odd)
halves41_in_gaag(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187) → U3_gaag(T72, T73, T74, X184, X185, X186, X187, last24_in_agaa(T73, T74, X185, X183))
U3_gaag(T72, T73, T74, X184, X185, X186, X187, last24_out_agaa(T73, T74, X185, X183)) → halves41_out_gaag(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187)
halves41_in_gaag(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187) → U4_gaag(T72, T73, T74, X184, T77, X186, X187, last24_in_agaa(T73, T74, T77, T78))
U4_gaag(T72, T73, T74, X184, T77, X186, X187, last24_out_agaa(T73, T74, T77, T78)) → U5_gaag(T72, T73, T74, X184, T77, X186, X187, halves41_in_gaag(T78, X184, X186, X187))
U5_gaag(T72, T73, T74, X184, T77, X186, X187, halves41_out_gaag(T78, X184, X186, X187)) → halves41_out_gaag(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187)
U11_g(T88, T22, T23, halves41_out_gaag(T27, T89, T89, even)) → palindrome1_out_g(.(T88, .(T22, T23)))
palindrome1_in_g(T92) → U12_g(T92, halves41_in_gaaa(T92, X214, X215, X216))
U12_g(T92, halves41_out_gaaa(T92, X214, X215, X216)) → palindrome1_out_g(T92)
palindrome1_in_g(T92) → U13_g(T92, halves41_in_gaag(T92, T93, T94, odd))
U13_g(T92, halves41_out_gaag(T92, T93, T94, odd)) → U14_g(T92, last70_in_aaa(T93, X217, T94))
last70_in_aaa(.(T107, []), T107, []) → last70_out_aaa(.(T107, []), T107, [])
last70_in_aaa(.(T114, T115), X246, .(T114, T116)) → U6_aaa(T114, T115, X246, T116, last70_in_aaa(T115, X246, T116))
U6_aaa(T114, T115, X246, T116, last70_out_aaa(T115, X246, T116)) → last70_out_aaa(.(T114, T115), X246, .(T114, T116))
U14_g(T92, last70_out_aaa(T93, X217, T94)) → palindrome1_out_g(T92)

The argument filtering Pi contains the following mapping:
palindrome1_in_g(x1)  =  palindrome1_in_g(x1)
[]  =  []
palindrome1_out_g(x1)  =  palindrome1_out_g(x1)
.(x1, x2)  =  .(x2)
U7_g(x1, x2, x3, x4)  =  U7_g(x3, x4)
last32_in_gaa(x1, x2, x3)  =  last32_in_gaa(x1)
last32_out_gaa(x1, x2, x3)  =  last32_out_gaa(x1, x3)
U1_gaa(x1, x2, x3, x4, x5)  =  U1_gaa(x2, x5)
U8_g(x1, x2, x3, x4)  =  U8_g(x3, x4)
U9_g(x1, x2, x3, x4)  =  U9_g(x3, x4)
halves41_in_gaaa(x1, x2, x3, x4)  =  halves41_in_gaaa(x1)
halves41_out_gaaa(x1, x2, x3, x4)  =  halves41_out_gaaa(x1)
U3_gaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U3_gaaa(x3, x8)
U4_gaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U4_gaaa(x3, x8)
U5_gaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U5_gaaa(x3, x8)
U10_g(x1, x2, x3, x4)  =  U10_g(x3, x4)
U11_g(x1, x2, x3, x4)  =  U11_g(x3, x4)
halves41_in_gaag(x1, x2, x3, x4)  =  halves41_in_gaag(x1, x4)
even  =  even
halves41_out_gaag(x1, x2, x3, x4)  =  halves41_out_gaag(x1, x4)
odd  =  odd
U3_gaag(x1, x2, x3, x4, x5, x6, x7, x8)  =  U3_gaag(x3, x7, x8)
U4_gaag(x1, x2, x3, x4, x5, x6, x7, x8)  =  U4_gaag(x3, x7, x8)
U5_gaag(x1, x2, x3, x4, x5, x6, x7, x8)  =  U5_gaag(x3, x7, x8)
U12_g(x1, x2)  =  U12_g(x1, x2)
U13_g(x1, x2)  =  U13_g(x1, x2)
U14_g(x1, x2)  =  U14_g(x1, x2)
last70_in_aaa(x1, x2, x3)  =  last70_in_aaa
last70_out_aaa(x1, x2, x3)  =  last70_out_aaa(x1, x3)
last24_in_agaa(x1, x2, x3, x4)  =  last24_in_agaa(x2)
last24_out_agaa(x1, x2, x3, x4)  =  last24_out_agaa(x2, x4)
U2_agaa(x1, x2, x3, x4, x5)  =  U2_agaa(x2, x5)
U6_aaa(x1, x2, x3, x4, x5)  =  U6_aaa(x5)
PALINDROME1_IN_G(x1)  =  PALINDROME1_IN_G(x1)
U7_G(x1, x2, x3, x4)  =  U7_G(x3, x4)
LAST24_IN_AGAA(x1, x2, x3, x4)  =  LAST24_IN_AGAA(x2)
U2_AGAA(x1, x2, x3, x4, x5)  =  U2_AGAA(x2, x5)
LAST32_IN_GAA(x1, x2, x3)  =  LAST32_IN_GAA(x1)
U1_GAA(x1, x2, x3, x4, x5)  =  U1_GAA(x2, x5)
U8_G(x1, x2, x3, x4)  =  U8_G(x3, x4)
U9_G(x1, x2, x3, x4)  =  U9_G(x3, x4)
HALVES41_IN_GAAA(x1, x2, x3, x4)  =  HALVES41_IN_GAAA(x1)
U3_GAAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U3_GAAA(x3, x8)
U4_GAAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U4_GAAA(x3, x8)
U5_GAAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U5_GAAA(x3, x8)
U10_G(x1, x2, x3, x4)  =  U10_G(x3, x4)
U11_G(x1, x2, x3, x4)  =  U11_G(x3, x4)
HALVES41_IN_GAAG(x1, x2, x3, x4)  =  HALVES41_IN_GAAG(x1, x4)
U3_GAAG(x1, x2, x3, x4, x5, x6, x7, x8)  =  U3_GAAG(x3, x7, x8)
U4_GAAG(x1, x2, x3, x4, x5, x6, x7, x8)  =  U4_GAAG(x3, x7, x8)
U5_GAAG(x1, x2, x3, x4, x5, x6, x7, x8)  =  U5_GAAG(x3, x7, x8)
U12_G(x1, x2)  =  U12_G(x1, x2)
U13_G(x1, x2)  =  U13_G(x1, x2)
U14_G(x1, x2)  =  U14_G(x1, x2)
LAST70_IN_AAA(x1, x2, x3)  =  LAST70_IN_AAA
U6_AAA(x1, x2, x3, x4, x5)  =  U6_AAA(x5)

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

(45) DependencyGraphProof (EQUIVALENT transformation)

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

(46) Complex Obligation (AND)

(47) Obligation:

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

LAST70_IN_AAA(.(T114, T115), X246, .(T114, T116)) → LAST70_IN_AAA(T115, X246, T116)

The TRS R consists of the following rules:

palindrome1_in_g([]) → palindrome1_out_g([])
palindrome1_in_g(.(T21, .(T22, T23))) → U7_g(T21, T22, T23, last24_in_agaa(T22, T23, X75, X73))
last24_in_agaa(T34, [], T34, []) → last24_out_agaa(T34, [], T34, [])
last24_in_agaa(T41, T42, X113, .(T41, X114)) → U2_agaa(T41, T42, X113, X114, last32_in_gaa(T42, X113, X114))
last32_in_gaa(.(T49, []), T49, []) → last32_out_gaa(.(T49, []), T49, [])
last32_in_gaa(.(T54, T55), X139, .(T54, X140)) → U1_gaa(T54, T55, X139, X140, last32_in_gaa(T55, X139, X140))
U1_gaa(T54, T55, X139, X140, last32_out_gaa(T55, X139, X140)) → last32_out_gaa(.(T54, T55), X139, .(T54, X140))
U2_agaa(T41, T42, X113, X114, last32_out_gaa(T42, X113, X114)) → last24_out_agaa(T41, T42, X113, .(T41, X114))
U7_g(T21, T22, T23, last24_out_agaa(T22, T23, X75, X73)) → palindrome1_out_g(.(T21, .(T22, T23)))
palindrome1_in_g(.(T21, .(T22, T23))) → U8_g(T21, T22, T23, last24_in_agaa(T22, T23, T26, T27))
U8_g(T21, T22, T23, last24_out_agaa(T22, T23, T26, T27)) → U9_g(T21, T22, T23, halves41_in_gaaa(T27, X74, X76, X77))
halves41_in_gaaa([], [], [], even) → halves41_out_gaaa([], [], [], even)
halves41_in_gaaa(.(T65, []), .(T65, []), [], odd) → halves41_out_gaaa(.(T65, []), .(T65, []), [], odd)
halves41_in_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187) → U3_gaaa(T72, T73, T74, X184, X185, X186, X187, last24_in_agaa(T73, T74, X185, X183))
U3_gaaa(T72, T73, T74, X184, X185, X186, X187, last24_out_agaa(T73, T74, X185, X183)) → halves41_out_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187)
halves41_in_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187) → U4_gaaa(T72, T73, T74, X184, T77, X186, X187, last24_in_agaa(T73, T74, T77, T78))
U4_gaaa(T72, T73, T74, X184, T77, X186, X187, last24_out_agaa(T73, T74, T77, T78)) → U5_gaaa(T72, T73, T74, X184, T77, X186, X187, halves41_in_gaaa(T78, X184, X186, X187))
U5_gaaa(T72, T73, T74, X184, T77, X186, X187, halves41_out_gaaa(T78, X184, X186, X187)) → halves41_out_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187)
U9_g(T21, T22, T23, halves41_out_gaaa(T27, X74, X76, X77)) → palindrome1_out_g(.(T21, .(T22, T23)))
palindrome1_in_g(.(T88, .(T22, T23))) → U10_g(T88, T22, T23, last24_in_agaa(T22, T23, T88, T27))
U10_g(T88, T22, T23, last24_out_agaa(T22, T23, T88, T27)) → U11_g(T88, T22, T23, halves41_in_gaag(T27, T89, T89, even))
halves41_in_gaag([], [], [], even) → halves41_out_gaag([], [], [], even)
halves41_in_gaag(.(T65, []), .(T65, []), [], odd) → halves41_out_gaag(.(T65, []), .(T65, []), [], odd)
halves41_in_gaag(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187) → U3_gaag(T72, T73, T74, X184, X185, X186, X187, last24_in_agaa(T73, T74, X185, X183))
U3_gaag(T72, T73, T74, X184, X185, X186, X187, last24_out_agaa(T73, T74, X185, X183)) → halves41_out_gaag(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187)
halves41_in_gaag(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187) → U4_gaag(T72, T73, T74, X184, T77, X186, X187, last24_in_agaa(T73, T74, T77, T78))
U4_gaag(T72, T73, T74, X184, T77, X186, X187, last24_out_agaa(T73, T74, T77, T78)) → U5_gaag(T72, T73, T74, X184, T77, X186, X187, halves41_in_gaag(T78, X184, X186, X187))
U5_gaag(T72, T73, T74, X184, T77, X186, X187, halves41_out_gaag(T78, X184, X186, X187)) → halves41_out_gaag(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187)
U11_g(T88, T22, T23, halves41_out_gaag(T27, T89, T89, even)) → palindrome1_out_g(.(T88, .(T22, T23)))
palindrome1_in_g(T92) → U12_g(T92, halves41_in_gaaa(T92, X214, X215, X216))
U12_g(T92, halves41_out_gaaa(T92, X214, X215, X216)) → palindrome1_out_g(T92)
palindrome1_in_g(T92) → U13_g(T92, halves41_in_gaag(T92, T93, T94, odd))
U13_g(T92, halves41_out_gaag(T92, T93, T94, odd)) → U14_g(T92, last70_in_aaa(T93, X217, T94))
last70_in_aaa(.(T107, []), T107, []) → last70_out_aaa(.(T107, []), T107, [])
last70_in_aaa(.(T114, T115), X246, .(T114, T116)) → U6_aaa(T114, T115, X246, T116, last70_in_aaa(T115, X246, T116))
U6_aaa(T114, T115, X246, T116, last70_out_aaa(T115, X246, T116)) → last70_out_aaa(.(T114, T115), X246, .(T114, T116))
U14_g(T92, last70_out_aaa(T93, X217, T94)) → palindrome1_out_g(T92)

The argument filtering Pi contains the following mapping:
palindrome1_in_g(x1)  =  palindrome1_in_g(x1)
[]  =  []
palindrome1_out_g(x1)  =  palindrome1_out_g(x1)
.(x1, x2)  =  .(x2)
U7_g(x1, x2, x3, x4)  =  U7_g(x3, x4)
last32_in_gaa(x1, x2, x3)  =  last32_in_gaa(x1)
last32_out_gaa(x1, x2, x3)  =  last32_out_gaa(x1, x3)
U1_gaa(x1, x2, x3, x4, x5)  =  U1_gaa(x2, x5)
U8_g(x1, x2, x3, x4)  =  U8_g(x3, x4)
U9_g(x1, x2, x3, x4)  =  U9_g(x3, x4)
halves41_in_gaaa(x1, x2, x3, x4)  =  halves41_in_gaaa(x1)
halves41_out_gaaa(x1, x2, x3, x4)  =  halves41_out_gaaa(x1)
U3_gaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U3_gaaa(x3, x8)
U4_gaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U4_gaaa(x3, x8)
U5_gaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U5_gaaa(x3, x8)
U10_g(x1, x2, x3, x4)  =  U10_g(x3, x4)
U11_g(x1, x2, x3, x4)  =  U11_g(x3, x4)
halves41_in_gaag(x1, x2, x3, x4)  =  halves41_in_gaag(x1, x4)
even  =  even
halves41_out_gaag(x1, x2, x3, x4)  =  halves41_out_gaag(x1, x4)
odd  =  odd
U3_gaag(x1, x2, x3, x4, x5, x6, x7, x8)  =  U3_gaag(x3, x7, x8)
U4_gaag(x1, x2, x3, x4, x5, x6, x7, x8)  =  U4_gaag(x3, x7, x8)
U5_gaag(x1, x2, x3, x4, x5, x6, x7, x8)  =  U5_gaag(x3, x7, x8)
U12_g(x1, x2)  =  U12_g(x1, x2)
U13_g(x1, x2)  =  U13_g(x1, x2)
U14_g(x1, x2)  =  U14_g(x1, x2)
last70_in_aaa(x1, x2, x3)  =  last70_in_aaa
last70_out_aaa(x1, x2, x3)  =  last70_out_aaa(x1, x3)
last24_in_agaa(x1, x2, x3, x4)  =  last24_in_agaa(x2)
last24_out_agaa(x1, x2, x3, x4)  =  last24_out_agaa(x2, x4)
U2_agaa(x1, x2, x3, x4, x5)  =  U2_agaa(x2, x5)
U6_aaa(x1, x2, x3, x4, x5)  =  U6_aaa(x5)
LAST70_IN_AAA(x1, x2, x3)  =  LAST70_IN_AAA

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

(48) UsableRulesProof (EQUIVALENT transformation)

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

(49) Obligation:

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

LAST70_IN_AAA(.(T114, T115), X246, .(T114, T116)) → LAST70_IN_AAA(T115, X246, T116)

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

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

(50) PiDPToQDPProof (SOUND transformation)

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

(51) Obligation:

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

LAST70_IN_AAALAST70_IN_AAA

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

(52) 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 = LAST70_IN_AAA evaluates to t =LAST70_IN_AAA

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 LAST70_IN_AAA to LAST70_IN_AAA.



(53) NO

(54) Obligation:

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

LAST32_IN_GAA(.(T54, T55), X139, .(T54, X140)) → LAST32_IN_GAA(T55, X139, X140)

The TRS R consists of the following rules:

palindrome1_in_g([]) → palindrome1_out_g([])
palindrome1_in_g(.(T21, .(T22, T23))) → U7_g(T21, T22, T23, last24_in_agaa(T22, T23, X75, X73))
last24_in_agaa(T34, [], T34, []) → last24_out_agaa(T34, [], T34, [])
last24_in_agaa(T41, T42, X113, .(T41, X114)) → U2_agaa(T41, T42, X113, X114, last32_in_gaa(T42, X113, X114))
last32_in_gaa(.(T49, []), T49, []) → last32_out_gaa(.(T49, []), T49, [])
last32_in_gaa(.(T54, T55), X139, .(T54, X140)) → U1_gaa(T54, T55, X139, X140, last32_in_gaa(T55, X139, X140))
U1_gaa(T54, T55, X139, X140, last32_out_gaa(T55, X139, X140)) → last32_out_gaa(.(T54, T55), X139, .(T54, X140))
U2_agaa(T41, T42, X113, X114, last32_out_gaa(T42, X113, X114)) → last24_out_agaa(T41, T42, X113, .(T41, X114))
U7_g(T21, T22, T23, last24_out_agaa(T22, T23, X75, X73)) → palindrome1_out_g(.(T21, .(T22, T23)))
palindrome1_in_g(.(T21, .(T22, T23))) → U8_g(T21, T22, T23, last24_in_agaa(T22, T23, T26, T27))
U8_g(T21, T22, T23, last24_out_agaa(T22, T23, T26, T27)) → U9_g(T21, T22, T23, halves41_in_gaaa(T27, X74, X76, X77))
halves41_in_gaaa([], [], [], even) → halves41_out_gaaa([], [], [], even)
halves41_in_gaaa(.(T65, []), .(T65, []), [], odd) → halves41_out_gaaa(.(T65, []), .(T65, []), [], odd)
halves41_in_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187) → U3_gaaa(T72, T73, T74, X184, X185, X186, X187, last24_in_agaa(T73, T74, X185, X183))
U3_gaaa(T72, T73, T74, X184, X185, X186, X187, last24_out_agaa(T73, T74, X185, X183)) → halves41_out_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187)
halves41_in_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187) → U4_gaaa(T72, T73, T74, X184, T77, X186, X187, last24_in_agaa(T73, T74, T77, T78))
U4_gaaa(T72, T73, T74, X184, T77, X186, X187, last24_out_agaa(T73, T74, T77, T78)) → U5_gaaa(T72, T73, T74, X184, T77, X186, X187, halves41_in_gaaa(T78, X184, X186, X187))
U5_gaaa(T72, T73, T74, X184, T77, X186, X187, halves41_out_gaaa(T78, X184, X186, X187)) → halves41_out_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187)
U9_g(T21, T22, T23, halves41_out_gaaa(T27, X74, X76, X77)) → palindrome1_out_g(.(T21, .(T22, T23)))
palindrome1_in_g(.(T88, .(T22, T23))) → U10_g(T88, T22, T23, last24_in_agaa(T22, T23, T88, T27))
U10_g(T88, T22, T23, last24_out_agaa(T22, T23, T88, T27)) → U11_g(T88, T22, T23, halves41_in_gaag(T27, T89, T89, even))
halves41_in_gaag([], [], [], even) → halves41_out_gaag([], [], [], even)
halves41_in_gaag(.(T65, []), .(T65, []), [], odd) → halves41_out_gaag(.(T65, []), .(T65, []), [], odd)
halves41_in_gaag(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187) → U3_gaag(T72, T73, T74, X184, X185, X186, X187, last24_in_agaa(T73, T74, X185, X183))
U3_gaag(T72, T73, T74, X184, X185, X186, X187, last24_out_agaa(T73, T74, X185, X183)) → halves41_out_gaag(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187)
halves41_in_gaag(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187) → U4_gaag(T72, T73, T74, X184, T77, X186, X187, last24_in_agaa(T73, T74, T77, T78))
U4_gaag(T72, T73, T74, X184, T77, X186, X187, last24_out_agaa(T73, T74, T77, T78)) → U5_gaag(T72, T73, T74, X184, T77, X186, X187, halves41_in_gaag(T78, X184, X186, X187))
U5_gaag(T72, T73, T74, X184, T77, X186, X187, halves41_out_gaag(T78, X184, X186, X187)) → halves41_out_gaag(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187)
U11_g(T88, T22, T23, halves41_out_gaag(T27, T89, T89, even)) → palindrome1_out_g(.(T88, .(T22, T23)))
palindrome1_in_g(T92) → U12_g(T92, halves41_in_gaaa(T92, X214, X215, X216))
U12_g(T92, halves41_out_gaaa(T92, X214, X215, X216)) → palindrome1_out_g(T92)
palindrome1_in_g(T92) → U13_g(T92, halves41_in_gaag(T92, T93, T94, odd))
U13_g(T92, halves41_out_gaag(T92, T93, T94, odd)) → U14_g(T92, last70_in_aaa(T93, X217, T94))
last70_in_aaa(.(T107, []), T107, []) → last70_out_aaa(.(T107, []), T107, [])
last70_in_aaa(.(T114, T115), X246, .(T114, T116)) → U6_aaa(T114, T115, X246, T116, last70_in_aaa(T115, X246, T116))
U6_aaa(T114, T115, X246, T116, last70_out_aaa(T115, X246, T116)) → last70_out_aaa(.(T114, T115), X246, .(T114, T116))
U14_g(T92, last70_out_aaa(T93, X217, T94)) → palindrome1_out_g(T92)

The argument filtering Pi contains the following mapping:
palindrome1_in_g(x1)  =  palindrome1_in_g(x1)
[]  =  []
palindrome1_out_g(x1)  =  palindrome1_out_g(x1)
.(x1, x2)  =  .(x2)
U7_g(x1, x2, x3, x4)  =  U7_g(x3, x4)
last32_in_gaa(x1, x2, x3)  =  last32_in_gaa(x1)
last32_out_gaa(x1, x2, x3)  =  last32_out_gaa(x1, x3)
U1_gaa(x1, x2, x3, x4, x5)  =  U1_gaa(x2, x5)
U8_g(x1, x2, x3, x4)  =  U8_g(x3, x4)
U9_g(x1, x2, x3, x4)  =  U9_g(x3, x4)
halves41_in_gaaa(x1, x2, x3, x4)  =  halves41_in_gaaa(x1)
halves41_out_gaaa(x1, x2, x3, x4)  =  halves41_out_gaaa(x1)
U3_gaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U3_gaaa(x3, x8)
U4_gaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U4_gaaa(x3, x8)
U5_gaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U5_gaaa(x3, x8)
U10_g(x1, x2, x3, x4)  =  U10_g(x3, x4)
U11_g(x1, x2, x3, x4)  =  U11_g(x3, x4)
halves41_in_gaag(x1, x2, x3, x4)  =  halves41_in_gaag(x1, x4)
even  =  even
halves41_out_gaag(x1, x2, x3, x4)  =  halves41_out_gaag(x1, x4)
odd  =  odd
U3_gaag(x1, x2, x3, x4, x5, x6, x7, x8)  =  U3_gaag(x3, x7, x8)
U4_gaag(x1, x2, x3, x4, x5, x6, x7, x8)  =  U4_gaag(x3, x7, x8)
U5_gaag(x1, x2, x3, x4, x5, x6, x7, x8)  =  U5_gaag(x3, x7, x8)
U12_g(x1, x2)  =  U12_g(x1, x2)
U13_g(x1, x2)  =  U13_g(x1, x2)
U14_g(x1, x2)  =  U14_g(x1, x2)
last70_in_aaa(x1, x2, x3)  =  last70_in_aaa
last70_out_aaa(x1, x2, x3)  =  last70_out_aaa(x1, x3)
last24_in_agaa(x1, x2, x3, x4)  =  last24_in_agaa(x2)
last24_out_agaa(x1, x2, x3, x4)  =  last24_out_agaa(x2, x4)
U2_agaa(x1, x2, x3, x4, x5)  =  U2_agaa(x2, x5)
U6_aaa(x1, x2, x3, x4, x5)  =  U6_aaa(x5)
LAST32_IN_GAA(x1, x2, x3)  =  LAST32_IN_GAA(x1)

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

(55) UsableRulesProof (EQUIVALENT transformation)

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

(56) Obligation:

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

LAST32_IN_GAA(.(T54, T55), X139, .(T54, X140)) → LAST32_IN_GAA(T55, X139, X140)

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

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

(57) PiDPToQDPProof (SOUND transformation)

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

(58) Obligation:

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

LAST32_IN_GAA(.(T55)) → LAST32_IN_GAA(T55)

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

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

  • LAST32_IN_GAA(.(T55)) → LAST32_IN_GAA(T55)
    The graph contains the following edges 1 > 1

(60) YES

(61) Obligation:

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

HALVES41_IN_GAAG(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187) → U4_GAAG(T72, T73, T74, X184, T77, X186, X187, last24_in_agaa(T73, T74, T77, T78))
U4_GAAG(T72, T73, T74, X184, T77, X186, X187, last24_out_agaa(T73, T74, T77, T78)) → HALVES41_IN_GAAG(T78, X184, X186, X187)

The TRS R consists of the following rules:

palindrome1_in_g([]) → palindrome1_out_g([])
palindrome1_in_g(.(T21, .(T22, T23))) → U7_g(T21, T22, T23, last24_in_agaa(T22, T23, X75, X73))
last24_in_agaa(T34, [], T34, []) → last24_out_agaa(T34, [], T34, [])
last24_in_agaa(T41, T42, X113, .(T41, X114)) → U2_agaa(T41, T42, X113, X114, last32_in_gaa(T42, X113, X114))
last32_in_gaa(.(T49, []), T49, []) → last32_out_gaa(.(T49, []), T49, [])
last32_in_gaa(.(T54, T55), X139, .(T54, X140)) → U1_gaa(T54, T55, X139, X140, last32_in_gaa(T55, X139, X140))
U1_gaa(T54, T55, X139, X140, last32_out_gaa(T55, X139, X140)) → last32_out_gaa(.(T54, T55), X139, .(T54, X140))
U2_agaa(T41, T42, X113, X114, last32_out_gaa(T42, X113, X114)) → last24_out_agaa(T41, T42, X113, .(T41, X114))
U7_g(T21, T22, T23, last24_out_agaa(T22, T23, X75, X73)) → palindrome1_out_g(.(T21, .(T22, T23)))
palindrome1_in_g(.(T21, .(T22, T23))) → U8_g(T21, T22, T23, last24_in_agaa(T22, T23, T26, T27))
U8_g(T21, T22, T23, last24_out_agaa(T22, T23, T26, T27)) → U9_g(T21, T22, T23, halves41_in_gaaa(T27, X74, X76, X77))
halves41_in_gaaa([], [], [], even) → halves41_out_gaaa([], [], [], even)
halves41_in_gaaa(.(T65, []), .(T65, []), [], odd) → halves41_out_gaaa(.(T65, []), .(T65, []), [], odd)
halves41_in_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187) → U3_gaaa(T72, T73, T74, X184, X185, X186, X187, last24_in_agaa(T73, T74, X185, X183))
U3_gaaa(T72, T73, T74, X184, X185, X186, X187, last24_out_agaa(T73, T74, X185, X183)) → halves41_out_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187)
halves41_in_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187) → U4_gaaa(T72, T73, T74, X184, T77, X186, X187, last24_in_agaa(T73, T74, T77, T78))
U4_gaaa(T72, T73, T74, X184, T77, X186, X187, last24_out_agaa(T73, T74, T77, T78)) → U5_gaaa(T72, T73, T74, X184, T77, X186, X187, halves41_in_gaaa(T78, X184, X186, X187))
U5_gaaa(T72, T73, T74, X184, T77, X186, X187, halves41_out_gaaa(T78, X184, X186, X187)) → halves41_out_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187)
U9_g(T21, T22, T23, halves41_out_gaaa(T27, X74, X76, X77)) → palindrome1_out_g(.(T21, .(T22, T23)))
palindrome1_in_g(.(T88, .(T22, T23))) → U10_g(T88, T22, T23, last24_in_agaa(T22, T23, T88, T27))
U10_g(T88, T22, T23, last24_out_agaa(T22, T23, T88, T27)) → U11_g(T88, T22, T23, halves41_in_gaag(T27, T89, T89, even))
halves41_in_gaag([], [], [], even) → halves41_out_gaag([], [], [], even)
halves41_in_gaag(.(T65, []), .(T65, []), [], odd) → halves41_out_gaag(.(T65, []), .(T65, []), [], odd)
halves41_in_gaag(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187) → U3_gaag(T72, T73, T74, X184, X185, X186, X187, last24_in_agaa(T73, T74, X185, X183))
U3_gaag(T72, T73, T74, X184, X185, X186, X187, last24_out_agaa(T73, T74, X185, X183)) → halves41_out_gaag(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187)
halves41_in_gaag(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187) → U4_gaag(T72, T73, T74, X184, T77, X186, X187, last24_in_agaa(T73, T74, T77, T78))
U4_gaag(T72, T73, T74, X184, T77, X186, X187, last24_out_agaa(T73, T74, T77, T78)) → U5_gaag(T72, T73, T74, X184, T77, X186, X187, halves41_in_gaag(T78, X184, X186, X187))
U5_gaag(T72, T73, T74, X184, T77, X186, X187, halves41_out_gaag(T78, X184, X186, X187)) → halves41_out_gaag(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187)
U11_g(T88, T22, T23, halves41_out_gaag(T27, T89, T89, even)) → palindrome1_out_g(.(T88, .(T22, T23)))
palindrome1_in_g(T92) → U12_g(T92, halves41_in_gaaa(T92, X214, X215, X216))
U12_g(T92, halves41_out_gaaa(T92, X214, X215, X216)) → palindrome1_out_g(T92)
palindrome1_in_g(T92) → U13_g(T92, halves41_in_gaag(T92, T93, T94, odd))
U13_g(T92, halves41_out_gaag(T92, T93, T94, odd)) → U14_g(T92, last70_in_aaa(T93, X217, T94))
last70_in_aaa(.(T107, []), T107, []) → last70_out_aaa(.(T107, []), T107, [])
last70_in_aaa(.(T114, T115), X246, .(T114, T116)) → U6_aaa(T114, T115, X246, T116, last70_in_aaa(T115, X246, T116))
U6_aaa(T114, T115, X246, T116, last70_out_aaa(T115, X246, T116)) → last70_out_aaa(.(T114, T115), X246, .(T114, T116))
U14_g(T92, last70_out_aaa(T93, X217, T94)) → palindrome1_out_g(T92)

The argument filtering Pi contains the following mapping:
palindrome1_in_g(x1)  =  palindrome1_in_g(x1)
[]  =  []
palindrome1_out_g(x1)  =  palindrome1_out_g(x1)
.(x1, x2)  =  .(x2)
U7_g(x1, x2, x3, x4)  =  U7_g(x3, x4)
last32_in_gaa(x1, x2, x3)  =  last32_in_gaa(x1)
last32_out_gaa(x1, x2, x3)  =  last32_out_gaa(x1, x3)
U1_gaa(x1, x2, x3, x4, x5)  =  U1_gaa(x2, x5)
U8_g(x1, x2, x3, x4)  =  U8_g(x3, x4)
U9_g(x1, x2, x3, x4)  =  U9_g(x3, x4)
halves41_in_gaaa(x1, x2, x3, x4)  =  halves41_in_gaaa(x1)
halves41_out_gaaa(x1, x2, x3, x4)  =  halves41_out_gaaa(x1)
U3_gaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U3_gaaa(x3, x8)
U4_gaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U4_gaaa(x3, x8)
U5_gaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U5_gaaa(x3, x8)
U10_g(x1, x2, x3, x4)  =  U10_g(x3, x4)
U11_g(x1, x2, x3, x4)  =  U11_g(x3, x4)
halves41_in_gaag(x1, x2, x3, x4)  =  halves41_in_gaag(x1, x4)
even  =  even
halves41_out_gaag(x1, x2, x3, x4)  =  halves41_out_gaag(x1, x4)
odd  =  odd
U3_gaag(x1, x2, x3, x4, x5, x6, x7, x8)  =  U3_gaag(x3, x7, x8)
U4_gaag(x1, x2, x3, x4, x5, x6, x7, x8)  =  U4_gaag(x3, x7, x8)
U5_gaag(x1, x2, x3, x4, x5, x6, x7, x8)  =  U5_gaag(x3, x7, x8)
U12_g(x1, x2)  =  U12_g(x1, x2)
U13_g(x1, x2)  =  U13_g(x1, x2)
U14_g(x1, x2)  =  U14_g(x1, x2)
last70_in_aaa(x1, x2, x3)  =  last70_in_aaa
last70_out_aaa(x1, x2, x3)  =  last70_out_aaa(x1, x3)
last24_in_agaa(x1, x2, x3, x4)  =  last24_in_agaa(x2)
last24_out_agaa(x1, x2, x3, x4)  =  last24_out_agaa(x2, x4)
U2_agaa(x1, x2, x3, x4, x5)  =  U2_agaa(x2, x5)
U6_aaa(x1, x2, x3, x4, x5)  =  U6_aaa(x5)
HALVES41_IN_GAAG(x1, x2, x3, x4)  =  HALVES41_IN_GAAG(x1, x4)
U4_GAAG(x1, x2, x3, x4, x5, x6, x7, x8)  =  U4_GAAG(x3, x7, x8)

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

(62) UsableRulesProof (EQUIVALENT transformation)

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

(63) Obligation:

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

HALVES41_IN_GAAG(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187) → U4_GAAG(T72, T73, T74, X184, T77, X186, X187, last24_in_agaa(T73, T74, T77, T78))
U4_GAAG(T72, T73, T74, X184, T77, X186, X187, last24_out_agaa(T73, T74, T77, T78)) → HALVES41_IN_GAAG(T78, X184, X186, X187)

The TRS R consists of the following rules:

last24_in_agaa(T34, [], T34, []) → last24_out_agaa(T34, [], T34, [])
last24_in_agaa(T41, T42, X113, .(T41, X114)) → U2_agaa(T41, T42, X113, X114, last32_in_gaa(T42, X113, X114))
U2_agaa(T41, T42, X113, X114, last32_out_gaa(T42, X113, X114)) → last24_out_agaa(T41, T42, X113, .(T41, X114))
last32_in_gaa(.(T49, []), T49, []) → last32_out_gaa(.(T49, []), T49, [])
last32_in_gaa(.(T54, T55), X139, .(T54, X140)) → U1_gaa(T54, T55, X139, X140, last32_in_gaa(T55, X139, X140))
U1_gaa(T54, T55, X139, X140, last32_out_gaa(T55, X139, X140)) → last32_out_gaa(.(T54, T55), X139, .(T54, X140))

The argument filtering Pi contains the following mapping:
[]  =  []
.(x1, x2)  =  .(x2)
last32_in_gaa(x1, x2, x3)  =  last32_in_gaa(x1)
last32_out_gaa(x1, x2, x3)  =  last32_out_gaa(x1, x3)
U1_gaa(x1, x2, x3, x4, x5)  =  U1_gaa(x2, x5)
last24_in_agaa(x1, x2, x3, x4)  =  last24_in_agaa(x2)
last24_out_agaa(x1, x2, x3, x4)  =  last24_out_agaa(x2, x4)
U2_agaa(x1, x2, x3, x4, x5)  =  U2_agaa(x2, x5)
HALVES41_IN_GAAG(x1, x2, x3, x4)  =  HALVES41_IN_GAAG(x1, x4)
U4_GAAG(x1, x2, x3, x4, x5, x6, x7, x8)  =  U4_GAAG(x3, x7, x8)

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

(64) PiDPToQDPProof (SOUND transformation)

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

(65) Obligation:

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

HALVES41_IN_GAAG(.(.(T74)), X187) → U4_GAAG(T74, X187, last24_in_agaa(T74))
U4_GAAG(T74, X187, last24_out_agaa(T74, T78)) → HALVES41_IN_GAAG(T78, X187)

The TRS R consists of the following rules:

last24_in_agaa([]) → last24_out_agaa([], [])
last24_in_agaa(T42) → U2_agaa(T42, last32_in_gaa(T42))
U2_agaa(T42, last32_out_gaa(T42, X114)) → last24_out_agaa(T42, .(X114))
last32_in_gaa(.([])) → last32_out_gaa(.([]), [])
last32_in_gaa(.(T55)) → U1_gaa(T55, last32_in_gaa(T55))
U1_gaa(T55, last32_out_gaa(T55, X140)) → last32_out_gaa(.(T55), .(X140))

The set Q consists of the following terms:

last24_in_agaa(x0)
U2_agaa(x0, x1)
last32_in_gaa(x0)
U1_gaa(x0, x1)

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

(66) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


HALVES41_IN_GAAG(.(.(T74)), X187) → U4_GAAG(T74, X187, last24_in_agaa(T74))
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation:

POL( U4_GAAG(x1, ..., x3) ) = 2x2 + 2x3 + 2


POL( last24_in_agaa(x1) ) = 2x1


POL( [] ) = 0


POL( last24_out_agaa(x1, x2) ) = max{0, x2 - 1}


POL( U2_agaa(x1, x2) ) = max{0, 2x2 - 2}


POL( last32_in_gaa(x1) ) = x1


POL( .(x1) ) = 2x1 + 2


POL( last32_out_gaa(x1, x2) ) = x2 + 2


POL( U1_gaa(x1, x2) ) = 2x2 + 2


POL( HALVES41_IN_GAAG(x1, x2) ) = x1 + 2x2



The following usable rules [FROCOS05] were oriented:

last24_in_agaa([]) → last24_out_agaa([], [])
last24_in_agaa(T42) → U2_agaa(T42, last32_in_gaa(T42))
last32_in_gaa(.([])) → last32_out_gaa(.([]), [])
last32_in_gaa(.(T55)) → U1_gaa(T55, last32_in_gaa(T55))
U2_agaa(T42, last32_out_gaa(T42, X114)) → last24_out_agaa(T42, .(X114))
U1_gaa(T55, last32_out_gaa(T55, X140)) → last32_out_gaa(.(T55), .(X140))

(67) Obligation:

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

U4_GAAG(T74, X187, last24_out_agaa(T74, T78)) → HALVES41_IN_GAAG(T78, X187)

The TRS R consists of the following rules:

last24_in_agaa([]) → last24_out_agaa([], [])
last24_in_agaa(T42) → U2_agaa(T42, last32_in_gaa(T42))
U2_agaa(T42, last32_out_gaa(T42, X114)) → last24_out_agaa(T42, .(X114))
last32_in_gaa(.([])) → last32_out_gaa(.([]), [])
last32_in_gaa(.(T55)) → U1_gaa(T55, last32_in_gaa(T55))
U1_gaa(T55, last32_out_gaa(T55, X140)) → last32_out_gaa(.(T55), .(X140))

The set Q consists of the following terms:

last24_in_agaa(x0)
U2_agaa(x0, x1)
last32_in_gaa(x0)
U1_gaa(x0, x1)

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

(68) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node.

(69) TRUE

(70) Obligation:

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

HALVES41_IN_GAAA(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187) → U4_GAAA(T72, T73, T74, X184, T77, X186, X187, last24_in_agaa(T73, T74, T77, T78))
U4_GAAA(T72, T73, T74, X184, T77, X186, X187, last24_out_agaa(T73, T74, T77, T78)) → HALVES41_IN_GAAA(T78, X184, X186, X187)

The TRS R consists of the following rules:

palindrome1_in_g([]) → palindrome1_out_g([])
palindrome1_in_g(.(T21, .(T22, T23))) → U7_g(T21, T22, T23, last24_in_agaa(T22, T23, X75, X73))
last24_in_agaa(T34, [], T34, []) → last24_out_agaa(T34, [], T34, [])
last24_in_agaa(T41, T42, X113, .(T41, X114)) → U2_agaa(T41, T42, X113, X114, last32_in_gaa(T42, X113, X114))
last32_in_gaa(.(T49, []), T49, []) → last32_out_gaa(.(T49, []), T49, [])
last32_in_gaa(.(T54, T55), X139, .(T54, X140)) → U1_gaa(T54, T55, X139, X140, last32_in_gaa(T55, X139, X140))
U1_gaa(T54, T55, X139, X140, last32_out_gaa(T55, X139, X140)) → last32_out_gaa(.(T54, T55), X139, .(T54, X140))
U2_agaa(T41, T42, X113, X114, last32_out_gaa(T42, X113, X114)) → last24_out_agaa(T41, T42, X113, .(T41, X114))
U7_g(T21, T22, T23, last24_out_agaa(T22, T23, X75, X73)) → palindrome1_out_g(.(T21, .(T22, T23)))
palindrome1_in_g(.(T21, .(T22, T23))) → U8_g(T21, T22, T23, last24_in_agaa(T22, T23, T26, T27))
U8_g(T21, T22, T23, last24_out_agaa(T22, T23, T26, T27)) → U9_g(T21, T22, T23, halves41_in_gaaa(T27, X74, X76, X77))
halves41_in_gaaa([], [], [], even) → halves41_out_gaaa([], [], [], even)
halves41_in_gaaa(.(T65, []), .(T65, []), [], odd) → halves41_out_gaaa(.(T65, []), .(T65, []), [], odd)
halves41_in_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187) → U3_gaaa(T72, T73, T74, X184, X185, X186, X187, last24_in_agaa(T73, T74, X185, X183))
U3_gaaa(T72, T73, T74, X184, X185, X186, X187, last24_out_agaa(T73, T74, X185, X183)) → halves41_out_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187)
halves41_in_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187) → U4_gaaa(T72, T73, T74, X184, T77, X186, X187, last24_in_agaa(T73, T74, T77, T78))
U4_gaaa(T72, T73, T74, X184, T77, X186, X187, last24_out_agaa(T73, T74, T77, T78)) → U5_gaaa(T72, T73, T74, X184, T77, X186, X187, halves41_in_gaaa(T78, X184, X186, X187))
U5_gaaa(T72, T73, T74, X184, T77, X186, X187, halves41_out_gaaa(T78, X184, X186, X187)) → halves41_out_gaaa(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187)
U9_g(T21, T22, T23, halves41_out_gaaa(T27, X74, X76, X77)) → palindrome1_out_g(.(T21, .(T22, T23)))
palindrome1_in_g(.(T88, .(T22, T23))) → U10_g(T88, T22, T23, last24_in_agaa(T22, T23, T88, T27))
U10_g(T88, T22, T23, last24_out_agaa(T22, T23, T88, T27)) → U11_g(T88, T22, T23, halves41_in_gaag(T27, T89, T89, even))
halves41_in_gaag([], [], [], even) → halves41_out_gaag([], [], [], even)
halves41_in_gaag(.(T65, []), .(T65, []), [], odd) → halves41_out_gaag(.(T65, []), .(T65, []), [], odd)
halves41_in_gaag(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187) → U3_gaag(T72, T73, T74, X184, X185, X186, X187, last24_in_agaa(T73, T74, X185, X183))
U3_gaag(T72, T73, T74, X184, X185, X186, X187, last24_out_agaa(T73, T74, X185, X183)) → halves41_out_gaag(.(T72, .(T73, T74)), .(T72, X184), .(X185, X186), X187)
halves41_in_gaag(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187) → U4_gaag(T72, T73, T74, X184, T77, X186, X187, last24_in_agaa(T73, T74, T77, T78))
U4_gaag(T72, T73, T74, X184, T77, X186, X187, last24_out_agaa(T73, T74, T77, T78)) → U5_gaag(T72, T73, T74, X184, T77, X186, X187, halves41_in_gaag(T78, X184, X186, X187))
U5_gaag(T72, T73, T74, X184, T77, X186, X187, halves41_out_gaag(T78, X184, X186, X187)) → halves41_out_gaag(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187)
U11_g(T88, T22, T23, halves41_out_gaag(T27, T89, T89, even)) → palindrome1_out_g(.(T88, .(T22, T23)))
palindrome1_in_g(T92) → U12_g(T92, halves41_in_gaaa(T92, X214, X215, X216))
U12_g(T92, halves41_out_gaaa(T92, X214, X215, X216)) → palindrome1_out_g(T92)
palindrome1_in_g(T92) → U13_g(T92, halves41_in_gaag(T92, T93, T94, odd))
U13_g(T92, halves41_out_gaag(T92, T93, T94, odd)) → U14_g(T92, last70_in_aaa(T93, X217, T94))
last70_in_aaa(.(T107, []), T107, []) → last70_out_aaa(.(T107, []), T107, [])
last70_in_aaa(.(T114, T115), X246, .(T114, T116)) → U6_aaa(T114, T115, X246, T116, last70_in_aaa(T115, X246, T116))
U6_aaa(T114, T115, X246, T116, last70_out_aaa(T115, X246, T116)) → last70_out_aaa(.(T114, T115), X246, .(T114, T116))
U14_g(T92, last70_out_aaa(T93, X217, T94)) → palindrome1_out_g(T92)

The argument filtering Pi contains the following mapping:
palindrome1_in_g(x1)  =  palindrome1_in_g(x1)
[]  =  []
palindrome1_out_g(x1)  =  palindrome1_out_g(x1)
.(x1, x2)  =  .(x2)
U7_g(x1, x2, x3, x4)  =  U7_g(x3, x4)
last32_in_gaa(x1, x2, x3)  =  last32_in_gaa(x1)
last32_out_gaa(x1, x2, x3)  =  last32_out_gaa(x1, x3)
U1_gaa(x1, x2, x3, x4, x5)  =  U1_gaa(x2, x5)
U8_g(x1, x2, x3, x4)  =  U8_g(x3, x4)
U9_g(x1, x2, x3, x4)  =  U9_g(x3, x4)
halves41_in_gaaa(x1, x2, x3, x4)  =  halves41_in_gaaa(x1)
halves41_out_gaaa(x1, x2, x3, x4)  =  halves41_out_gaaa(x1)
U3_gaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U3_gaaa(x3, x8)
U4_gaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U4_gaaa(x3, x8)
U5_gaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U5_gaaa(x3, x8)
U10_g(x1, x2, x3, x4)  =  U10_g(x3, x4)
U11_g(x1, x2, x3, x4)  =  U11_g(x3, x4)
halves41_in_gaag(x1, x2, x3, x4)  =  halves41_in_gaag(x1, x4)
even  =  even
halves41_out_gaag(x1, x2, x3, x4)  =  halves41_out_gaag(x1, x4)
odd  =  odd
U3_gaag(x1, x2, x3, x4, x5, x6, x7, x8)  =  U3_gaag(x3, x7, x8)
U4_gaag(x1, x2, x3, x4, x5, x6, x7, x8)  =  U4_gaag(x3, x7, x8)
U5_gaag(x1, x2, x3, x4, x5, x6, x7, x8)  =  U5_gaag(x3, x7, x8)
U12_g(x1, x2)  =  U12_g(x1, x2)
U13_g(x1, x2)  =  U13_g(x1, x2)
U14_g(x1, x2)  =  U14_g(x1, x2)
last70_in_aaa(x1, x2, x3)  =  last70_in_aaa
last70_out_aaa(x1, x2, x3)  =  last70_out_aaa(x1, x3)
last24_in_agaa(x1, x2, x3, x4)  =  last24_in_agaa(x2)
last24_out_agaa(x1, x2, x3, x4)  =  last24_out_agaa(x2, x4)
U2_agaa(x1, x2, x3, x4, x5)  =  U2_agaa(x2, x5)
U6_aaa(x1, x2, x3, x4, x5)  =  U6_aaa(x5)
HALVES41_IN_GAAA(x1, x2, x3, x4)  =  HALVES41_IN_GAAA(x1)
U4_GAAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U4_GAAA(x3, x8)

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

(71) UsableRulesProof (EQUIVALENT transformation)

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

(72) Obligation:

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

HALVES41_IN_GAAA(.(T72, .(T73, T74)), .(T72, X184), .(T77, X186), X187) → U4_GAAA(T72, T73, T74, X184, T77, X186, X187, last24_in_agaa(T73, T74, T77, T78))
U4_GAAA(T72, T73, T74, X184, T77, X186, X187, last24_out_agaa(T73, T74, T77, T78)) → HALVES41_IN_GAAA(T78, X184, X186, X187)

The TRS R consists of the following rules:

last24_in_agaa(T34, [], T34, []) → last24_out_agaa(T34, [], T34, [])
last24_in_agaa(T41, T42, X113, .(T41, X114)) → U2_agaa(T41, T42, X113, X114, last32_in_gaa(T42, X113, X114))
U2_agaa(T41, T42, X113, X114, last32_out_gaa(T42, X113, X114)) → last24_out_agaa(T41, T42, X113, .(T41, X114))
last32_in_gaa(.(T49, []), T49, []) → last32_out_gaa(.(T49, []), T49, [])
last32_in_gaa(.(T54, T55), X139, .(T54, X140)) → U1_gaa(T54, T55, X139, X140, last32_in_gaa(T55, X139, X140))
U1_gaa(T54, T55, X139, X140, last32_out_gaa(T55, X139, X140)) → last32_out_gaa(.(T54, T55), X139, .(T54, X140))

The argument filtering Pi contains the following mapping:
[]  =  []
.(x1, x2)  =  .(x2)
last32_in_gaa(x1, x2, x3)  =  last32_in_gaa(x1)
last32_out_gaa(x1, x2, x3)  =  last32_out_gaa(x1, x3)
U1_gaa(x1, x2, x3, x4, x5)  =  U1_gaa(x2, x5)
last24_in_agaa(x1, x2, x3, x4)  =  last24_in_agaa(x2)
last24_out_agaa(x1, x2, x3, x4)  =  last24_out_agaa(x2, x4)
U2_agaa(x1, x2, x3, x4, x5)  =  U2_agaa(x2, x5)
HALVES41_IN_GAAA(x1, x2, x3, x4)  =  HALVES41_IN_GAAA(x1)
U4_GAAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U4_GAAA(x3, x8)

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

(73) PiDPToQDPProof (SOUND transformation)

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

(74) Obligation:

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

HALVES41_IN_GAAA(.(.(T74))) → U4_GAAA(T74, last24_in_agaa(T74))
U4_GAAA(T74, last24_out_agaa(T74, T78)) → HALVES41_IN_GAAA(T78)

The TRS R consists of the following rules:

last24_in_agaa([]) → last24_out_agaa([], [])
last24_in_agaa(T42) → U2_agaa(T42, last32_in_gaa(T42))
U2_agaa(T42, last32_out_gaa(T42, X114)) → last24_out_agaa(T42, .(X114))
last32_in_gaa(.([])) → last32_out_gaa(.([]), [])
last32_in_gaa(.(T55)) → U1_gaa(T55, last32_in_gaa(T55))
U1_gaa(T55, last32_out_gaa(T55, X140)) → last32_out_gaa(.(T55), .(X140))

The set Q consists of the following terms:

last24_in_agaa(x0)
U2_agaa(x0, x1)
last32_in_gaa(x0)
U1_gaa(x0, x1)

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

(75) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


HALVES41_IN_GAAA(.(.(T74))) → U4_GAAA(T74, last24_in_agaa(T74))
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial interpretation [POLO]:

POL(.(x1)) = 1 + x1   
POL(HALVES41_IN_GAAA(x1)) = x1   
POL(U1_gaa(x1, x2)) = 1 + x2   
POL(U2_agaa(x1, x2)) = 1 + x2   
POL(U4_GAAA(x1, x2)) = x2   
POL([]) = 0   
POL(last24_in_agaa(x1)) = 1 + x1   
POL(last24_out_agaa(x1, x2)) = x2   
POL(last32_in_gaa(x1)) = x1   
POL(last32_out_gaa(x1, x2)) = x2   

The following usable rules [FROCOS05] were oriented:

last24_in_agaa([]) → last24_out_agaa([], [])
last24_in_agaa(T42) → U2_agaa(T42, last32_in_gaa(T42))
last32_in_gaa(.([])) → last32_out_gaa(.([]), [])
last32_in_gaa(.(T55)) → U1_gaa(T55, last32_in_gaa(T55))
U2_agaa(T42, last32_out_gaa(T42, X114)) → last24_out_agaa(T42, .(X114))
U1_gaa(T55, last32_out_gaa(T55, X140)) → last32_out_gaa(.(T55), .(X140))

(76) Obligation:

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

U4_GAAA(T74, last24_out_agaa(T74, T78)) → HALVES41_IN_GAAA(T78)

The TRS R consists of the following rules:

last24_in_agaa([]) → last24_out_agaa([], [])
last24_in_agaa(T42) → U2_agaa(T42, last32_in_gaa(T42))
U2_agaa(T42, last32_out_gaa(T42, X114)) → last24_out_agaa(T42, .(X114))
last32_in_gaa(.([])) → last32_out_gaa(.([]), [])
last32_in_gaa(.(T55)) → U1_gaa(T55, last32_in_gaa(T55))
U1_gaa(T55, last32_out_gaa(T55, X140)) → last32_out_gaa(.(T55), .(X140))

The set Q consists of the following terms:

last24_in_agaa(x0)
U2_agaa(x0, x1)
last32_in_gaa(x0)
U1_gaa(x0, x1)

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

(77) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node.

(78) TRUE