(0) Obligation:

Clauses:

ss(Xs, Ys) :- ','(perm(Xs, Ys), ordered(Ys)).
perm([], []).
perm(Xs, .(X, Ys)) :- ','(app(X1s, .(X, X2s), Xs), ','(app(X1s, X2s, Zs), perm(Zs, Ys))).
app([], X, X).
app(.(X, Xs), Ys, .(X, Zs)) :- app(Xs, Ys, Zs).
ordered([]).
ordered(.(X1, [])).
ordered(.(X, .(Y, Xs))) :- ','(less(X, s(Y)), ordered(.(Y, Xs))).
less(0, s(X2)).
less(s(X), s(Y)) :- less(X, Y).

Queries:

ss(g,a).

(1) PrologToDTProblemTransformerProof (SOUND transformation)

Built DT problem from termination graph.

(2) Obligation:

Triples:

app18(.(X66, X67), T38, X68, .(X66, T37)) :- app18(X67, T38, X68, T37).
app28(.(T57, T58), T59, .(T57, X101)) :- app28(T58, T59, X101).
perm38(T69, .(T72, T73)) :- app18(X120, T72, X121, T69).
perm38(T69, .(T72, T78)) :- ','(appc18(T76, T72, T77, T69), app28(T76, T77, X122)).
perm38(T69, .(T72, T78)) :- ','(appc18(T76, T72, T77, T69), ','(appc28(T76, T77, T83), perm38(T83, T78))).
ordered39(s(T115), .(T116, T101)) :- less69(T115, T116).
ordered39(T99, .(T100, T101)) :- ','(lessc61(T99, T100), ordered39(T100, T101)).
less69(s(T128), s(T129)) :- less69(T128, T129).
ss1(T14, .(T17, T18)) :- app18(X23, T17, X24, T14).
ss1(T14, .(T24, T23)) :- ','(appc18(T21, T24, T22, T14), app28(T21, T22, X25)).
ss1(T14, .(T24, T23)) :- ','(appc18(T21, T24, T22, T14), ','(appc28(T21, T22, T43), perm38(T43, T23))).
ss1(T14, .(T24, T62)) :- ','(appc18(T21, T24, T22, T14), ','(appc28(T21, T22, T43), ','(permc38(T43, T62), ordered39(T24, T62)))).

Clauses:

appc18([], T31, X46, .(T31, X46)).
appc18(.(X66, X67), T38, X68, .(X66, T37)) :- appc18(X67, T38, X68, T37).
appc28([], T50, T50).
appc28(.(T57, T58), T59, .(T57, X101)) :- appc28(T58, T59, X101).
permc38([], []).
permc38(T69, .(T72, T78)) :- ','(appc18(T76, T72, T77, T69), ','(appc28(T76, T77, T83), permc38(T83, T78))).
orderedc39(T92, []).
orderedc39(T99, .(T100, T101)) :- ','(lessc61(T99, T100), orderedc39(T100, T101)).
lessc69(0, s(T123)).
lessc69(s(T128), s(T129)) :- lessc69(T128, T129).
lessc61(0, T110).
lessc61(s(T115), T116) :- lessc69(T115, T116).

Afs:

ss1(x1, x2)  =  ss1(x1)

(3) TriplesToPiDPProof (SOUND transformation)

We use the technique of [LOPSTR]. With regard to the inferred argument filtering the predicates were used in the following modes:
ss1_in: (b,f)
app18_in: (f,f,f,b)
appc18_in: (f,f,f,b)
app28_in: (b,b,f)
appc28_in: (b,b,f)
perm38_in: (b,f)
permc38_in: (b,f)
ordered39_in: (b,b)
less69_in: (b,b)
lessc61_in: (b,b)
lessc69_in: (b,b)
Transforming TRIPLES into the following Term Rewriting System:
Pi DP problem:
The TRS P consists of the following rules:

SS1_IN_GA(T14, .(T17, T18)) → U12_GA(T14, T17, T18, app18_in_aaag(X23, T17, X24, T14))
SS1_IN_GA(T14, .(T17, T18)) → APP18_IN_AAAG(X23, T17, X24, T14)
APP18_IN_AAAG(.(X66, X67), T38, X68, .(X66, T37)) → U1_AAAG(X66, X67, T38, X68, T37, app18_in_aaag(X67, T38, X68, T37))
APP18_IN_AAAG(.(X66, X67), T38, X68, .(X66, T37)) → APP18_IN_AAAG(X67, T38, X68, T37)
SS1_IN_GA(T14, .(T24, T23)) → U13_GA(T14, T24, T23, appc18_in_aaag(T21, T24, T22, T14))
U13_GA(T14, T24, T23, appc18_out_aaag(T21, T24, T22, T14)) → U14_GA(T14, T24, T23, app28_in_gga(T21, T22, X25))
U13_GA(T14, T24, T23, appc18_out_aaag(T21, T24, T22, T14)) → APP28_IN_GGA(T21, T22, X25)
APP28_IN_GGA(.(T57, T58), T59, .(T57, X101)) → U2_GGA(T57, T58, T59, X101, app28_in_gga(T58, T59, X101))
APP28_IN_GGA(.(T57, T58), T59, .(T57, X101)) → APP28_IN_GGA(T58, T59, X101)
U13_GA(T14, T24, T23, appc18_out_aaag(T21, T24, T22, T14)) → U15_GA(T14, T24, T23, appc28_in_gga(T21, T22, T43))
U15_GA(T14, T24, T23, appc28_out_gga(T21, T22, T43)) → U16_GA(T14, T24, T23, perm38_in_ga(T43, T23))
U15_GA(T14, T24, T23, appc28_out_gga(T21, T22, T43)) → PERM38_IN_GA(T43, T23)
PERM38_IN_GA(T69, .(T72, T73)) → U3_GA(T69, T72, T73, app18_in_aaag(X120, T72, X121, T69))
PERM38_IN_GA(T69, .(T72, T73)) → APP18_IN_AAAG(X120, T72, X121, T69)
PERM38_IN_GA(T69, .(T72, T78)) → U4_GA(T69, T72, T78, appc18_in_aaag(T76, T72, T77, T69))
U4_GA(T69, T72, T78, appc18_out_aaag(T76, T72, T77, T69)) → U5_GA(T69, T72, T78, app28_in_gga(T76, T77, X122))
U4_GA(T69, T72, T78, appc18_out_aaag(T76, T72, T77, T69)) → APP28_IN_GGA(T76, T77, X122)
U4_GA(T69, T72, T78, appc18_out_aaag(T76, T72, T77, T69)) → U6_GA(T69, T72, T78, appc28_in_gga(T76, T77, T83))
U6_GA(T69, T72, T78, appc28_out_gga(T76, T77, T83)) → U7_GA(T69, T72, T78, perm38_in_ga(T83, T78))
U6_GA(T69, T72, T78, appc28_out_gga(T76, T77, T83)) → PERM38_IN_GA(T83, T78)
SS1_IN_GA(T14, .(T24, T62)) → U17_GA(T14, T24, T62, appc18_in_aaag(T21, T24, T22, T14))
U17_GA(T14, T24, T62, appc18_out_aaag(T21, T24, T22, T14)) → U18_GA(T14, T24, T62, appc28_in_gga(T21, T22, T43))
U18_GA(T14, T24, T62, appc28_out_gga(T21, T22, T43)) → U19_GA(T14, T24, T62, permc38_in_ga(T43, T62))
U19_GA(T14, T24, T62, permc38_out_ga(T43, T62)) → U20_GA(T14, T24, T62, ordered39_in_gg(T24, T62))
U19_GA(T14, T24, T62, permc38_out_ga(T43, T62)) → ORDERED39_IN_GG(T24, T62)
ORDERED39_IN_GG(s(T115), .(T116, T101)) → U8_GG(T115, T116, T101, less69_in_gg(T115, T116))
ORDERED39_IN_GG(s(T115), .(T116, T101)) → LESS69_IN_GG(T115, T116)
LESS69_IN_GG(s(T128), s(T129)) → U11_GG(T128, T129, less69_in_gg(T128, T129))
LESS69_IN_GG(s(T128), s(T129)) → LESS69_IN_GG(T128, T129)
ORDERED39_IN_GG(T99, .(T100, T101)) → U9_GG(T99, T100, T101, lessc61_in_gg(T99, T100))
U9_GG(T99, T100, T101, lessc61_out_gg(T99, T100)) → U10_GG(T99, T100, T101, ordered39_in_gg(T100, T101))
U9_GG(T99, T100, T101, lessc61_out_gg(T99, T100)) → ORDERED39_IN_GG(T100, T101)

The TRS R consists of the following rules:

appc18_in_aaag([], T31, X46, .(T31, X46)) → appc18_out_aaag([], T31, X46, .(T31, X46))
appc18_in_aaag(.(X66, X67), T38, X68, .(X66, T37)) → U22_aaag(X66, X67, T38, X68, T37, appc18_in_aaag(X67, T38, X68, T37))
U22_aaag(X66, X67, T38, X68, T37, appc18_out_aaag(X67, T38, X68, T37)) → appc18_out_aaag(.(X66, X67), T38, X68, .(X66, T37))
appc28_in_gga([], T50, T50) → appc28_out_gga([], T50, T50)
appc28_in_gga(.(T57, T58), T59, .(T57, X101)) → U23_gga(T57, T58, T59, X101, appc28_in_gga(T58, T59, X101))
U23_gga(T57, T58, T59, X101, appc28_out_gga(T58, T59, X101)) → appc28_out_gga(.(T57, T58), T59, .(T57, X101))
permc38_in_ga([], []) → permc38_out_ga([], [])
permc38_in_ga(T69, .(T72, T78)) → U24_ga(T69, T72, T78, appc18_in_aaag(T76, T72, T77, T69))
U24_ga(T69, T72, T78, appc18_out_aaag(T76, T72, T77, T69)) → U25_ga(T69, T72, T78, appc28_in_gga(T76, T77, T83))
U25_ga(T69, T72, T78, appc28_out_gga(T76, T77, T83)) → U26_ga(T69, T72, T78, permc38_in_ga(T83, T78))
U26_ga(T69, T72, T78, permc38_out_ga(T83, T78)) → permc38_out_ga(T69, .(T72, T78))
lessc61_in_gg(0, T110) → lessc61_out_gg(0, T110)
lessc61_in_gg(s(T115), T116) → U30_gg(T115, T116, lessc69_in_gg(T115, T116))
lessc69_in_gg(0, s(T123)) → lessc69_out_gg(0, s(T123))
lessc69_in_gg(s(T128), s(T129)) → U29_gg(T128, T129, lessc69_in_gg(T128, T129))
U29_gg(T128, T129, lessc69_out_gg(T128, T129)) → lessc69_out_gg(s(T128), s(T129))
U30_gg(T115, T116, lessc69_out_gg(T115, T116)) → lessc61_out_gg(s(T115), T116)

The argument filtering Pi contains the following mapping:
app18_in_aaag(x1, x2, x3, x4)  =  app18_in_aaag(x4)
.(x1, x2)  =  .(x1, x2)
appc18_in_aaag(x1, x2, x3, x4)  =  appc18_in_aaag(x4)
appc18_out_aaag(x1, x2, x3, x4)  =  appc18_out_aaag(x1, x2, x3, x4)
U22_aaag(x1, x2, x3, x4, x5, x6)  =  U22_aaag(x1, x5, x6)
app28_in_gga(x1, x2, x3)  =  app28_in_gga(x1, x2)
appc28_in_gga(x1, x2, x3)  =  appc28_in_gga(x1, x2)
[]  =  []
appc28_out_gga(x1, x2, x3)  =  appc28_out_gga(x1, x2, x3)
U23_gga(x1, x2, x3, x4, x5)  =  U23_gga(x1, x2, x3, x5)
perm38_in_ga(x1, x2)  =  perm38_in_ga(x1)
permc38_in_ga(x1, x2)  =  permc38_in_ga(x1)
permc38_out_ga(x1, x2)  =  permc38_out_ga(x1, x2)
U24_ga(x1, x2, x3, x4)  =  U24_ga(x1, x4)
U25_ga(x1, x2, x3, x4)  =  U25_ga(x1, x2, x4)
U26_ga(x1, x2, x3, x4)  =  U26_ga(x1, x2, x4)
ordered39_in_gg(x1, x2)  =  ordered39_in_gg(x1, x2)
s(x1)  =  s(x1)
less69_in_gg(x1, x2)  =  less69_in_gg(x1, x2)
lessc61_in_gg(x1, x2)  =  lessc61_in_gg(x1, x2)
0  =  0
lessc61_out_gg(x1, x2)  =  lessc61_out_gg(x1, x2)
U30_gg(x1, x2, x3)  =  U30_gg(x1, x2, x3)
lessc69_in_gg(x1, x2)  =  lessc69_in_gg(x1, x2)
lessc69_out_gg(x1, x2)  =  lessc69_out_gg(x1, x2)
U29_gg(x1, x2, x3)  =  U29_gg(x1, x2, x3)
SS1_IN_GA(x1, x2)  =  SS1_IN_GA(x1)
U12_GA(x1, x2, x3, x4)  =  U12_GA(x1, x4)
APP18_IN_AAAG(x1, x2, x3, x4)  =  APP18_IN_AAAG(x4)
U1_AAAG(x1, x2, x3, x4, x5, x6)  =  U1_AAAG(x1, x5, x6)
U13_GA(x1, x2, x3, x4)  =  U13_GA(x1, x4)
U14_GA(x1, x2, x3, x4)  =  U14_GA(x1, x4)
APP28_IN_GGA(x1, x2, x3)  =  APP28_IN_GGA(x1, x2)
U2_GGA(x1, x2, x3, x4, x5)  =  U2_GGA(x1, x2, x3, x5)
U15_GA(x1, x2, x3, x4)  =  U15_GA(x1, x4)
U16_GA(x1, x2, x3, x4)  =  U16_GA(x1, x4)
PERM38_IN_GA(x1, x2)  =  PERM38_IN_GA(x1)
U3_GA(x1, x2, x3, x4)  =  U3_GA(x1, x4)
U4_GA(x1, x2, x3, x4)  =  U4_GA(x1, x4)
U5_GA(x1, x2, x3, x4)  =  U5_GA(x1, x4)
U6_GA(x1, x2, x3, x4)  =  U6_GA(x1, x4)
U7_GA(x1, x2, x3, x4)  =  U7_GA(x1, x4)
U17_GA(x1, x2, x3, x4)  =  U17_GA(x1, x4)
U18_GA(x1, x2, x3, x4)  =  U18_GA(x1, x2, x4)
U19_GA(x1, x2, x3, x4)  =  U19_GA(x1, x2, x4)
U20_GA(x1, x2, x3, x4)  =  U20_GA(x1, x4)
ORDERED39_IN_GG(x1, x2)  =  ORDERED39_IN_GG(x1, x2)
U8_GG(x1, x2, x3, x4)  =  U8_GG(x1, x2, x3, x4)
LESS69_IN_GG(x1, x2)  =  LESS69_IN_GG(x1, x2)
U11_GG(x1, x2, x3)  =  U11_GG(x1, x2, x3)
U9_GG(x1, x2, x3, x4)  =  U9_GG(x1, x2, x3, x4)
U10_GG(x1, x2, x3, x4)  =  U10_GG(x1, x2, x3, x4)

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

Infinitary Constructor Rewriting Termination of PiDP implies Termination of TRIPLES

(4) Obligation:

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

SS1_IN_GA(T14, .(T17, T18)) → U12_GA(T14, T17, T18, app18_in_aaag(X23, T17, X24, T14))
SS1_IN_GA(T14, .(T17, T18)) → APP18_IN_AAAG(X23, T17, X24, T14)
APP18_IN_AAAG(.(X66, X67), T38, X68, .(X66, T37)) → U1_AAAG(X66, X67, T38, X68, T37, app18_in_aaag(X67, T38, X68, T37))
APP18_IN_AAAG(.(X66, X67), T38, X68, .(X66, T37)) → APP18_IN_AAAG(X67, T38, X68, T37)
SS1_IN_GA(T14, .(T24, T23)) → U13_GA(T14, T24, T23, appc18_in_aaag(T21, T24, T22, T14))
U13_GA(T14, T24, T23, appc18_out_aaag(T21, T24, T22, T14)) → U14_GA(T14, T24, T23, app28_in_gga(T21, T22, X25))
U13_GA(T14, T24, T23, appc18_out_aaag(T21, T24, T22, T14)) → APP28_IN_GGA(T21, T22, X25)
APP28_IN_GGA(.(T57, T58), T59, .(T57, X101)) → U2_GGA(T57, T58, T59, X101, app28_in_gga(T58, T59, X101))
APP28_IN_GGA(.(T57, T58), T59, .(T57, X101)) → APP28_IN_GGA(T58, T59, X101)
U13_GA(T14, T24, T23, appc18_out_aaag(T21, T24, T22, T14)) → U15_GA(T14, T24, T23, appc28_in_gga(T21, T22, T43))
U15_GA(T14, T24, T23, appc28_out_gga(T21, T22, T43)) → U16_GA(T14, T24, T23, perm38_in_ga(T43, T23))
U15_GA(T14, T24, T23, appc28_out_gga(T21, T22, T43)) → PERM38_IN_GA(T43, T23)
PERM38_IN_GA(T69, .(T72, T73)) → U3_GA(T69, T72, T73, app18_in_aaag(X120, T72, X121, T69))
PERM38_IN_GA(T69, .(T72, T73)) → APP18_IN_AAAG(X120, T72, X121, T69)
PERM38_IN_GA(T69, .(T72, T78)) → U4_GA(T69, T72, T78, appc18_in_aaag(T76, T72, T77, T69))
U4_GA(T69, T72, T78, appc18_out_aaag(T76, T72, T77, T69)) → U5_GA(T69, T72, T78, app28_in_gga(T76, T77, X122))
U4_GA(T69, T72, T78, appc18_out_aaag(T76, T72, T77, T69)) → APP28_IN_GGA(T76, T77, X122)
U4_GA(T69, T72, T78, appc18_out_aaag(T76, T72, T77, T69)) → U6_GA(T69, T72, T78, appc28_in_gga(T76, T77, T83))
U6_GA(T69, T72, T78, appc28_out_gga(T76, T77, T83)) → U7_GA(T69, T72, T78, perm38_in_ga(T83, T78))
U6_GA(T69, T72, T78, appc28_out_gga(T76, T77, T83)) → PERM38_IN_GA(T83, T78)
SS1_IN_GA(T14, .(T24, T62)) → U17_GA(T14, T24, T62, appc18_in_aaag(T21, T24, T22, T14))
U17_GA(T14, T24, T62, appc18_out_aaag(T21, T24, T22, T14)) → U18_GA(T14, T24, T62, appc28_in_gga(T21, T22, T43))
U18_GA(T14, T24, T62, appc28_out_gga(T21, T22, T43)) → U19_GA(T14, T24, T62, permc38_in_ga(T43, T62))
U19_GA(T14, T24, T62, permc38_out_ga(T43, T62)) → U20_GA(T14, T24, T62, ordered39_in_gg(T24, T62))
U19_GA(T14, T24, T62, permc38_out_ga(T43, T62)) → ORDERED39_IN_GG(T24, T62)
ORDERED39_IN_GG(s(T115), .(T116, T101)) → U8_GG(T115, T116, T101, less69_in_gg(T115, T116))
ORDERED39_IN_GG(s(T115), .(T116, T101)) → LESS69_IN_GG(T115, T116)
LESS69_IN_GG(s(T128), s(T129)) → U11_GG(T128, T129, less69_in_gg(T128, T129))
LESS69_IN_GG(s(T128), s(T129)) → LESS69_IN_GG(T128, T129)
ORDERED39_IN_GG(T99, .(T100, T101)) → U9_GG(T99, T100, T101, lessc61_in_gg(T99, T100))
U9_GG(T99, T100, T101, lessc61_out_gg(T99, T100)) → U10_GG(T99, T100, T101, ordered39_in_gg(T100, T101))
U9_GG(T99, T100, T101, lessc61_out_gg(T99, T100)) → ORDERED39_IN_GG(T100, T101)

The TRS R consists of the following rules:

appc18_in_aaag([], T31, X46, .(T31, X46)) → appc18_out_aaag([], T31, X46, .(T31, X46))
appc18_in_aaag(.(X66, X67), T38, X68, .(X66, T37)) → U22_aaag(X66, X67, T38, X68, T37, appc18_in_aaag(X67, T38, X68, T37))
U22_aaag(X66, X67, T38, X68, T37, appc18_out_aaag(X67, T38, X68, T37)) → appc18_out_aaag(.(X66, X67), T38, X68, .(X66, T37))
appc28_in_gga([], T50, T50) → appc28_out_gga([], T50, T50)
appc28_in_gga(.(T57, T58), T59, .(T57, X101)) → U23_gga(T57, T58, T59, X101, appc28_in_gga(T58, T59, X101))
U23_gga(T57, T58, T59, X101, appc28_out_gga(T58, T59, X101)) → appc28_out_gga(.(T57, T58), T59, .(T57, X101))
permc38_in_ga([], []) → permc38_out_ga([], [])
permc38_in_ga(T69, .(T72, T78)) → U24_ga(T69, T72, T78, appc18_in_aaag(T76, T72, T77, T69))
U24_ga(T69, T72, T78, appc18_out_aaag(T76, T72, T77, T69)) → U25_ga(T69, T72, T78, appc28_in_gga(T76, T77, T83))
U25_ga(T69, T72, T78, appc28_out_gga(T76, T77, T83)) → U26_ga(T69, T72, T78, permc38_in_ga(T83, T78))
U26_ga(T69, T72, T78, permc38_out_ga(T83, T78)) → permc38_out_ga(T69, .(T72, T78))
lessc61_in_gg(0, T110) → lessc61_out_gg(0, T110)
lessc61_in_gg(s(T115), T116) → U30_gg(T115, T116, lessc69_in_gg(T115, T116))
lessc69_in_gg(0, s(T123)) → lessc69_out_gg(0, s(T123))
lessc69_in_gg(s(T128), s(T129)) → U29_gg(T128, T129, lessc69_in_gg(T128, T129))
U29_gg(T128, T129, lessc69_out_gg(T128, T129)) → lessc69_out_gg(s(T128), s(T129))
U30_gg(T115, T116, lessc69_out_gg(T115, T116)) → lessc61_out_gg(s(T115), T116)

The argument filtering Pi contains the following mapping:
app18_in_aaag(x1, x2, x3, x4)  =  app18_in_aaag(x4)
.(x1, x2)  =  .(x1, x2)
appc18_in_aaag(x1, x2, x3, x4)  =  appc18_in_aaag(x4)
appc18_out_aaag(x1, x2, x3, x4)  =  appc18_out_aaag(x1, x2, x3, x4)
U22_aaag(x1, x2, x3, x4, x5, x6)  =  U22_aaag(x1, x5, x6)
app28_in_gga(x1, x2, x3)  =  app28_in_gga(x1, x2)
appc28_in_gga(x1, x2, x3)  =  appc28_in_gga(x1, x2)
[]  =  []
appc28_out_gga(x1, x2, x3)  =  appc28_out_gga(x1, x2, x3)
U23_gga(x1, x2, x3, x4, x5)  =  U23_gga(x1, x2, x3, x5)
perm38_in_ga(x1, x2)  =  perm38_in_ga(x1)
permc38_in_ga(x1, x2)  =  permc38_in_ga(x1)
permc38_out_ga(x1, x2)  =  permc38_out_ga(x1, x2)
U24_ga(x1, x2, x3, x4)  =  U24_ga(x1, x4)
U25_ga(x1, x2, x3, x4)  =  U25_ga(x1, x2, x4)
U26_ga(x1, x2, x3, x4)  =  U26_ga(x1, x2, x4)
ordered39_in_gg(x1, x2)  =  ordered39_in_gg(x1, x2)
s(x1)  =  s(x1)
less69_in_gg(x1, x2)  =  less69_in_gg(x1, x2)
lessc61_in_gg(x1, x2)  =  lessc61_in_gg(x1, x2)
0  =  0
lessc61_out_gg(x1, x2)  =  lessc61_out_gg(x1, x2)
U30_gg(x1, x2, x3)  =  U30_gg(x1, x2, x3)
lessc69_in_gg(x1, x2)  =  lessc69_in_gg(x1, x2)
lessc69_out_gg(x1, x2)  =  lessc69_out_gg(x1, x2)
U29_gg(x1, x2, x3)  =  U29_gg(x1, x2, x3)
SS1_IN_GA(x1, x2)  =  SS1_IN_GA(x1)
U12_GA(x1, x2, x3, x4)  =  U12_GA(x1, x4)
APP18_IN_AAAG(x1, x2, x3, x4)  =  APP18_IN_AAAG(x4)
U1_AAAG(x1, x2, x3, x4, x5, x6)  =  U1_AAAG(x1, x5, x6)
U13_GA(x1, x2, x3, x4)  =  U13_GA(x1, x4)
U14_GA(x1, x2, x3, x4)  =  U14_GA(x1, x4)
APP28_IN_GGA(x1, x2, x3)  =  APP28_IN_GGA(x1, x2)
U2_GGA(x1, x2, x3, x4, x5)  =  U2_GGA(x1, x2, x3, x5)
U15_GA(x1, x2, x3, x4)  =  U15_GA(x1, x4)
U16_GA(x1, x2, x3, x4)  =  U16_GA(x1, x4)
PERM38_IN_GA(x1, x2)  =  PERM38_IN_GA(x1)
U3_GA(x1, x2, x3, x4)  =  U3_GA(x1, x4)
U4_GA(x1, x2, x3, x4)  =  U4_GA(x1, x4)
U5_GA(x1, x2, x3, x4)  =  U5_GA(x1, x4)
U6_GA(x1, x2, x3, x4)  =  U6_GA(x1, x4)
U7_GA(x1, x2, x3, x4)  =  U7_GA(x1, x4)
U17_GA(x1, x2, x3, x4)  =  U17_GA(x1, x4)
U18_GA(x1, x2, x3, x4)  =  U18_GA(x1, x2, x4)
U19_GA(x1, x2, x3, x4)  =  U19_GA(x1, x2, x4)
U20_GA(x1, x2, x3, x4)  =  U20_GA(x1, x4)
ORDERED39_IN_GG(x1, x2)  =  ORDERED39_IN_GG(x1, x2)
U8_GG(x1, x2, x3, x4)  =  U8_GG(x1, x2, x3, x4)
LESS69_IN_GG(x1, x2)  =  LESS69_IN_GG(x1, x2)
U11_GG(x1, x2, x3)  =  U11_GG(x1, x2, x3)
U9_GG(x1, x2, x3, x4)  =  U9_GG(x1, x2, x3, x4)
U10_GG(x1, x2, x3, x4)  =  U10_GG(x1, x2, x3, x4)

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

(5) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LOPSTR] contains 5 SCCs with 24 less nodes.

(6) Complex Obligation (AND)

(7) Obligation:

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

LESS69_IN_GG(s(T128), s(T129)) → LESS69_IN_GG(T128, T129)

The TRS R consists of the following rules:

appc18_in_aaag([], T31, X46, .(T31, X46)) → appc18_out_aaag([], T31, X46, .(T31, X46))
appc18_in_aaag(.(X66, X67), T38, X68, .(X66, T37)) → U22_aaag(X66, X67, T38, X68, T37, appc18_in_aaag(X67, T38, X68, T37))
U22_aaag(X66, X67, T38, X68, T37, appc18_out_aaag(X67, T38, X68, T37)) → appc18_out_aaag(.(X66, X67), T38, X68, .(X66, T37))
appc28_in_gga([], T50, T50) → appc28_out_gga([], T50, T50)
appc28_in_gga(.(T57, T58), T59, .(T57, X101)) → U23_gga(T57, T58, T59, X101, appc28_in_gga(T58, T59, X101))
U23_gga(T57, T58, T59, X101, appc28_out_gga(T58, T59, X101)) → appc28_out_gga(.(T57, T58), T59, .(T57, X101))
permc38_in_ga([], []) → permc38_out_ga([], [])
permc38_in_ga(T69, .(T72, T78)) → U24_ga(T69, T72, T78, appc18_in_aaag(T76, T72, T77, T69))
U24_ga(T69, T72, T78, appc18_out_aaag(T76, T72, T77, T69)) → U25_ga(T69, T72, T78, appc28_in_gga(T76, T77, T83))
U25_ga(T69, T72, T78, appc28_out_gga(T76, T77, T83)) → U26_ga(T69, T72, T78, permc38_in_ga(T83, T78))
U26_ga(T69, T72, T78, permc38_out_ga(T83, T78)) → permc38_out_ga(T69, .(T72, T78))
lessc61_in_gg(0, T110) → lessc61_out_gg(0, T110)
lessc61_in_gg(s(T115), T116) → U30_gg(T115, T116, lessc69_in_gg(T115, T116))
lessc69_in_gg(0, s(T123)) → lessc69_out_gg(0, s(T123))
lessc69_in_gg(s(T128), s(T129)) → U29_gg(T128, T129, lessc69_in_gg(T128, T129))
U29_gg(T128, T129, lessc69_out_gg(T128, T129)) → lessc69_out_gg(s(T128), s(T129))
U30_gg(T115, T116, lessc69_out_gg(T115, T116)) → lessc61_out_gg(s(T115), T116)

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
appc18_in_aaag(x1, x2, x3, x4)  =  appc18_in_aaag(x4)
appc18_out_aaag(x1, x2, x3, x4)  =  appc18_out_aaag(x1, x2, x3, x4)
U22_aaag(x1, x2, x3, x4, x5, x6)  =  U22_aaag(x1, x5, x6)
appc28_in_gga(x1, x2, x3)  =  appc28_in_gga(x1, x2)
[]  =  []
appc28_out_gga(x1, x2, x3)  =  appc28_out_gga(x1, x2, x3)
U23_gga(x1, x2, x3, x4, x5)  =  U23_gga(x1, x2, x3, x5)
permc38_in_ga(x1, x2)  =  permc38_in_ga(x1)
permc38_out_ga(x1, x2)  =  permc38_out_ga(x1, x2)
U24_ga(x1, x2, x3, x4)  =  U24_ga(x1, x4)
U25_ga(x1, x2, x3, x4)  =  U25_ga(x1, x2, x4)
U26_ga(x1, x2, x3, x4)  =  U26_ga(x1, x2, x4)
s(x1)  =  s(x1)
lessc61_in_gg(x1, x2)  =  lessc61_in_gg(x1, x2)
0  =  0
lessc61_out_gg(x1, x2)  =  lessc61_out_gg(x1, x2)
U30_gg(x1, x2, x3)  =  U30_gg(x1, x2, x3)
lessc69_in_gg(x1, x2)  =  lessc69_in_gg(x1, x2)
lessc69_out_gg(x1, x2)  =  lessc69_out_gg(x1, x2)
U29_gg(x1, x2, x3)  =  U29_gg(x1, x2, x3)
LESS69_IN_GG(x1, x2)  =  LESS69_IN_GG(x1, x2)

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

(8) UsableRulesProof (EQUIVALENT transformation)

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

(9) Obligation:

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

LESS69_IN_GG(s(T128), s(T129)) → LESS69_IN_GG(T128, T129)

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

(10) PiDPToQDPProof (EQUIVALENT transformation)

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

(11) Obligation:

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

LESS69_IN_GG(s(T128), s(T129)) → LESS69_IN_GG(T128, T129)

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

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

  • LESS69_IN_GG(s(T128), s(T129)) → LESS69_IN_GG(T128, T129)
    The graph contains the following edges 1 > 1, 2 > 2

(13) YES

(14) Obligation:

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

ORDERED39_IN_GG(T99, .(T100, T101)) → U9_GG(T99, T100, T101, lessc61_in_gg(T99, T100))
U9_GG(T99, T100, T101, lessc61_out_gg(T99, T100)) → ORDERED39_IN_GG(T100, T101)

The TRS R consists of the following rules:

appc18_in_aaag([], T31, X46, .(T31, X46)) → appc18_out_aaag([], T31, X46, .(T31, X46))
appc18_in_aaag(.(X66, X67), T38, X68, .(X66, T37)) → U22_aaag(X66, X67, T38, X68, T37, appc18_in_aaag(X67, T38, X68, T37))
U22_aaag(X66, X67, T38, X68, T37, appc18_out_aaag(X67, T38, X68, T37)) → appc18_out_aaag(.(X66, X67), T38, X68, .(X66, T37))
appc28_in_gga([], T50, T50) → appc28_out_gga([], T50, T50)
appc28_in_gga(.(T57, T58), T59, .(T57, X101)) → U23_gga(T57, T58, T59, X101, appc28_in_gga(T58, T59, X101))
U23_gga(T57, T58, T59, X101, appc28_out_gga(T58, T59, X101)) → appc28_out_gga(.(T57, T58), T59, .(T57, X101))
permc38_in_ga([], []) → permc38_out_ga([], [])
permc38_in_ga(T69, .(T72, T78)) → U24_ga(T69, T72, T78, appc18_in_aaag(T76, T72, T77, T69))
U24_ga(T69, T72, T78, appc18_out_aaag(T76, T72, T77, T69)) → U25_ga(T69, T72, T78, appc28_in_gga(T76, T77, T83))
U25_ga(T69, T72, T78, appc28_out_gga(T76, T77, T83)) → U26_ga(T69, T72, T78, permc38_in_ga(T83, T78))
U26_ga(T69, T72, T78, permc38_out_ga(T83, T78)) → permc38_out_ga(T69, .(T72, T78))
lessc61_in_gg(0, T110) → lessc61_out_gg(0, T110)
lessc61_in_gg(s(T115), T116) → U30_gg(T115, T116, lessc69_in_gg(T115, T116))
lessc69_in_gg(0, s(T123)) → lessc69_out_gg(0, s(T123))
lessc69_in_gg(s(T128), s(T129)) → U29_gg(T128, T129, lessc69_in_gg(T128, T129))
U29_gg(T128, T129, lessc69_out_gg(T128, T129)) → lessc69_out_gg(s(T128), s(T129))
U30_gg(T115, T116, lessc69_out_gg(T115, T116)) → lessc61_out_gg(s(T115), T116)

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
appc18_in_aaag(x1, x2, x3, x4)  =  appc18_in_aaag(x4)
appc18_out_aaag(x1, x2, x3, x4)  =  appc18_out_aaag(x1, x2, x3, x4)
U22_aaag(x1, x2, x3, x4, x5, x6)  =  U22_aaag(x1, x5, x6)
appc28_in_gga(x1, x2, x3)  =  appc28_in_gga(x1, x2)
[]  =  []
appc28_out_gga(x1, x2, x3)  =  appc28_out_gga(x1, x2, x3)
U23_gga(x1, x2, x3, x4, x5)  =  U23_gga(x1, x2, x3, x5)
permc38_in_ga(x1, x2)  =  permc38_in_ga(x1)
permc38_out_ga(x1, x2)  =  permc38_out_ga(x1, x2)
U24_ga(x1, x2, x3, x4)  =  U24_ga(x1, x4)
U25_ga(x1, x2, x3, x4)  =  U25_ga(x1, x2, x4)
U26_ga(x1, x2, x3, x4)  =  U26_ga(x1, x2, x4)
s(x1)  =  s(x1)
lessc61_in_gg(x1, x2)  =  lessc61_in_gg(x1, x2)
0  =  0
lessc61_out_gg(x1, x2)  =  lessc61_out_gg(x1, x2)
U30_gg(x1, x2, x3)  =  U30_gg(x1, x2, x3)
lessc69_in_gg(x1, x2)  =  lessc69_in_gg(x1, x2)
lessc69_out_gg(x1, x2)  =  lessc69_out_gg(x1, x2)
U29_gg(x1, x2, x3)  =  U29_gg(x1, x2, x3)
ORDERED39_IN_GG(x1, x2)  =  ORDERED39_IN_GG(x1, x2)
U9_GG(x1, x2, x3, x4)  =  U9_GG(x1, x2, x3, x4)

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

(15) UsableRulesProof (EQUIVALENT transformation)

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

(16) Obligation:

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

ORDERED39_IN_GG(T99, .(T100, T101)) → U9_GG(T99, T100, T101, lessc61_in_gg(T99, T100))
U9_GG(T99, T100, T101, lessc61_out_gg(T99, T100)) → ORDERED39_IN_GG(T100, T101)

The TRS R consists of the following rules:

lessc61_in_gg(0, T110) → lessc61_out_gg(0, T110)
lessc61_in_gg(s(T115), T116) → U30_gg(T115, T116, lessc69_in_gg(T115, T116))
U30_gg(T115, T116, lessc69_out_gg(T115, T116)) → lessc61_out_gg(s(T115), T116)
lessc69_in_gg(0, s(T123)) → lessc69_out_gg(0, s(T123))
lessc69_in_gg(s(T128), s(T129)) → U29_gg(T128, T129, lessc69_in_gg(T128, T129))
U29_gg(T128, T129, lessc69_out_gg(T128, T129)) → lessc69_out_gg(s(T128), s(T129))

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

(17) PiDPToQDPProof (EQUIVALENT transformation)

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

(18) Obligation:

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

ORDERED39_IN_GG(T99, .(T100, T101)) → U9_GG(T99, T100, T101, lessc61_in_gg(T99, T100))
U9_GG(T99, T100, T101, lessc61_out_gg(T99, T100)) → ORDERED39_IN_GG(T100, T101)

The TRS R consists of the following rules:

lessc61_in_gg(0, T110) → lessc61_out_gg(0, T110)
lessc61_in_gg(s(T115), T116) → U30_gg(T115, T116, lessc69_in_gg(T115, T116))
U30_gg(T115, T116, lessc69_out_gg(T115, T116)) → lessc61_out_gg(s(T115), T116)
lessc69_in_gg(0, s(T123)) → lessc69_out_gg(0, s(T123))
lessc69_in_gg(s(T128), s(T129)) → U29_gg(T128, T129, lessc69_in_gg(T128, T129))
U29_gg(T128, T129, lessc69_out_gg(T128, T129)) → lessc69_out_gg(s(T128), s(T129))

The set Q consists of the following terms:

lessc61_in_gg(x0, x1)
U30_gg(x0, x1, x2)
lessc69_in_gg(x0, x1)
U29_gg(x0, x1, x2)

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

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

  • U9_GG(T99, T100, T101, lessc61_out_gg(T99, T100)) → ORDERED39_IN_GG(T100, T101)
    The graph contains the following edges 2 >= 1, 4 > 1, 3 >= 2

  • ORDERED39_IN_GG(T99, .(T100, T101)) → U9_GG(T99, T100, T101, lessc61_in_gg(T99, T100))
    The graph contains the following edges 1 >= 1, 2 > 2, 2 > 3

(20) YES

(21) Obligation:

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

APP28_IN_GGA(.(T57, T58), T59, .(T57, X101)) → APP28_IN_GGA(T58, T59, X101)

The TRS R consists of the following rules:

appc18_in_aaag([], T31, X46, .(T31, X46)) → appc18_out_aaag([], T31, X46, .(T31, X46))
appc18_in_aaag(.(X66, X67), T38, X68, .(X66, T37)) → U22_aaag(X66, X67, T38, X68, T37, appc18_in_aaag(X67, T38, X68, T37))
U22_aaag(X66, X67, T38, X68, T37, appc18_out_aaag(X67, T38, X68, T37)) → appc18_out_aaag(.(X66, X67), T38, X68, .(X66, T37))
appc28_in_gga([], T50, T50) → appc28_out_gga([], T50, T50)
appc28_in_gga(.(T57, T58), T59, .(T57, X101)) → U23_gga(T57, T58, T59, X101, appc28_in_gga(T58, T59, X101))
U23_gga(T57, T58, T59, X101, appc28_out_gga(T58, T59, X101)) → appc28_out_gga(.(T57, T58), T59, .(T57, X101))
permc38_in_ga([], []) → permc38_out_ga([], [])
permc38_in_ga(T69, .(T72, T78)) → U24_ga(T69, T72, T78, appc18_in_aaag(T76, T72, T77, T69))
U24_ga(T69, T72, T78, appc18_out_aaag(T76, T72, T77, T69)) → U25_ga(T69, T72, T78, appc28_in_gga(T76, T77, T83))
U25_ga(T69, T72, T78, appc28_out_gga(T76, T77, T83)) → U26_ga(T69, T72, T78, permc38_in_ga(T83, T78))
U26_ga(T69, T72, T78, permc38_out_ga(T83, T78)) → permc38_out_ga(T69, .(T72, T78))
lessc61_in_gg(0, T110) → lessc61_out_gg(0, T110)
lessc61_in_gg(s(T115), T116) → U30_gg(T115, T116, lessc69_in_gg(T115, T116))
lessc69_in_gg(0, s(T123)) → lessc69_out_gg(0, s(T123))
lessc69_in_gg(s(T128), s(T129)) → U29_gg(T128, T129, lessc69_in_gg(T128, T129))
U29_gg(T128, T129, lessc69_out_gg(T128, T129)) → lessc69_out_gg(s(T128), s(T129))
U30_gg(T115, T116, lessc69_out_gg(T115, T116)) → lessc61_out_gg(s(T115), T116)

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
appc18_in_aaag(x1, x2, x3, x4)  =  appc18_in_aaag(x4)
appc18_out_aaag(x1, x2, x3, x4)  =  appc18_out_aaag(x1, x2, x3, x4)
U22_aaag(x1, x2, x3, x4, x5, x6)  =  U22_aaag(x1, x5, x6)
appc28_in_gga(x1, x2, x3)  =  appc28_in_gga(x1, x2)
[]  =  []
appc28_out_gga(x1, x2, x3)  =  appc28_out_gga(x1, x2, x3)
U23_gga(x1, x2, x3, x4, x5)  =  U23_gga(x1, x2, x3, x5)
permc38_in_ga(x1, x2)  =  permc38_in_ga(x1)
permc38_out_ga(x1, x2)  =  permc38_out_ga(x1, x2)
U24_ga(x1, x2, x3, x4)  =  U24_ga(x1, x4)
U25_ga(x1, x2, x3, x4)  =  U25_ga(x1, x2, x4)
U26_ga(x1, x2, x3, x4)  =  U26_ga(x1, x2, x4)
s(x1)  =  s(x1)
lessc61_in_gg(x1, x2)  =  lessc61_in_gg(x1, x2)
0  =  0
lessc61_out_gg(x1, x2)  =  lessc61_out_gg(x1, x2)
U30_gg(x1, x2, x3)  =  U30_gg(x1, x2, x3)
lessc69_in_gg(x1, x2)  =  lessc69_in_gg(x1, x2)
lessc69_out_gg(x1, x2)  =  lessc69_out_gg(x1, x2)
U29_gg(x1, x2, x3)  =  U29_gg(x1, x2, x3)
APP28_IN_GGA(x1, x2, x3)  =  APP28_IN_GGA(x1, x2)

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

(22) UsableRulesProof (EQUIVALENT transformation)

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

(23) Obligation:

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

APP28_IN_GGA(.(T57, T58), T59, .(T57, X101)) → APP28_IN_GGA(T58, T59, X101)

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

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

(24) PiDPToQDPProof (SOUND transformation)

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

(25) Obligation:

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

APP28_IN_GGA(.(T57, T58), T59) → APP28_IN_GGA(T58, T59)

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

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

  • APP28_IN_GGA(.(T57, T58), T59) → APP28_IN_GGA(T58, T59)
    The graph contains the following edges 1 > 1, 2 >= 2

(27) YES

(28) Obligation:

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

APP18_IN_AAAG(.(X66, X67), T38, X68, .(X66, T37)) → APP18_IN_AAAG(X67, T38, X68, T37)

The TRS R consists of the following rules:

appc18_in_aaag([], T31, X46, .(T31, X46)) → appc18_out_aaag([], T31, X46, .(T31, X46))
appc18_in_aaag(.(X66, X67), T38, X68, .(X66, T37)) → U22_aaag(X66, X67, T38, X68, T37, appc18_in_aaag(X67, T38, X68, T37))
U22_aaag(X66, X67, T38, X68, T37, appc18_out_aaag(X67, T38, X68, T37)) → appc18_out_aaag(.(X66, X67), T38, X68, .(X66, T37))
appc28_in_gga([], T50, T50) → appc28_out_gga([], T50, T50)
appc28_in_gga(.(T57, T58), T59, .(T57, X101)) → U23_gga(T57, T58, T59, X101, appc28_in_gga(T58, T59, X101))
U23_gga(T57, T58, T59, X101, appc28_out_gga(T58, T59, X101)) → appc28_out_gga(.(T57, T58), T59, .(T57, X101))
permc38_in_ga([], []) → permc38_out_ga([], [])
permc38_in_ga(T69, .(T72, T78)) → U24_ga(T69, T72, T78, appc18_in_aaag(T76, T72, T77, T69))
U24_ga(T69, T72, T78, appc18_out_aaag(T76, T72, T77, T69)) → U25_ga(T69, T72, T78, appc28_in_gga(T76, T77, T83))
U25_ga(T69, T72, T78, appc28_out_gga(T76, T77, T83)) → U26_ga(T69, T72, T78, permc38_in_ga(T83, T78))
U26_ga(T69, T72, T78, permc38_out_ga(T83, T78)) → permc38_out_ga(T69, .(T72, T78))
lessc61_in_gg(0, T110) → lessc61_out_gg(0, T110)
lessc61_in_gg(s(T115), T116) → U30_gg(T115, T116, lessc69_in_gg(T115, T116))
lessc69_in_gg(0, s(T123)) → lessc69_out_gg(0, s(T123))
lessc69_in_gg(s(T128), s(T129)) → U29_gg(T128, T129, lessc69_in_gg(T128, T129))
U29_gg(T128, T129, lessc69_out_gg(T128, T129)) → lessc69_out_gg(s(T128), s(T129))
U30_gg(T115, T116, lessc69_out_gg(T115, T116)) → lessc61_out_gg(s(T115), T116)

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
appc18_in_aaag(x1, x2, x3, x4)  =  appc18_in_aaag(x4)
appc18_out_aaag(x1, x2, x3, x4)  =  appc18_out_aaag(x1, x2, x3, x4)
U22_aaag(x1, x2, x3, x4, x5, x6)  =  U22_aaag(x1, x5, x6)
appc28_in_gga(x1, x2, x3)  =  appc28_in_gga(x1, x2)
[]  =  []
appc28_out_gga(x1, x2, x3)  =  appc28_out_gga(x1, x2, x3)
U23_gga(x1, x2, x3, x4, x5)  =  U23_gga(x1, x2, x3, x5)
permc38_in_ga(x1, x2)  =  permc38_in_ga(x1)
permc38_out_ga(x1, x2)  =  permc38_out_ga(x1, x2)
U24_ga(x1, x2, x3, x4)  =  U24_ga(x1, x4)
U25_ga(x1, x2, x3, x4)  =  U25_ga(x1, x2, x4)
U26_ga(x1, x2, x3, x4)  =  U26_ga(x1, x2, x4)
s(x1)  =  s(x1)
lessc61_in_gg(x1, x2)  =  lessc61_in_gg(x1, x2)
0  =  0
lessc61_out_gg(x1, x2)  =  lessc61_out_gg(x1, x2)
U30_gg(x1, x2, x3)  =  U30_gg(x1, x2, x3)
lessc69_in_gg(x1, x2)  =  lessc69_in_gg(x1, x2)
lessc69_out_gg(x1, x2)  =  lessc69_out_gg(x1, x2)
U29_gg(x1, x2, x3)  =  U29_gg(x1, x2, x3)
APP18_IN_AAAG(x1, x2, x3, x4)  =  APP18_IN_AAAG(x4)

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

(29) UsableRulesProof (EQUIVALENT transformation)

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

(30) Obligation:

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

APP18_IN_AAAG(.(X66, X67), T38, X68, .(X66, T37)) → APP18_IN_AAAG(X67, T38, X68, T37)

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

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

(31) PiDPToQDPProof (SOUND transformation)

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

(32) Obligation:

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

APP18_IN_AAAG(.(X66, T37)) → APP18_IN_AAAG(T37)

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

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

  • APP18_IN_AAAG(.(X66, T37)) → APP18_IN_AAAG(T37)
    The graph contains the following edges 1 > 1

(34) YES

(35) Obligation:

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

PERM38_IN_GA(T69, .(T72, T78)) → U4_GA(T69, T72, T78, appc18_in_aaag(T76, T72, T77, T69))
U4_GA(T69, T72, T78, appc18_out_aaag(T76, T72, T77, T69)) → U6_GA(T69, T72, T78, appc28_in_gga(T76, T77, T83))
U6_GA(T69, T72, T78, appc28_out_gga(T76, T77, T83)) → PERM38_IN_GA(T83, T78)

The TRS R consists of the following rules:

appc18_in_aaag([], T31, X46, .(T31, X46)) → appc18_out_aaag([], T31, X46, .(T31, X46))
appc18_in_aaag(.(X66, X67), T38, X68, .(X66, T37)) → U22_aaag(X66, X67, T38, X68, T37, appc18_in_aaag(X67, T38, X68, T37))
U22_aaag(X66, X67, T38, X68, T37, appc18_out_aaag(X67, T38, X68, T37)) → appc18_out_aaag(.(X66, X67), T38, X68, .(X66, T37))
appc28_in_gga([], T50, T50) → appc28_out_gga([], T50, T50)
appc28_in_gga(.(T57, T58), T59, .(T57, X101)) → U23_gga(T57, T58, T59, X101, appc28_in_gga(T58, T59, X101))
U23_gga(T57, T58, T59, X101, appc28_out_gga(T58, T59, X101)) → appc28_out_gga(.(T57, T58), T59, .(T57, X101))
permc38_in_ga([], []) → permc38_out_ga([], [])
permc38_in_ga(T69, .(T72, T78)) → U24_ga(T69, T72, T78, appc18_in_aaag(T76, T72, T77, T69))
U24_ga(T69, T72, T78, appc18_out_aaag(T76, T72, T77, T69)) → U25_ga(T69, T72, T78, appc28_in_gga(T76, T77, T83))
U25_ga(T69, T72, T78, appc28_out_gga(T76, T77, T83)) → U26_ga(T69, T72, T78, permc38_in_ga(T83, T78))
U26_ga(T69, T72, T78, permc38_out_ga(T83, T78)) → permc38_out_ga(T69, .(T72, T78))
lessc61_in_gg(0, T110) → lessc61_out_gg(0, T110)
lessc61_in_gg(s(T115), T116) → U30_gg(T115, T116, lessc69_in_gg(T115, T116))
lessc69_in_gg(0, s(T123)) → lessc69_out_gg(0, s(T123))
lessc69_in_gg(s(T128), s(T129)) → U29_gg(T128, T129, lessc69_in_gg(T128, T129))
U29_gg(T128, T129, lessc69_out_gg(T128, T129)) → lessc69_out_gg(s(T128), s(T129))
U30_gg(T115, T116, lessc69_out_gg(T115, T116)) → lessc61_out_gg(s(T115), T116)

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
appc18_in_aaag(x1, x2, x3, x4)  =  appc18_in_aaag(x4)
appc18_out_aaag(x1, x2, x3, x4)  =  appc18_out_aaag(x1, x2, x3, x4)
U22_aaag(x1, x2, x3, x4, x5, x6)  =  U22_aaag(x1, x5, x6)
appc28_in_gga(x1, x2, x3)  =  appc28_in_gga(x1, x2)
[]  =  []
appc28_out_gga(x1, x2, x3)  =  appc28_out_gga(x1, x2, x3)
U23_gga(x1, x2, x3, x4, x5)  =  U23_gga(x1, x2, x3, x5)
permc38_in_ga(x1, x2)  =  permc38_in_ga(x1)
permc38_out_ga(x1, x2)  =  permc38_out_ga(x1, x2)
U24_ga(x1, x2, x3, x4)  =  U24_ga(x1, x4)
U25_ga(x1, x2, x3, x4)  =  U25_ga(x1, x2, x4)
U26_ga(x1, x2, x3, x4)  =  U26_ga(x1, x2, x4)
s(x1)  =  s(x1)
lessc61_in_gg(x1, x2)  =  lessc61_in_gg(x1, x2)
0  =  0
lessc61_out_gg(x1, x2)  =  lessc61_out_gg(x1, x2)
U30_gg(x1, x2, x3)  =  U30_gg(x1, x2, x3)
lessc69_in_gg(x1, x2)  =  lessc69_in_gg(x1, x2)
lessc69_out_gg(x1, x2)  =  lessc69_out_gg(x1, x2)
U29_gg(x1, x2, x3)  =  U29_gg(x1, x2, x3)
PERM38_IN_GA(x1, x2)  =  PERM38_IN_GA(x1)
U4_GA(x1, x2, x3, x4)  =  U4_GA(x1, x4)
U6_GA(x1, x2, x3, x4)  =  U6_GA(x1, x4)

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

(36) UsableRulesProof (EQUIVALENT transformation)

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

(37) Obligation:

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

PERM38_IN_GA(T69, .(T72, T78)) → U4_GA(T69, T72, T78, appc18_in_aaag(T76, T72, T77, T69))
U4_GA(T69, T72, T78, appc18_out_aaag(T76, T72, T77, T69)) → U6_GA(T69, T72, T78, appc28_in_gga(T76, T77, T83))
U6_GA(T69, T72, T78, appc28_out_gga(T76, T77, T83)) → PERM38_IN_GA(T83, T78)

The TRS R consists of the following rules:

appc18_in_aaag([], T31, X46, .(T31, X46)) → appc18_out_aaag([], T31, X46, .(T31, X46))
appc18_in_aaag(.(X66, X67), T38, X68, .(X66, T37)) → U22_aaag(X66, X67, T38, X68, T37, appc18_in_aaag(X67, T38, X68, T37))
appc28_in_gga([], T50, T50) → appc28_out_gga([], T50, T50)
appc28_in_gga(.(T57, T58), T59, .(T57, X101)) → U23_gga(T57, T58, T59, X101, appc28_in_gga(T58, T59, X101))
U22_aaag(X66, X67, T38, X68, T37, appc18_out_aaag(X67, T38, X68, T37)) → appc18_out_aaag(.(X66, X67), T38, X68, .(X66, T37))
U23_gga(T57, T58, T59, X101, appc28_out_gga(T58, T59, X101)) → appc28_out_gga(.(T57, T58), T59, .(T57, X101))

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
appc18_in_aaag(x1, x2, x3, x4)  =  appc18_in_aaag(x4)
appc18_out_aaag(x1, x2, x3, x4)  =  appc18_out_aaag(x1, x2, x3, x4)
U22_aaag(x1, x2, x3, x4, x5, x6)  =  U22_aaag(x1, x5, x6)
appc28_in_gga(x1, x2, x3)  =  appc28_in_gga(x1, x2)
[]  =  []
appc28_out_gga(x1, x2, x3)  =  appc28_out_gga(x1, x2, x3)
U23_gga(x1, x2, x3, x4, x5)  =  U23_gga(x1, x2, x3, x5)
PERM38_IN_GA(x1, x2)  =  PERM38_IN_GA(x1)
U4_GA(x1, x2, x3, x4)  =  U4_GA(x1, x4)
U6_GA(x1, x2, x3, x4)  =  U6_GA(x1, x4)

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

(38) PiDPToQDPProof (SOUND transformation)

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

(39) Obligation:

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

PERM38_IN_GA(T69) → U4_GA(T69, appc18_in_aaag(T69))
U4_GA(T69, appc18_out_aaag(T76, T72, T77, T69)) → U6_GA(T69, appc28_in_gga(T76, T77))
U6_GA(T69, appc28_out_gga(T76, T77, T83)) → PERM38_IN_GA(T83)

The TRS R consists of the following rules:

appc18_in_aaag(.(T31, X46)) → appc18_out_aaag([], T31, X46, .(T31, X46))
appc18_in_aaag(.(X66, T37)) → U22_aaag(X66, T37, appc18_in_aaag(T37))
appc28_in_gga([], T50) → appc28_out_gga([], T50, T50)
appc28_in_gga(.(T57, T58), T59) → U23_gga(T57, T58, T59, appc28_in_gga(T58, T59))
U22_aaag(X66, T37, appc18_out_aaag(X67, T38, X68, T37)) → appc18_out_aaag(.(X66, X67), T38, X68, .(X66, T37))
U23_gga(T57, T58, T59, appc28_out_gga(T58, T59, X101)) → appc28_out_gga(.(T57, T58), T59, .(T57, X101))

The set Q consists of the following terms:

appc18_in_aaag(x0)
appc28_in_gga(x0, x1)
U22_aaag(x0, x1, x2)
U23_gga(x0, x1, x2, x3)

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

(40) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


PERM38_IN_GA(T69) → U4_GA(T69, appc18_in_aaag(T69))
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial interpretation [POLO]:

POL(.(x1, x2)) = 1 + x2   
POL(PERM38_IN_GA(x1)) = 1 + x1   
POL(U22_aaag(x1, x2, x3)) = 1 + x3   
POL(U23_gga(x1, x2, x3, x4)) = 1 + x4   
POL(U4_GA(x1, x2)) = x2   
POL(U6_GA(x1, x2)) = x2   
POL([]) = 1   
POL(appc18_in_aaag(x1)) = x1   
POL(appc18_out_aaag(x1, x2, x3, x4)) = x1 + x3   
POL(appc28_in_gga(x1, x2)) = x1 + x2   
POL(appc28_out_gga(x1, x2, x3)) = 1 + x3   

The following usable rules [FROCOS05] were oriented:

appc18_in_aaag(.(T31, X46)) → appc18_out_aaag([], T31, X46, .(T31, X46))
appc18_in_aaag(.(X66, T37)) → U22_aaag(X66, T37, appc18_in_aaag(T37))
appc28_in_gga([], T50) → appc28_out_gga([], T50, T50)
appc28_in_gga(.(T57, T58), T59) → U23_gga(T57, T58, T59, appc28_in_gga(T58, T59))
U22_aaag(X66, T37, appc18_out_aaag(X67, T38, X68, T37)) → appc18_out_aaag(.(X66, X67), T38, X68, .(X66, T37))
U23_gga(T57, T58, T59, appc28_out_gga(T58, T59, X101)) → appc28_out_gga(.(T57, T58), T59, .(T57, X101))

(41) Obligation:

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

U4_GA(T69, appc18_out_aaag(T76, T72, T77, T69)) → U6_GA(T69, appc28_in_gga(T76, T77))
U6_GA(T69, appc28_out_gga(T76, T77, T83)) → PERM38_IN_GA(T83)

The TRS R consists of the following rules:

appc18_in_aaag(.(T31, X46)) → appc18_out_aaag([], T31, X46, .(T31, X46))
appc18_in_aaag(.(X66, T37)) → U22_aaag(X66, T37, appc18_in_aaag(T37))
appc28_in_gga([], T50) → appc28_out_gga([], T50, T50)
appc28_in_gga(.(T57, T58), T59) → U23_gga(T57, T58, T59, appc28_in_gga(T58, T59))
U22_aaag(X66, T37, appc18_out_aaag(X67, T38, X68, T37)) → appc18_out_aaag(.(X66, X67), T38, X68, .(X66, T37))
U23_gga(T57, T58, T59, appc28_out_gga(T58, T59, X101)) → appc28_out_gga(.(T57, T58), T59, .(T57, X101))

The set Q consists of the following terms:

appc18_in_aaag(x0)
appc28_in_gga(x0, x1)
U22_aaag(x0, x1, x2)
U23_gga(x0, x1, x2, x3)

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

(42) DependencyGraphProof (EQUIVALENT transformation)

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

(43) TRUE