(0) Obligation:

Clauses:

rev([], []).
rev(.(X, Xs), Ys) :- ','(rev(Xs, Zs), app(Zs, .(X, []), Ys)).
app([], X, X).
app(.(X, Xs), Ys, .(X, Zs)) :- app(Xs, Ys, Zs).

Queries:

rev(a,g).

(1) PrologToPrologProblemTransformerProof (SOUND transformation)

Built Prolog problem from termination graph.

(2) Obligation:

Clauses:

rev18([], []).
rev18(.(T32, T31), X52) :- rev18(T31, X51).
rev18(.(T34, T31), X52) :- ','(rev18(T31, T33), app29(T33, T34, X52)).
app29([], T41, .(T41, [])).
app29(.(T48, T51), T52, .(T48, X78)) :- app29(T51, T52, X78).
app69([], T133, .(T133, [])).
app69(.(T142, T146), T147, .(T142, T145)) :- app69(T146, T147, T145).
rev1([], []).
rev1(.(T21, .(T20, T19)), []) :- rev18(T19, X34).
rev1(.(T24, .(T23, T19)), []) :- ','(rev18(T19, T22), app29(T22, T23, X35)).
rev1(.(T85, []), .(T85, [])).
rev1(.(T94, .(T93, T92)), T75) :- rev18(T92, X134).
rev1(.(T97, .(T96, T92)), T75) :- ','(rev18(T92, T95), app29(T95, T96, X135)).
rev1(.(T112, .(T96, T92)), .(T112, [])) :- ','(rev18(T92, T95), app29(T95, T96, [])).
rev1(.(T126, .(T96, T92)), .(T121, T124)) :- ','(rev18(T92, T95), ','(app29(T95, T96, .(T121, T125)), app69(T125, T126, T124))).

Queries:

rev1(a,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:
rev1_in: (f,b)
rev18_in: (f,f)
app29_in: (f,f,f) (f,f,b)
app69_in: (b,f,b)
Transforming Prolog into the following Term Rewriting System:
Pi-finite rewrite system:
The TRS R consists of the following rules:

rev1_in_ag([], []) → rev1_out_ag([], [])
rev1_in_ag(.(T21, .(T20, T19)), []) → U6_ag(T21, T20, T19, rev18_in_aa(T19, X34))
rev18_in_aa([], []) → rev18_out_aa([], [])
rev18_in_aa(.(T32, T31), X52) → U1_aa(T32, T31, X52, rev18_in_aa(T31, X51))
rev18_in_aa(.(T34, T31), X52) → U2_aa(T34, T31, X52, rev18_in_aa(T31, T33))
U2_aa(T34, T31, X52, rev18_out_aa(T31, T33)) → U3_aa(T34, T31, X52, app29_in_aaa(T33, T34, X52))
app29_in_aaa([], T41, .(T41, [])) → app29_out_aaa([], T41, .(T41, []))
app29_in_aaa(.(T48, T51), T52, .(T48, X78)) → U4_aaa(T48, T51, T52, X78, app29_in_aaa(T51, T52, X78))
U4_aaa(T48, T51, T52, X78, app29_out_aaa(T51, T52, X78)) → app29_out_aaa(.(T48, T51), T52, .(T48, X78))
U3_aa(T34, T31, X52, app29_out_aaa(T33, T34, X52)) → rev18_out_aa(.(T34, T31), X52)
U1_aa(T32, T31, X52, rev18_out_aa(T31, X51)) → rev18_out_aa(.(T32, T31), X52)
U6_ag(T21, T20, T19, rev18_out_aa(T19, X34)) → rev1_out_ag(.(T21, .(T20, T19)), [])
rev1_in_ag(.(T24, .(T23, T19)), []) → U7_ag(T24, T23, T19, rev18_in_aa(T19, T22))
U7_ag(T24, T23, T19, rev18_out_aa(T19, T22)) → U8_ag(T24, T23, T19, app29_in_aaa(T22, T23, X35))
U8_ag(T24, T23, T19, app29_out_aaa(T22, T23, X35)) → rev1_out_ag(.(T24, .(T23, T19)), [])
rev1_in_ag(.(T85, []), .(T85, [])) → rev1_out_ag(.(T85, []), .(T85, []))
rev1_in_ag(.(T94, .(T93, T92)), T75) → U9_ag(T94, T93, T92, T75, rev18_in_aa(T92, X134))
U9_ag(T94, T93, T92, T75, rev18_out_aa(T92, X134)) → rev1_out_ag(.(T94, .(T93, T92)), T75)
rev1_in_ag(.(T97, .(T96, T92)), T75) → U10_ag(T97, T96, T92, T75, rev18_in_aa(T92, T95))
U10_ag(T97, T96, T92, T75, rev18_out_aa(T92, T95)) → U11_ag(T97, T96, T92, T75, app29_in_aaa(T95, T96, X135))
U11_ag(T97, T96, T92, T75, app29_out_aaa(T95, T96, X135)) → rev1_out_ag(.(T97, .(T96, T92)), T75)
rev1_in_ag(.(T112, .(T96, T92)), .(T112, [])) → U12_ag(T112, T96, T92, rev18_in_aa(T92, T95))
U12_ag(T112, T96, T92, rev18_out_aa(T92, T95)) → U13_ag(T112, T96, T92, app29_in_aag(T95, T96, []))
app29_in_aag([], T41, .(T41, [])) → app29_out_aag([], T41, .(T41, []))
app29_in_aag(.(T48, T51), T52, .(T48, X78)) → U4_aag(T48, T51, T52, X78, app29_in_aag(T51, T52, X78))
U4_aag(T48, T51, T52, X78, app29_out_aag(T51, T52, X78)) → app29_out_aag(.(T48, T51), T52, .(T48, X78))
U13_ag(T112, T96, T92, app29_out_aag(T95, T96, [])) → rev1_out_ag(.(T112, .(T96, T92)), .(T112, []))
rev1_in_ag(.(T126, .(T96, T92)), .(T121, T124)) → U14_ag(T126, T96, T92, T121, T124, rev18_in_aa(T92, T95))
U14_ag(T126, T96, T92, T121, T124, rev18_out_aa(T92, T95)) → U15_ag(T126, T96, T92, T121, T124, app29_in_aaa(T95, T96, .(T121, T125)))
U15_ag(T126, T96, T92, T121, T124, app29_out_aaa(T95, T96, .(T121, T125))) → U16_ag(T126, T96, T92, T121, T124, app69_in_gag(T125, T126, T124))
app69_in_gag([], T133, .(T133, [])) → app69_out_gag([], T133, .(T133, []))
app69_in_gag(.(T142, T146), T147, .(T142, T145)) → U5_gag(T142, T146, T147, T145, app69_in_gag(T146, T147, T145))
U5_gag(T142, T146, T147, T145, app69_out_gag(T146, T147, T145)) → app69_out_gag(.(T142, T146), T147, .(T142, T145))
U16_ag(T126, T96, T92, T121, T124, app69_out_gag(T125, T126, T124)) → rev1_out_ag(.(T126, .(T96, T92)), .(T121, T124))

The argument filtering Pi contains the following mapping:
rev1_in_ag(x1, x2)  =  rev1_in_ag(x2)
[]  =  []
rev1_out_ag(x1, x2)  =  rev1_out_ag(x1, x2)
U6_ag(x1, x2, x3, x4)  =  U6_ag(x4)
rev18_in_aa(x1, x2)  =  rev18_in_aa
rev18_out_aa(x1, x2)  =  rev18_out_aa(x1)
U1_aa(x1, x2, x3, x4)  =  U1_aa(x4)
U2_aa(x1, x2, x3, x4)  =  U2_aa(x4)
U3_aa(x1, x2, x3, x4)  =  U3_aa(x2, x4)
.(x1, x2)  =  .(x2)
app29_in_aaa(x1, x2, x3)  =  app29_in_aaa
app29_out_aaa(x1, x2, x3)  =  app29_out_aaa(x1, x3)
U4_aaa(x1, x2, x3, x4, x5)  =  U4_aaa(x5)
U7_ag(x1, x2, x3, x4)  =  U7_ag(x4)
U8_ag(x1, x2, x3, x4)  =  U8_ag(x3, x4)
U9_ag(x1, x2, x3, x4, x5)  =  U9_ag(x4, x5)
U10_ag(x1, x2, x3, x4, x5)  =  U10_ag(x4, x5)
U11_ag(x1, x2, x3, x4, x5)  =  U11_ag(x3, x4, x5)
U12_ag(x1, x2, x3, x4)  =  U12_ag(x4)
U13_ag(x1, x2, x3, x4)  =  U13_ag(x3, x4)
app29_in_aag(x1, x2, x3)  =  app29_in_aag(x3)
app29_out_aag(x1, x2, x3)  =  app29_out_aag(x1, x3)
U4_aag(x1, x2, x3, x4, x5)  =  U4_aag(x4, x5)
U14_ag(x1, x2, x3, x4, x5, x6)  =  U14_ag(x5, x6)
U15_ag(x1, x2, x3, x4, x5, x6)  =  U15_ag(x3, x5, x6)
U16_ag(x1, x2, x3, x4, x5, x6)  =  U16_ag(x3, x5, x6)
app69_in_gag(x1, x2, x3)  =  app69_in_gag(x1, x3)
app69_out_gag(x1, x2, x3)  =  app69_out_gag(x1, x3)
U5_gag(x1, x2, x3, x4, x5)  =  U5_gag(x2, x4, 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:

rev1_in_ag([], []) → rev1_out_ag([], [])
rev1_in_ag(.(T21, .(T20, T19)), []) → U6_ag(T21, T20, T19, rev18_in_aa(T19, X34))
rev18_in_aa([], []) → rev18_out_aa([], [])
rev18_in_aa(.(T32, T31), X52) → U1_aa(T32, T31, X52, rev18_in_aa(T31, X51))
rev18_in_aa(.(T34, T31), X52) → U2_aa(T34, T31, X52, rev18_in_aa(T31, T33))
U2_aa(T34, T31, X52, rev18_out_aa(T31, T33)) → U3_aa(T34, T31, X52, app29_in_aaa(T33, T34, X52))
app29_in_aaa([], T41, .(T41, [])) → app29_out_aaa([], T41, .(T41, []))
app29_in_aaa(.(T48, T51), T52, .(T48, X78)) → U4_aaa(T48, T51, T52, X78, app29_in_aaa(T51, T52, X78))
U4_aaa(T48, T51, T52, X78, app29_out_aaa(T51, T52, X78)) → app29_out_aaa(.(T48, T51), T52, .(T48, X78))
U3_aa(T34, T31, X52, app29_out_aaa(T33, T34, X52)) → rev18_out_aa(.(T34, T31), X52)
U1_aa(T32, T31, X52, rev18_out_aa(T31, X51)) → rev18_out_aa(.(T32, T31), X52)
U6_ag(T21, T20, T19, rev18_out_aa(T19, X34)) → rev1_out_ag(.(T21, .(T20, T19)), [])
rev1_in_ag(.(T24, .(T23, T19)), []) → U7_ag(T24, T23, T19, rev18_in_aa(T19, T22))
U7_ag(T24, T23, T19, rev18_out_aa(T19, T22)) → U8_ag(T24, T23, T19, app29_in_aaa(T22, T23, X35))
U8_ag(T24, T23, T19, app29_out_aaa(T22, T23, X35)) → rev1_out_ag(.(T24, .(T23, T19)), [])
rev1_in_ag(.(T85, []), .(T85, [])) → rev1_out_ag(.(T85, []), .(T85, []))
rev1_in_ag(.(T94, .(T93, T92)), T75) → U9_ag(T94, T93, T92, T75, rev18_in_aa(T92, X134))
U9_ag(T94, T93, T92, T75, rev18_out_aa(T92, X134)) → rev1_out_ag(.(T94, .(T93, T92)), T75)
rev1_in_ag(.(T97, .(T96, T92)), T75) → U10_ag(T97, T96, T92, T75, rev18_in_aa(T92, T95))
U10_ag(T97, T96, T92, T75, rev18_out_aa(T92, T95)) → U11_ag(T97, T96, T92, T75, app29_in_aaa(T95, T96, X135))
U11_ag(T97, T96, T92, T75, app29_out_aaa(T95, T96, X135)) → rev1_out_ag(.(T97, .(T96, T92)), T75)
rev1_in_ag(.(T112, .(T96, T92)), .(T112, [])) → U12_ag(T112, T96, T92, rev18_in_aa(T92, T95))
U12_ag(T112, T96, T92, rev18_out_aa(T92, T95)) → U13_ag(T112, T96, T92, app29_in_aag(T95, T96, []))
app29_in_aag([], T41, .(T41, [])) → app29_out_aag([], T41, .(T41, []))
app29_in_aag(.(T48, T51), T52, .(T48, X78)) → U4_aag(T48, T51, T52, X78, app29_in_aag(T51, T52, X78))
U4_aag(T48, T51, T52, X78, app29_out_aag(T51, T52, X78)) → app29_out_aag(.(T48, T51), T52, .(T48, X78))
U13_ag(T112, T96, T92, app29_out_aag(T95, T96, [])) → rev1_out_ag(.(T112, .(T96, T92)), .(T112, []))
rev1_in_ag(.(T126, .(T96, T92)), .(T121, T124)) → U14_ag(T126, T96, T92, T121, T124, rev18_in_aa(T92, T95))
U14_ag(T126, T96, T92, T121, T124, rev18_out_aa(T92, T95)) → U15_ag(T126, T96, T92, T121, T124, app29_in_aaa(T95, T96, .(T121, T125)))
U15_ag(T126, T96, T92, T121, T124, app29_out_aaa(T95, T96, .(T121, T125))) → U16_ag(T126, T96, T92, T121, T124, app69_in_gag(T125, T126, T124))
app69_in_gag([], T133, .(T133, [])) → app69_out_gag([], T133, .(T133, []))
app69_in_gag(.(T142, T146), T147, .(T142, T145)) → U5_gag(T142, T146, T147, T145, app69_in_gag(T146, T147, T145))
U5_gag(T142, T146, T147, T145, app69_out_gag(T146, T147, T145)) → app69_out_gag(.(T142, T146), T147, .(T142, T145))
U16_ag(T126, T96, T92, T121, T124, app69_out_gag(T125, T126, T124)) → rev1_out_ag(.(T126, .(T96, T92)), .(T121, T124))

The argument filtering Pi contains the following mapping:
rev1_in_ag(x1, x2)  =  rev1_in_ag(x2)
[]  =  []
rev1_out_ag(x1, x2)  =  rev1_out_ag(x1, x2)
U6_ag(x1, x2, x3, x4)  =  U6_ag(x4)
rev18_in_aa(x1, x2)  =  rev18_in_aa
rev18_out_aa(x1, x2)  =  rev18_out_aa(x1)
U1_aa(x1, x2, x3, x4)  =  U1_aa(x4)
U2_aa(x1, x2, x3, x4)  =  U2_aa(x4)
U3_aa(x1, x2, x3, x4)  =  U3_aa(x2, x4)
.(x1, x2)  =  .(x2)
app29_in_aaa(x1, x2, x3)  =  app29_in_aaa
app29_out_aaa(x1, x2, x3)  =  app29_out_aaa(x1, x3)
U4_aaa(x1, x2, x3, x4, x5)  =  U4_aaa(x5)
U7_ag(x1, x2, x3, x4)  =  U7_ag(x4)
U8_ag(x1, x2, x3, x4)  =  U8_ag(x3, x4)
U9_ag(x1, x2, x3, x4, x5)  =  U9_ag(x4, x5)
U10_ag(x1, x2, x3, x4, x5)  =  U10_ag(x4, x5)
U11_ag(x1, x2, x3, x4, x5)  =  U11_ag(x3, x4, x5)
U12_ag(x1, x2, x3, x4)  =  U12_ag(x4)
U13_ag(x1, x2, x3, x4)  =  U13_ag(x3, x4)
app29_in_aag(x1, x2, x3)  =  app29_in_aag(x3)
app29_out_aag(x1, x2, x3)  =  app29_out_aag(x1, x3)
U4_aag(x1, x2, x3, x4, x5)  =  U4_aag(x4, x5)
U14_ag(x1, x2, x3, x4, x5, x6)  =  U14_ag(x5, x6)
U15_ag(x1, x2, x3, x4, x5, x6)  =  U15_ag(x3, x5, x6)
U16_ag(x1, x2, x3, x4, x5, x6)  =  U16_ag(x3, x5, x6)
app69_in_gag(x1, x2, x3)  =  app69_in_gag(x1, x3)
app69_out_gag(x1, x2, x3)  =  app69_out_gag(x1, x3)
U5_gag(x1, x2, x3, x4, x5)  =  U5_gag(x2, x4, 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:

REV1_IN_AG(.(T21, .(T20, T19)), []) → U6_AG(T21, T20, T19, rev18_in_aa(T19, X34))
REV1_IN_AG(.(T21, .(T20, T19)), []) → REV18_IN_AA(T19, X34)
REV18_IN_AA(.(T32, T31), X52) → U1_AA(T32, T31, X52, rev18_in_aa(T31, X51))
REV18_IN_AA(.(T32, T31), X52) → REV18_IN_AA(T31, X51)
REV18_IN_AA(.(T34, T31), X52) → U2_AA(T34, T31, X52, rev18_in_aa(T31, T33))
U2_AA(T34, T31, X52, rev18_out_aa(T31, T33)) → U3_AA(T34, T31, X52, app29_in_aaa(T33, T34, X52))
U2_AA(T34, T31, X52, rev18_out_aa(T31, T33)) → APP29_IN_AAA(T33, T34, X52)
APP29_IN_AAA(.(T48, T51), T52, .(T48, X78)) → U4_AAA(T48, T51, T52, X78, app29_in_aaa(T51, T52, X78))
APP29_IN_AAA(.(T48, T51), T52, .(T48, X78)) → APP29_IN_AAA(T51, T52, X78)
REV1_IN_AG(.(T24, .(T23, T19)), []) → U7_AG(T24, T23, T19, rev18_in_aa(T19, T22))
U7_AG(T24, T23, T19, rev18_out_aa(T19, T22)) → U8_AG(T24, T23, T19, app29_in_aaa(T22, T23, X35))
U7_AG(T24, T23, T19, rev18_out_aa(T19, T22)) → APP29_IN_AAA(T22, T23, X35)
REV1_IN_AG(.(T94, .(T93, T92)), T75) → U9_AG(T94, T93, T92, T75, rev18_in_aa(T92, X134))
REV1_IN_AG(.(T94, .(T93, T92)), T75) → REV18_IN_AA(T92, X134)
REV1_IN_AG(.(T97, .(T96, T92)), T75) → U10_AG(T97, T96, T92, T75, rev18_in_aa(T92, T95))
U10_AG(T97, T96, T92, T75, rev18_out_aa(T92, T95)) → U11_AG(T97, T96, T92, T75, app29_in_aaa(T95, T96, X135))
U10_AG(T97, T96, T92, T75, rev18_out_aa(T92, T95)) → APP29_IN_AAA(T95, T96, X135)
REV1_IN_AG(.(T112, .(T96, T92)), .(T112, [])) → U12_AG(T112, T96, T92, rev18_in_aa(T92, T95))
REV1_IN_AG(.(T112, .(T96, T92)), .(T112, [])) → REV18_IN_AA(T92, T95)
U12_AG(T112, T96, T92, rev18_out_aa(T92, T95)) → U13_AG(T112, T96, T92, app29_in_aag(T95, T96, []))
U12_AG(T112, T96, T92, rev18_out_aa(T92, T95)) → APP29_IN_AAG(T95, T96, [])
APP29_IN_AAG(.(T48, T51), T52, .(T48, X78)) → U4_AAG(T48, T51, T52, X78, app29_in_aag(T51, T52, X78))
APP29_IN_AAG(.(T48, T51), T52, .(T48, X78)) → APP29_IN_AAG(T51, T52, X78)
REV1_IN_AG(.(T126, .(T96, T92)), .(T121, T124)) → U14_AG(T126, T96, T92, T121, T124, rev18_in_aa(T92, T95))
REV1_IN_AG(.(T126, .(T96, T92)), .(T121, T124)) → REV18_IN_AA(T92, T95)
U14_AG(T126, T96, T92, T121, T124, rev18_out_aa(T92, T95)) → U15_AG(T126, T96, T92, T121, T124, app29_in_aaa(T95, T96, .(T121, T125)))
U14_AG(T126, T96, T92, T121, T124, rev18_out_aa(T92, T95)) → APP29_IN_AAA(T95, T96, .(T121, T125))
U15_AG(T126, T96, T92, T121, T124, app29_out_aaa(T95, T96, .(T121, T125))) → U16_AG(T126, T96, T92, T121, T124, app69_in_gag(T125, T126, T124))
U15_AG(T126, T96, T92, T121, T124, app29_out_aaa(T95, T96, .(T121, T125))) → APP69_IN_GAG(T125, T126, T124)
APP69_IN_GAG(.(T142, T146), T147, .(T142, T145)) → U5_GAG(T142, T146, T147, T145, app69_in_gag(T146, T147, T145))
APP69_IN_GAG(.(T142, T146), T147, .(T142, T145)) → APP69_IN_GAG(T146, T147, T145)

The TRS R consists of the following rules:

rev1_in_ag([], []) → rev1_out_ag([], [])
rev1_in_ag(.(T21, .(T20, T19)), []) → U6_ag(T21, T20, T19, rev18_in_aa(T19, X34))
rev18_in_aa([], []) → rev18_out_aa([], [])
rev18_in_aa(.(T32, T31), X52) → U1_aa(T32, T31, X52, rev18_in_aa(T31, X51))
rev18_in_aa(.(T34, T31), X52) → U2_aa(T34, T31, X52, rev18_in_aa(T31, T33))
U2_aa(T34, T31, X52, rev18_out_aa(T31, T33)) → U3_aa(T34, T31, X52, app29_in_aaa(T33, T34, X52))
app29_in_aaa([], T41, .(T41, [])) → app29_out_aaa([], T41, .(T41, []))
app29_in_aaa(.(T48, T51), T52, .(T48, X78)) → U4_aaa(T48, T51, T52, X78, app29_in_aaa(T51, T52, X78))
U4_aaa(T48, T51, T52, X78, app29_out_aaa(T51, T52, X78)) → app29_out_aaa(.(T48, T51), T52, .(T48, X78))
U3_aa(T34, T31, X52, app29_out_aaa(T33, T34, X52)) → rev18_out_aa(.(T34, T31), X52)
U1_aa(T32, T31, X52, rev18_out_aa(T31, X51)) → rev18_out_aa(.(T32, T31), X52)
U6_ag(T21, T20, T19, rev18_out_aa(T19, X34)) → rev1_out_ag(.(T21, .(T20, T19)), [])
rev1_in_ag(.(T24, .(T23, T19)), []) → U7_ag(T24, T23, T19, rev18_in_aa(T19, T22))
U7_ag(T24, T23, T19, rev18_out_aa(T19, T22)) → U8_ag(T24, T23, T19, app29_in_aaa(T22, T23, X35))
U8_ag(T24, T23, T19, app29_out_aaa(T22, T23, X35)) → rev1_out_ag(.(T24, .(T23, T19)), [])
rev1_in_ag(.(T85, []), .(T85, [])) → rev1_out_ag(.(T85, []), .(T85, []))
rev1_in_ag(.(T94, .(T93, T92)), T75) → U9_ag(T94, T93, T92, T75, rev18_in_aa(T92, X134))
U9_ag(T94, T93, T92, T75, rev18_out_aa(T92, X134)) → rev1_out_ag(.(T94, .(T93, T92)), T75)
rev1_in_ag(.(T97, .(T96, T92)), T75) → U10_ag(T97, T96, T92, T75, rev18_in_aa(T92, T95))
U10_ag(T97, T96, T92, T75, rev18_out_aa(T92, T95)) → U11_ag(T97, T96, T92, T75, app29_in_aaa(T95, T96, X135))
U11_ag(T97, T96, T92, T75, app29_out_aaa(T95, T96, X135)) → rev1_out_ag(.(T97, .(T96, T92)), T75)
rev1_in_ag(.(T112, .(T96, T92)), .(T112, [])) → U12_ag(T112, T96, T92, rev18_in_aa(T92, T95))
U12_ag(T112, T96, T92, rev18_out_aa(T92, T95)) → U13_ag(T112, T96, T92, app29_in_aag(T95, T96, []))
app29_in_aag([], T41, .(T41, [])) → app29_out_aag([], T41, .(T41, []))
app29_in_aag(.(T48, T51), T52, .(T48, X78)) → U4_aag(T48, T51, T52, X78, app29_in_aag(T51, T52, X78))
U4_aag(T48, T51, T52, X78, app29_out_aag(T51, T52, X78)) → app29_out_aag(.(T48, T51), T52, .(T48, X78))
U13_ag(T112, T96, T92, app29_out_aag(T95, T96, [])) → rev1_out_ag(.(T112, .(T96, T92)), .(T112, []))
rev1_in_ag(.(T126, .(T96, T92)), .(T121, T124)) → U14_ag(T126, T96, T92, T121, T124, rev18_in_aa(T92, T95))
U14_ag(T126, T96, T92, T121, T124, rev18_out_aa(T92, T95)) → U15_ag(T126, T96, T92, T121, T124, app29_in_aaa(T95, T96, .(T121, T125)))
U15_ag(T126, T96, T92, T121, T124, app29_out_aaa(T95, T96, .(T121, T125))) → U16_ag(T126, T96, T92, T121, T124, app69_in_gag(T125, T126, T124))
app69_in_gag([], T133, .(T133, [])) → app69_out_gag([], T133, .(T133, []))
app69_in_gag(.(T142, T146), T147, .(T142, T145)) → U5_gag(T142, T146, T147, T145, app69_in_gag(T146, T147, T145))
U5_gag(T142, T146, T147, T145, app69_out_gag(T146, T147, T145)) → app69_out_gag(.(T142, T146), T147, .(T142, T145))
U16_ag(T126, T96, T92, T121, T124, app69_out_gag(T125, T126, T124)) → rev1_out_ag(.(T126, .(T96, T92)), .(T121, T124))

The argument filtering Pi contains the following mapping:
rev1_in_ag(x1, x2)  =  rev1_in_ag(x2)
[]  =  []
rev1_out_ag(x1, x2)  =  rev1_out_ag(x1, x2)
U6_ag(x1, x2, x3, x4)  =  U6_ag(x4)
rev18_in_aa(x1, x2)  =  rev18_in_aa
rev18_out_aa(x1, x2)  =  rev18_out_aa(x1)
U1_aa(x1, x2, x3, x4)  =  U1_aa(x4)
U2_aa(x1, x2, x3, x4)  =  U2_aa(x4)
U3_aa(x1, x2, x3, x4)  =  U3_aa(x2, x4)
.(x1, x2)  =  .(x2)
app29_in_aaa(x1, x2, x3)  =  app29_in_aaa
app29_out_aaa(x1, x2, x3)  =  app29_out_aaa(x1, x3)
U4_aaa(x1, x2, x3, x4, x5)  =  U4_aaa(x5)
U7_ag(x1, x2, x3, x4)  =  U7_ag(x4)
U8_ag(x1, x2, x3, x4)  =  U8_ag(x3, x4)
U9_ag(x1, x2, x3, x4, x5)  =  U9_ag(x4, x5)
U10_ag(x1, x2, x3, x4, x5)  =  U10_ag(x4, x5)
U11_ag(x1, x2, x3, x4, x5)  =  U11_ag(x3, x4, x5)
U12_ag(x1, x2, x3, x4)  =  U12_ag(x4)
U13_ag(x1, x2, x3, x4)  =  U13_ag(x3, x4)
app29_in_aag(x1, x2, x3)  =  app29_in_aag(x3)
app29_out_aag(x1, x2, x3)  =  app29_out_aag(x1, x3)
U4_aag(x1, x2, x3, x4, x5)  =  U4_aag(x4, x5)
U14_ag(x1, x2, x3, x4, x5, x6)  =  U14_ag(x5, x6)
U15_ag(x1, x2, x3, x4, x5, x6)  =  U15_ag(x3, x5, x6)
U16_ag(x1, x2, x3, x4, x5, x6)  =  U16_ag(x3, x5, x6)
app69_in_gag(x1, x2, x3)  =  app69_in_gag(x1, x3)
app69_out_gag(x1, x2, x3)  =  app69_out_gag(x1, x3)
U5_gag(x1, x2, x3, x4, x5)  =  U5_gag(x2, x4, x5)
REV1_IN_AG(x1, x2)  =  REV1_IN_AG(x2)
U6_AG(x1, x2, x3, x4)  =  U6_AG(x4)
REV18_IN_AA(x1, x2)  =  REV18_IN_AA
U1_AA(x1, x2, x3, x4)  =  U1_AA(x4)
U2_AA(x1, x2, x3, x4)  =  U2_AA(x4)
U3_AA(x1, x2, x3, x4)  =  U3_AA(x2, x4)
APP29_IN_AAA(x1, x2, x3)  =  APP29_IN_AAA
U4_AAA(x1, x2, x3, x4, x5)  =  U4_AAA(x5)
U7_AG(x1, x2, x3, x4)  =  U7_AG(x4)
U8_AG(x1, x2, x3, x4)  =  U8_AG(x3, x4)
U9_AG(x1, x2, x3, x4, x5)  =  U9_AG(x4, x5)
U10_AG(x1, x2, x3, x4, x5)  =  U10_AG(x4, x5)
U11_AG(x1, x2, x3, x4, x5)  =  U11_AG(x3, x4, x5)
U12_AG(x1, x2, x3, x4)  =  U12_AG(x4)
U13_AG(x1, x2, x3, x4)  =  U13_AG(x3, x4)
APP29_IN_AAG(x1, x2, x3)  =  APP29_IN_AAG(x3)
U4_AAG(x1, x2, x3, x4, x5)  =  U4_AAG(x4, x5)
U14_AG(x1, x2, x3, x4, x5, x6)  =  U14_AG(x5, x6)
U15_AG(x1, x2, x3, x4, x5, x6)  =  U15_AG(x3, x5, x6)
U16_AG(x1, x2, x3, x4, x5, x6)  =  U16_AG(x3, x5, x6)
APP69_IN_GAG(x1, x2, x3)  =  APP69_IN_GAG(x1, x3)
U5_GAG(x1, x2, x3, x4, x5)  =  U5_GAG(x2, x4, x5)

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

(6) Obligation:

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

REV1_IN_AG(.(T21, .(T20, T19)), []) → U6_AG(T21, T20, T19, rev18_in_aa(T19, X34))
REV1_IN_AG(.(T21, .(T20, T19)), []) → REV18_IN_AA(T19, X34)
REV18_IN_AA(.(T32, T31), X52) → U1_AA(T32, T31, X52, rev18_in_aa(T31, X51))
REV18_IN_AA(.(T32, T31), X52) → REV18_IN_AA(T31, X51)
REV18_IN_AA(.(T34, T31), X52) → U2_AA(T34, T31, X52, rev18_in_aa(T31, T33))
U2_AA(T34, T31, X52, rev18_out_aa(T31, T33)) → U3_AA(T34, T31, X52, app29_in_aaa(T33, T34, X52))
U2_AA(T34, T31, X52, rev18_out_aa(T31, T33)) → APP29_IN_AAA(T33, T34, X52)
APP29_IN_AAA(.(T48, T51), T52, .(T48, X78)) → U4_AAA(T48, T51, T52, X78, app29_in_aaa(T51, T52, X78))
APP29_IN_AAA(.(T48, T51), T52, .(T48, X78)) → APP29_IN_AAA(T51, T52, X78)
REV1_IN_AG(.(T24, .(T23, T19)), []) → U7_AG(T24, T23, T19, rev18_in_aa(T19, T22))
U7_AG(T24, T23, T19, rev18_out_aa(T19, T22)) → U8_AG(T24, T23, T19, app29_in_aaa(T22, T23, X35))
U7_AG(T24, T23, T19, rev18_out_aa(T19, T22)) → APP29_IN_AAA(T22, T23, X35)
REV1_IN_AG(.(T94, .(T93, T92)), T75) → U9_AG(T94, T93, T92, T75, rev18_in_aa(T92, X134))
REV1_IN_AG(.(T94, .(T93, T92)), T75) → REV18_IN_AA(T92, X134)
REV1_IN_AG(.(T97, .(T96, T92)), T75) → U10_AG(T97, T96, T92, T75, rev18_in_aa(T92, T95))
U10_AG(T97, T96, T92, T75, rev18_out_aa(T92, T95)) → U11_AG(T97, T96, T92, T75, app29_in_aaa(T95, T96, X135))
U10_AG(T97, T96, T92, T75, rev18_out_aa(T92, T95)) → APP29_IN_AAA(T95, T96, X135)
REV1_IN_AG(.(T112, .(T96, T92)), .(T112, [])) → U12_AG(T112, T96, T92, rev18_in_aa(T92, T95))
REV1_IN_AG(.(T112, .(T96, T92)), .(T112, [])) → REV18_IN_AA(T92, T95)
U12_AG(T112, T96, T92, rev18_out_aa(T92, T95)) → U13_AG(T112, T96, T92, app29_in_aag(T95, T96, []))
U12_AG(T112, T96, T92, rev18_out_aa(T92, T95)) → APP29_IN_AAG(T95, T96, [])
APP29_IN_AAG(.(T48, T51), T52, .(T48, X78)) → U4_AAG(T48, T51, T52, X78, app29_in_aag(T51, T52, X78))
APP29_IN_AAG(.(T48, T51), T52, .(T48, X78)) → APP29_IN_AAG(T51, T52, X78)
REV1_IN_AG(.(T126, .(T96, T92)), .(T121, T124)) → U14_AG(T126, T96, T92, T121, T124, rev18_in_aa(T92, T95))
REV1_IN_AG(.(T126, .(T96, T92)), .(T121, T124)) → REV18_IN_AA(T92, T95)
U14_AG(T126, T96, T92, T121, T124, rev18_out_aa(T92, T95)) → U15_AG(T126, T96, T92, T121, T124, app29_in_aaa(T95, T96, .(T121, T125)))
U14_AG(T126, T96, T92, T121, T124, rev18_out_aa(T92, T95)) → APP29_IN_AAA(T95, T96, .(T121, T125))
U15_AG(T126, T96, T92, T121, T124, app29_out_aaa(T95, T96, .(T121, T125))) → U16_AG(T126, T96, T92, T121, T124, app69_in_gag(T125, T126, T124))
U15_AG(T126, T96, T92, T121, T124, app29_out_aaa(T95, T96, .(T121, T125))) → APP69_IN_GAG(T125, T126, T124)
APP69_IN_GAG(.(T142, T146), T147, .(T142, T145)) → U5_GAG(T142, T146, T147, T145, app69_in_gag(T146, T147, T145))
APP69_IN_GAG(.(T142, T146), T147, .(T142, T145)) → APP69_IN_GAG(T146, T147, T145)

The TRS R consists of the following rules:

rev1_in_ag([], []) → rev1_out_ag([], [])
rev1_in_ag(.(T21, .(T20, T19)), []) → U6_ag(T21, T20, T19, rev18_in_aa(T19, X34))
rev18_in_aa([], []) → rev18_out_aa([], [])
rev18_in_aa(.(T32, T31), X52) → U1_aa(T32, T31, X52, rev18_in_aa(T31, X51))
rev18_in_aa(.(T34, T31), X52) → U2_aa(T34, T31, X52, rev18_in_aa(T31, T33))
U2_aa(T34, T31, X52, rev18_out_aa(T31, T33)) → U3_aa(T34, T31, X52, app29_in_aaa(T33, T34, X52))
app29_in_aaa([], T41, .(T41, [])) → app29_out_aaa([], T41, .(T41, []))
app29_in_aaa(.(T48, T51), T52, .(T48, X78)) → U4_aaa(T48, T51, T52, X78, app29_in_aaa(T51, T52, X78))
U4_aaa(T48, T51, T52, X78, app29_out_aaa(T51, T52, X78)) → app29_out_aaa(.(T48, T51), T52, .(T48, X78))
U3_aa(T34, T31, X52, app29_out_aaa(T33, T34, X52)) → rev18_out_aa(.(T34, T31), X52)
U1_aa(T32, T31, X52, rev18_out_aa(T31, X51)) → rev18_out_aa(.(T32, T31), X52)
U6_ag(T21, T20, T19, rev18_out_aa(T19, X34)) → rev1_out_ag(.(T21, .(T20, T19)), [])
rev1_in_ag(.(T24, .(T23, T19)), []) → U7_ag(T24, T23, T19, rev18_in_aa(T19, T22))
U7_ag(T24, T23, T19, rev18_out_aa(T19, T22)) → U8_ag(T24, T23, T19, app29_in_aaa(T22, T23, X35))
U8_ag(T24, T23, T19, app29_out_aaa(T22, T23, X35)) → rev1_out_ag(.(T24, .(T23, T19)), [])
rev1_in_ag(.(T85, []), .(T85, [])) → rev1_out_ag(.(T85, []), .(T85, []))
rev1_in_ag(.(T94, .(T93, T92)), T75) → U9_ag(T94, T93, T92, T75, rev18_in_aa(T92, X134))
U9_ag(T94, T93, T92, T75, rev18_out_aa(T92, X134)) → rev1_out_ag(.(T94, .(T93, T92)), T75)
rev1_in_ag(.(T97, .(T96, T92)), T75) → U10_ag(T97, T96, T92, T75, rev18_in_aa(T92, T95))
U10_ag(T97, T96, T92, T75, rev18_out_aa(T92, T95)) → U11_ag(T97, T96, T92, T75, app29_in_aaa(T95, T96, X135))
U11_ag(T97, T96, T92, T75, app29_out_aaa(T95, T96, X135)) → rev1_out_ag(.(T97, .(T96, T92)), T75)
rev1_in_ag(.(T112, .(T96, T92)), .(T112, [])) → U12_ag(T112, T96, T92, rev18_in_aa(T92, T95))
U12_ag(T112, T96, T92, rev18_out_aa(T92, T95)) → U13_ag(T112, T96, T92, app29_in_aag(T95, T96, []))
app29_in_aag([], T41, .(T41, [])) → app29_out_aag([], T41, .(T41, []))
app29_in_aag(.(T48, T51), T52, .(T48, X78)) → U4_aag(T48, T51, T52, X78, app29_in_aag(T51, T52, X78))
U4_aag(T48, T51, T52, X78, app29_out_aag(T51, T52, X78)) → app29_out_aag(.(T48, T51), T52, .(T48, X78))
U13_ag(T112, T96, T92, app29_out_aag(T95, T96, [])) → rev1_out_ag(.(T112, .(T96, T92)), .(T112, []))
rev1_in_ag(.(T126, .(T96, T92)), .(T121, T124)) → U14_ag(T126, T96, T92, T121, T124, rev18_in_aa(T92, T95))
U14_ag(T126, T96, T92, T121, T124, rev18_out_aa(T92, T95)) → U15_ag(T126, T96, T92, T121, T124, app29_in_aaa(T95, T96, .(T121, T125)))
U15_ag(T126, T96, T92, T121, T124, app29_out_aaa(T95, T96, .(T121, T125))) → U16_ag(T126, T96, T92, T121, T124, app69_in_gag(T125, T126, T124))
app69_in_gag([], T133, .(T133, [])) → app69_out_gag([], T133, .(T133, []))
app69_in_gag(.(T142, T146), T147, .(T142, T145)) → U5_gag(T142, T146, T147, T145, app69_in_gag(T146, T147, T145))
U5_gag(T142, T146, T147, T145, app69_out_gag(T146, T147, T145)) → app69_out_gag(.(T142, T146), T147, .(T142, T145))
U16_ag(T126, T96, T92, T121, T124, app69_out_gag(T125, T126, T124)) → rev1_out_ag(.(T126, .(T96, T92)), .(T121, T124))

The argument filtering Pi contains the following mapping:
rev1_in_ag(x1, x2)  =  rev1_in_ag(x2)
[]  =  []
rev1_out_ag(x1, x2)  =  rev1_out_ag(x1, x2)
U6_ag(x1, x2, x3, x4)  =  U6_ag(x4)
rev18_in_aa(x1, x2)  =  rev18_in_aa
rev18_out_aa(x1, x2)  =  rev18_out_aa(x1)
U1_aa(x1, x2, x3, x4)  =  U1_aa(x4)
U2_aa(x1, x2, x3, x4)  =  U2_aa(x4)
U3_aa(x1, x2, x3, x4)  =  U3_aa(x2, x4)
.(x1, x2)  =  .(x2)
app29_in_aaa(x1, x2, x3)  =  app29_in_aaa
app29_out_aaa(x1, x2, x3)  =  app29_out_aaa(x1, x3)
U4_aaa(x1, x2, x3, x4, x5)  =  U4_aaa(x5)
U7_ag(x1, x2, x3, x4)  =  U7_ag(x4)
U8_ag(x1, x2, x3, x4)  =  U8_ag(x3, x4)
U9_ag(x1, x2, x3, x4, x5)  =  U9_ag(x4, x5)
U10_ag(x1, x2, x3, x4, x5)  =  U10_ag(x4, x5)
U11_ag(x1, x2, x3, x4, x5)  =  U11_ag(x3, x4, x5)
U12_ag(x1, x2, x3, x4)  =  U12_ag(x4)
U13_ag(x1, x2, x3, x4)  =  U13_ag(x3, x4)
app29_in_aag(x1, x2, x3)  =  app29_in_aag(x3)
app29_out_aag(x1, x2, x3)  =  app29_out_aag(x1, x3)
U4_aag(x1, x2, x3, x4, x5)  =  U4_aag(x4, x5)
U14_ag(x1, x2, x3, x4, x5, x6)  =  U14_ag(x5, x6)
U15_ag(x1, x2, x3, x4, x5, x6)  =  U15_ag(x3, x5, x6)
U16_ag(x1, x2, x3, x4, x5, x6)  =  U16_ag(x3, x5, x6)
app69_in_gag(x1, x2, x3)  =  app69_in_gag(x1, x3)
app69_out_gag(x1, x2, x3)  =  app69_out_gag(x1, x3)
U5_gag(x1, x2, x3, x4, x5)  =  U5_gag(x2, x4, x5)
REV1_IN_AG(x1, x2)  =  REV1_IN_AG(x2)
U6_AG(x1, x2, x3, x4)  =  U6_AG(x4)
REV18_IN_AA(x1, x2)  =  REV18_IN_AA
U1_AA(x1, x2, x3, x4)  =  U1_AA(x4)
U2_AA(x1, x2, x3, x4)  =  U2_AA(x4)
U3_AA(x1, x2, x3, x4)  =  U3_AA(x2, x4)
APP29_IN_AAA(x1, x2, x3)  =  APP29_IN_AAA
U4_AAA(x1, x2, x3, x4, x5)  =  U4_AAA(x5)
U7_AG(x1, x2, x3, x4)  =  U7_AG(x4)
U8_AG(x1, x2, x3, x4)  =  U8_AG(x3, x4)
U9_AG(x1, x2, x3, x4, x5)  =  U9_AG(x4, x5)
U10_AG(x1, x2, x3, x4, x5)  =  U10_AG(x4, x5)
U11_AG(x1, x2, x3, x4, x5)  =  U11_AG(x3, x4, x5)
U12_AG(x1, x2, x3, x4)  =  U12_AG(x4)
U13_AG(x1, x2, x3, x4)  =  U13_AG(x3, x4)
APP29_IN_AAG(x1, x2, x3)  =  APP29_IN_AAG(x3)
U4_AAG(x1, x2, x3, x4, x5)  =  U4_AAG(x4, x5)
U14_AG(x1, x2, x3, x4, x5, x6)  =  U14_AG(x5, x6)
U15_AG(x1, x2, x3, x4, x5, x6)  =  U15_AG(x3, x5, x6)
U16_AG(x1, x2, x3, x4, x5, x6)  =  U16_AG(x3, x5, x6)
APP69_IN_GAG(x1, x2, x3)  =  APP69_IN_GAG(x1, x3)
U5_GAG(x1, x2, x3, x4, x5)  =  U5_GAG(x2, x4, 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 27 less nodes.

(8) Complex Obligation (AND)

(9) Obligation:

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

APP69_IN_GAG(.(T142, T146), T147, .(T142, T145)) → APP69_IN_GAG(T146, T147, T145)

The TRS R consists of the following rules:

rev1_in_ag([], []) → rev1_out_ag([], [])
rev1_in_ag(.(T21, .(T20, T19)), []) → U6_ag(T21, T20, T19, rev18_in_aa(T19, X34))
rev18_in_aa([], []) → rev18_out_aa([], [])
rev18_in_aa(.(T32, T31), X52) → U1_aa(T32, T31, X52, rev18_in_aa(T31, X51))
rev18_in_aa(.(T34, T31), X52) → U2_aa(T34, T31, X52, rev18_in_aa(T31, T33))
U2_aa(T34, T31, X52, rev18_out_aa(T31, T33)) → U3_aa(T34, T31, X52, app29_in_aaa(T33, T34, X52))
app29_in_aaa([], T41, .(T41, [])) → app29_out_aaa([], T41, .(T41, []))
app29_in_aaa(.(T48, T51), T52, .(T48, X78)) → U4_aaa(T48, T51, T52, X78, app29_in_aaa(T51, T52, X78))
U4_aaa(T48, T51, T52, X78, app29_out_aaa(T51, T52, X78)) → app29_out_aaa(.(T48, T51), T52, .(T48, X78))
U3_aa(T34, T31, X52, app29_out_aaa(T33, T34, X52)) → rev18_out_aa(.(T34, T31), X52)
U1_aa(T32, T31, X52, rev18_out_aa(T31, X51)) → rev18_out_aa(.(T32, T31), X52)
U6_ag(T21, T20, T19, rev18_out_aa(T19, X34)) → rev1_out_ag(.(T21, .(T20, T19)), [])
rev1_in_ag(.(T24, .(T23, T19)), []) → U7_ag(T24, T23, T19, rev18_in_aa(T19, T22))
U7_ag(T24, T23, T19, rev18_out_aa(T19, T22)) → U8_ag(T24, T23, T19, app29_in_aaa(T22, T23, X35))
U8_ag(T24, T23, T19, app29_out_aaa(T22, T23, X35)) → rev1_out_ag(.(T24, .(T23, T19)), [])
rev1_in_ag(.(T85, []), .(T85, [])) → rev1_out_ag(.(T85, []), .(T85, []))
rev1_in_ag(.(T94, .(T93, T92)), T75) → U9_ag(T94, T93, T92, T75, rev18_in_aa(T92, X134))
U9_ag(T94, T93, T92, T75, rev18_out_aa(T92, X134)) → rev1_out_ag(.(T94, .(T93, T92)), T75)
rev1_in_ag(.(T97, .(T96, T92)), T75) → U10_ag(T97, T96, T92, T75, rev18_in_aa(T92, T95))
U10_ag(T97, T96, T92, T75, rev18_out_aa(T92, T95)) → U11_ag(T97, T96, T92, T75, app29_in_aaa(T95, T96, X135))
U11_ag(T97, T96, T92, T75, app29_out_aaa(T95, T96, X135)) → rev1_out_ag(.(T97, .(T96, T92)), T75)
rev1_in_ag(.(T112, .(T96, T92)), .(T112, [])) → U12_ag(T112, T96, T92, rev18_in_aa(T92, T95))
U12_ag(T112, T96, T92, rev18_out_aa(T92, T95)) → U13_ag(T112, T96, T92, app29_in_aag(T95, T96, []))
app29_in_aag([], T41, .(T41, [])) → app29_out_aag([], T41, .(T41, []))
app29_in_aag(.(T48, T51), T52, .(T48, X78)) → U4_aag(T48, T51, T52, X78, app29_in_aag(T51, T52, X78))
U4_aag(T48, T51, T52, X78, app29_out_aag(T51, T52, X78)) → app29_out_aag(.(T48, T51), T52, .(T48, X78))
U13_ag(T112, T96, T92, app29_out_aag(T95, T96, [])) → rev1_out_ag(.(T112, .(T96, T92)), .(T112, []))
rev1_in_ag(.(T126, .(T96, T92)), .(T121, T124)) → U14_ag(T126, T96, T92, T121, T124, rev18_in_aa(T92, T95))
U14_ag(T126, T96, T92, T121, T124, rev18_out_aa(T92, T95)) → U15_ag(T126, T96, T92, T121, T124, app29_in_aaa(T95, T96, .(T121, T125)))
U15_ag(T126, T96, T92, T121, T124, app29_out_aaa(T95, T96, .(T121, T125))) → U16_ag(T126, T96, T92, T121, T124, app69_in_gag(T125, T126, T124))
app69_in_gag([], T133, .(T133, [])) → app69_out_gag([], T133, .(T133, []))
app69_in_gag(.(T142, T146), T147, .(T142, T145)) → U5_gag(T142, T146, T147, T145, app69_in_gag(T146, T147, T145))
U5_gag(T142, T146, T147, T145, app69_out_gag(T146, T147, T145)) → app69_out_gag(.(T142, T146), T147, .(T142, T145))
U16_ag(T126, T96, T92, T121, T124, app69_out_gag(T125, T126, T124)) → rev1_out_ag(.(T126, .(T96, T92)), .(T121, T124))

The argument filtering Pi contains the following mapping:
rev1_in_ag(x1, x2)  =  rev1_in_ag(x2)
[]  =  []
rev1_out_ag(x1, x2)  =  rev1_out_ag(x1, x2)
U6_ag(x1, x2, x3, x4)  =  U6_ag(x4)
rev18_in_aa(x1, x2)  =  rev18_in_aa
rev18_out_aa(x1, x2)  =  rev18_out_aa(x1)
U1_aa(x1, x2, x3, x4)  =  U1_aa(x4)
U2_aa(x1, x2, x3, x4)  =  U2_aa(x4)
U3_aa(x1, x2, x3, x4)  =  U3_aa(x2, x4)
.(x1, x2)  =  .(x2)
app29_in_aaa(x1, x2, x3)  =  app29_in_aaa
app29_out_aaa(x1, x2, x3)  =  app29_out_aaa(x1, x3)
U4_aaa(x1, x2, x3, x4, x5)  =  U4_aaa(x5)
U7_ag(x1, x2, x3, x4)  =  U7_ag(x4)
U8_ag(x1, x2, x3, x4)  =  U8_ag(x3, x4)
U9_ag(x1, x2, x3, x4, x5)  =  U9_ag(x4, x5)
U10_ag(x1, x2, x3, x4, x5)  =  U10_ag(x4, x5)
U11_ag(x1, x2, x3, x4, x5)  =  U11_ag(x3, x4, x5)
U12_ag(x1, x2, x3, x4)  =  U12_ag(x4)
U13_ag(x1, x2, x3, x4)  =  U13_ag(x3, x4)
app29_in_aag(x1, x2, x3)  =  app29_in_aag(x3)
app29_out_aag(x1, x2, x3)  =  app29_out_aag(x1, x3)
U4_aag(x1, x2, x3, x4, x5)  =  U4_aag(x4, x5)
U14_ag(x1, x2, x3, x4, x5, x6)  =  U14_ag(x5, x6)
U15_ag(x1, x2, x3, x4, x5, x6)  =  U15_ag(x3, x5, x6)
U16_ag(x1, x2, x3, x4, x5, x6)  =  U16_ag(x3, x5, x6)
app69_in_gag(x1, x2, x3)  =  app69_in_gag(x1, x3)
app69_out_gag(x1, x2, x3)  =  app69_out_gag(x1, x3)
U5_gag(x1, x2, x3, x4, x5)  =  U5_gag(x2, x4, x5)
APP69_IN_GAG(x1, x2, x3)  =  APP69_IN_GAG(x1, x3)

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:

APP69_IN_GAG(.(T142, T146), T147, .(T142, T145)) → APP69_IN_GAG(T146, T147, T145)

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

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:

APP69_IN_GAG(.(T146), .(T145)) → APP69_IN_GAG(T146, T145)

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

(14) QDPSizeChangeProof (EQUIVALENT transformation)

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

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

  • APP69_IN_GAG(.(T146), .(T145)) → APP69_IN_GAG(T146, T145)
    The graph contains the following edges 1 > 1, 2 > 2

(15) YES

(16) Obligation:

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

APP29_IN_AAG(.(T48, T51), T52, .(T48, X78)) → APP29_IN_AAG(T51, T52, X78)

The TRS R consists of the following rules:

rev1_in_ag([], []) → rev1_out_ag([], [])
rev1_in_ag(.(T21, .(T20, T19)), []) → U6_ag(T21, T20, T19, rev18_in_aa(T19, X34))
rev18_in_aa([], []) → rev18_out_aa([], [])
rev18_in_aa(.(T32, T31), X52) → U1_aa(T32, T31, X52, rev18_in_aa(T31, X51))
rev18_in_aa(.(T34, T31), X52) → U2_aa(T34, T31, X52, rev18_in_aa(T31, T33))
U2_aa(T34, T31, X52, rev18_out_aa(T31, T33)) → U3_aa(T34, T31, X52, app29_in_aaa(T33, T34, X52))
app29_in_aaa([], T41, .(T41, [])) → app29_out_aaa([], T41, .(T41, []))
app29_in_aaa(.(T48, T51), T52, .(T48, X78)) → U4_aaa(T48, T51, T52, X78, app29_in_aaa(T51, T52, X78))
U4_aaa(T48, T51, T52, X78, app29_out_aaa(T51, T52, X78)) → app29_out_aaa(.(T48, T51), T52, .(T48, X78))
U3_aa(T34, T31, X52, app29_out_aaa(T33, T34, X52)) → rev18_out_aa(.(T34, T31), X52)
U1_aa(T32, T31, X52, rev18_out_aa(T31, X51)) → rev18_out_aa(.(T32, T31), X52)
U6_ag(T21, T20, T19, rev18_out_aa(T19, X34)) → rev1_out_ag(.(T21, .(T20, T19)), [])
rev1_in_ag(.(T24, .(T23, T19)), []) → U7_ag(T24, T23, T19, rev18_in_aa(T19, T22))
U7_ag(T24, T23, T19, rev18_out_aa(T19, T22)) → U8_ag(T24, T23, T19, app29_in_aaa(T22, T23, X35))
U8_ag(T24, T23, T19, app29_out_aaa(T22, T23, X35)) → rev1_out_ag(.(T24, .(T23, T19)), [])
rev1_in_ag(.(T85, []), .(T85, [])) → rev1_out_ag(.(T85, []), .(T85, []))
rev1_in_ag(.(T94, .(T93, T92)), T75) → U9_ag(T94, T93, T92, T75, rev18_in_aa(T92, X134))
U9_ag(T94, T93, T92, T75, rev18_out_aa(T92, X134)) → rev1_out_ag(.(T94, .(T93, T92)), T75)
rev1_in_ag(.(T97, .(T96, T92)), T75) → U10_ag(T97, T96, T92, T75, rev18_in_aa(T92, T95))
U10_ag(T97, T96, T92, T75, rev18_out_aa(T92, T95)) → U11_ag(T97, T96, T92, T75, app29_in_aaa(T95, T96, X135))
U11_ag(T97, T96, T92, T75, app29_out_aaa(T95, T96, X135)) → rev1_out_ag(.(T97, .(T96, T92)), T75)
rev1_in_ag(.(T112, .(T96, T92)), .(T112, [])) → U12_ag(T112, T96, T92, rev18_in_aa(T92, T95))
U12_ag(T112, T96, T92, rev18_out_aa(T92, T95)) → U13_ag(T112, T96, T92, app29_in_aag(T95, T96, []))
app29_in_aag([], T41, .(T41, [])) → app29_out_aag([], T41, .(T41, []))
app29_in_aag(.(T48, T51), T52, .(T48, X78)) → U4_aag(T48, T51, T52, X78, app29_in_aag(T51, T52, X78))
U4_aag(T48, T51, T52, X78, app29_out_aag(T51, T52, X78)) → app29_out_aag(.(T48, T51), T52, .(T48, X78))
U13_ag(T112, T96, T92, app29_out_aag(T95, T96, [])) → rev1_out_ag(.(T112, .(T96, T92)), .(T112, []))
rev1_in_ag(.(T126, .(T96, T92)), .(T121, T124)) → U14_ag(T126, T96, T92, T121, T124, rev18_in_aa(T92, T95))
U14_ag(T126, T96, T92, T121, T124, rev18_out_aa(T92, T95)) → U15_ag(T126, T96, T92, T121, T124, app29_in_aaa(T95, T96, .(T121, T125)))
U15_ag(T126, T96, T92, T121, T124, app29_out_aaa(T95, T96, .(T121, T125))) → U16_ag(T126, T96, T92, T121, T124, app69_in_gag(T125, T126, T124))
app69_in_gag([], T133, .(T133, [])) → app69_out_gag([], T133, .(T133, []))
app69_in_gag(.(T142, T146), T147, .(T142, T145)) → U5_gag(T142, T146, T147, T145, app69_in_gag(T146, T147, T145))
U5_gag(T142, T146, T147, T145, app69_out_gag(T146, T147, T145)) → app69_out_gag(.(T142, T146), T147, .(T142, T145))
U16_ag(T126, T96, T92, T121, T124, app69_out_gag(T125, T126, T124)) → rev1_out_ag(.(T126, .(T96, T92)), .(T121, T124))

The argument filtering Pi contains the following mapping:
rev1_in_ag(x1, x2)  =  rev1_in_ag(x2)
[]  =  []
rev1_out_ag(x1, x2)  =  rev1_out_ag(x1, x2)
U6_ag(x1, x2, x3, x4)  =  U6_ag(x4)
rev18_in_aa(x1, x2)  =  rev18_in_aa
rev18_out_aa(x1, x2)  =  rev18_out_aa(x1)
U1_aa(x1, x2, x3, x4)  =  U1_aa(x4)
U2_aa(x1, x2, x3, x4)  =  U2_aa(x4)
U3_aa(x1, x2, x3, x4)  =  U3_aa(x2, x4)
.(x1, x2)  =  .(x2)
app29_in_aaa(x1, x2, x3)  =  app29_in_aaa
app29_out_aaa(x1, x2, x3)  =  app29_out_aaa(x1, x3)
U4_aaa(x1, x2, x3, x4, x5)  =  U4_aaa(x5)
U7_ag(x1, x2, x3, x4)  =  U7_ag(x4)
U8_ag(x1, x2, x3, x4)  =  U8_ag(x3, x4)
U9_ag(x1, x2, x3, x4, x5)  =  U9_ag(x4, x5)
U10_ag(x1, x2, x3, x4, x5)  =  U10_ag(x4, x5)
U11_ag(x1, x2, x3, x4, x5)  =  U11_ag(x3, x4, x5)
U12_ag(x1, x2, x3, x4)  =  U12_ag(x4)
U13_ag(x1, x2, x3, x4)  =  U13_ag(x3, x4)
app29_in_aag(x1, x2, x3)  =  app29_in_aag(x3)
app29_out_aag(x1, x2, x3)  =  app29_out_aag(x1, x3)
U4_aag(x1, x2, x3, x4, x5)  =  U4_aag(x4, x5)
U14_ag(x1, x2, x3, x4, x5, x6)  =  U14_ag(x5, x6)
U15_ag(x1, x2, x3, x4, x5, x6)  =  U15_ag(x3, x5, x6)
U16_ag(x1, x2, x3, x4, x5, x6)  =  U16_ag(x3, x5, x6)
app69_in_gag(x1, x2, x3)  =  app69_in_gag(x1, x3)
app69_out_gag(x1, x2, x3)  =  app69_out_gag(x1, x3)
U5_gag(x1, x2, x3, x4, x5)  =  U5_gag(x2, x4, x5)
APP29_IN_AAG(x1, x2, x3)  =  APP29_IN_AAG(x3)

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:

APP29_IN_AAG(.(T48, T51), T52, .(T48, X78)) → APP29_IN_AAG(T51, T52, X78)

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

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:

APP29_IN_AAG(.(X78)) → APP29_IN_AAG(X78)

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:

  • APP29_IN_AAG(.(X78)) → APP29_IN_AAG(X78)
    The graph contains the following edges 1 > 1

(22) YES

(23) Obligation:

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

APP29_IN_AAA(.(T48, T51), T52, .(T48, X78)) → APP29_IN_AAA(T51, T52, X78)

The TRS R consists of the following rules:

rev1_in_ag([], []) → rev1_out_ag([], [])
rev1_in_ag(.(T21, .(T20, T19)), []) → U6_ag(T21, T20, T19, rev18_in_aa(T19, X34))
rev18_in_aa([], []) → rev18_out_aa([], [])
rev18_in_aa(.(T32, T31), X52) → U1_aa(T32, T31, X52, rev18_in_aa(T31, X51))
rev18_in_aa(.(T34, T31), X52) → U2_aa(T34, T31, X52, rev18_in_aa(T31, T33))
U2_aa(T34, T31, X52, rev18_out_aa(T31, T33)) → U3_aa(T34, T31, X52, app29_in_aaa(T33, T34, X52))
app29_in_aaa([], T41, .(T41, [])) → app29_out_aaa([], T41, .(T41, []))
app29_in_aaa(.(T48, T51), T52, .(T48, X78)) → U4_aaa(T48, T51, T52, X78, app29_in_aaa(T51, T52, X78))
U4_aaa(T48, T51, T52, X78, app29_out_aaa(T51, T52, X78)) → app29_out_aaa(.(T48, T51), T52, .(T48, X78))
U3_aa(T34, T31, X52, app29_out_aaa(T33, T34, X52)) → rev18_out_aa(.(T34, T31), X52)
U1_aa(T32, T31, X52, rev18_out_aa(T31, X51)) → rev18_out_aa(.(T32, T31), X52)
U6_ag(T21, T20, T19, rev18_out_aa(T19, X34)) → rev1_out_ag(.(T21, .(T20, T19)), [])
rev1_in_ag(.(T24, .(T23, T19)), []) → U7_ag(T24, T23, T19, rev18_in_aa(T19, T22))
U7_ag(T24, T23, T19, rev18_out_aa(T19, T22)) → U8_ag(T24, T23, T19, app29_in_aaa(T22, T23, X35))
U8_ag(T24, T23, T19, app29_out_aaa(T22, T23, X35)) → rev1_out_ag(.(T24, .(T23, T19)), [])
rev1_in_ag(.(T85, []), .(T85, [])) → rev1_out_ag(.(T85, []), .(T85, []))
rev1_in_ag(.(T94, .(T93, T92)), T75) → U9_ag(T94, T93, T92, T75, rev18_in_aa(T92, X134))
U9_ag(T94, T93, T92, T75, rev18_out_aa(T92, X134)) → rev1_out_ag(.(T94, .(T93, T92)), T75)
rev1_in_ag(.(T97, .(T96, T92)), T75) → U10_ag(T97, T96, T92, T75, rev18_in_aa(T92, T95))
U10_ag(T97, T96, T92, T75, rev18_out_aa(T92, T95)) → U11_ag(T97, T96, T92, T75, app29_in_aaa(T95, T96, X135))
U11_ag(T97, T96, T92, T75, app29_out_aaa(T95, T96, X135)) → rev1_out_ag(.(T97, .(T96, T92)), T75)
rev1_in_ag(.(T112, .(T96, T92)), .(T112, [])) → U12_ag(T112, T96, T92, rev18_in_aa(T92, T95))
U12_ag(T112, T96, T92, rev18_out_aa(T92, T95)) → U13_ag(T112, T96, T92, app29_in_aag(T95, T96, []))
app29_in_aag([], T41, .(T41, [])) → app29_out_aag([], T41, .(T41, []))
app29_in_aag(.(T48, T51), T52, .(T48, X78)) → U4_aag(T48, T51, T52, X78, app29_in_aag(T51, T52, X78))
U4_aag(T48, T51, T52, X78, app29_out_aag(T51, T52, X78)) → app29_out_aag(.(T48, T51), T52, .(T48, X78))
U13_ag(T112, T96, T92, app29_out_aag(T95, T96, [])) → rev1_out_ag(.(T112, .(T96, T92)), .(T112, []))
rev1_in_ag(.(T126, .(T96, T92)), .(T121, T124)) → U14_ag(T126, T96, T92, T121, T124, rev18_in_aa(T92, T95))
U14_ag(T126, T96, T92, T121, T124, rev18_out_aa(T92, T95)) → U15_ag(T126, T96, T92, T121, T124, app29_in_aaa(T95, T96, .(T121, T125)))
U15_ag(T126, T96, T92, T121, T124, app29_out_aaa(T95, T96, .(T121, T125))) → U16_ag(T126, T96, T92, T121, T124, app69_in_gag(T125, T126, T124))
app69_in_gag([], T133, .(T133, [])) → app69_out_gag([], T133, .(T133, []))
app69_in_gag(.(T142, T146), T147, .(T142, T145)) → U5_gag(T142, T146, T147, T145, app69_in_gag(T146, T147, T145))
U5_gag(T142, T146, T147, T145, app69_out_gag(T146, T147, T145)) → app69_out_gag(.(T142, T146), T147, .(T142, T145))
U16_ag(T126, T96, T92, T121, T124, app69_out_gag(T125, T126, T124)) → rev1_out_ag(.(T126, .(T96, T92)), .(T121, T124))

The argument filtering Pi contains the following mapping:
rev1_in_ag(x1, x2)  =  rev1_in_ag(x2)
[]  =  []
rev1_out_ag(x1, x2)  =  rev1_out_ag(x1, x2)
U6_ag(x1, x2, x3, x4)  =  U6_ag(x4)
rev18_in_aa(x1, x2)  =  rev18_in_aa
rev18_out_aa(x1, x2)  =  rev18_out_aa(x1)
U1_aa(x1, x2, x3, x4)  =  U1_aa(x4)
U2_aa(x1, x2, x3, x4)  =  U2_aa(x4)
U3_aa(x1, x2, x3, x4)  =  U3_aa(x2, x4)
.(x1, x2)  =  .(x2)
app29_in_aaa(x1, x2, x3)  =  app29_in_aaa
app29_out_aaa(x1, x2, x3)  =  app29_out_aaa(x1, x3)
U4_aaa(x1, x2, x3, x4, x5)  =  U4_aaa(x5)
U7_ag(x1, x2, x3, x4)  =  U7_ag(x4)
U8_ag(x1, x2, x3, x4)  =  U8_ag(x3, x4)
U9_ag(x1, x2, x3, x4, x5)  =  U9_ag(x4, x5)
U10_ag(x1, x2, x3, x4, x5)  =  U10_ag(x4, x5)
U11_ag(x1, x2, x3, x4, x5)  =  U11_ag(x3, x4, x5)
U12_ag(x1, x2, x3, x4)  =  U12_ag(x4)
U13_ag(x1, x2, x3, x4)  =  U13_ag(x3, x4)
app29_in_aag(x1, x2, x3)  =  app29_in_aag(x3)
app29_out_aag(x1, x2, x3)  =  app29_out_aag(x1, x3)
U4_aag(x1, x2, x3, x4, x5)  =  U4_aag(x4, x5)
U14_ag(x1, x2, x3, x4, x5, x6)  =  U14_ag(x5, x6)
U15_ag(x1, x2, x3, x4, x5, x6)  =  U15_ag(x3, x5, x6)
U16_ag(x1, x2, x3, x4, x5, x6)  =  U16_ag(x3, x5, x6)
app69_in_gag(x1, x2, x3)  =  app69_in_gag(x1, x3)
app69_out_gag(x1, x2, x3)  =  app69_out_gag(x1, x3)
U5_gag(x1, x2, x3, x4, x5)  =  U5_gag(x2, x4, x5)
APP29_IN_AAA(x1, x2, x3)  =  APP29_IN_AAA

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:

APP29_IN_AAA(.(T48, T51), T52, .(T48, X78)) → APP29_IN_AAA(T51, T52, X78)

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

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:

APP29_IN_AAAAPP29_IN_AAA

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

(28) NonTerminationProof (EQUIVALENT transformation)

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

s = APP29_IN_AAA evaluates to t =APP29_IN_AAA

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




Rewriting sequence

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



(29) NO

(30) Obligation:

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

REV18_IN_AA(.(T32, T31), X52) → REV18_IN_AA(T31, X51)

The TRS R consists of the following rules:

rev1_in_ag([], []) → rev1_out_ag([], [])
rev1_in_ag(.(T21, .(T20, T19)), []) → U6_ag(T21, T20, T19, rev18_in_aa(T19, X34))
rev18_in_aa([], []) → rev18_out_aa([], [])
rev18_in_aa(.(T32, T31), X52) → U1_aa(T32, T31, X52, rev18_in_aa(T31, X51))
rev18_in_aa(.(T34, T31), X52) → U2_aa(T34, T31, X52, rev18_in_aa(T31, T33))
U2_aa(T34, T31, X52, rev18_out_aa(T31, T33)) → U3_aa(T34, T31, X52, app29_in_aaa(T33, T34, X52))
app29_in_aaa([], T41, .(T41, [])) → app29_out_aaa([], T41, .(T41, []))
app29_in_aaa(.(T48, T51), T52, .(T48, X78)) → U4_aaa(T48, T51, T52, X78, app29_in_aaa(T51, T52, X78))
U4_aaa(T48, T51, T52, X78, app29_out_aaa(T51, T52, X78)) → app29_out_aaa(.(T48, T51), T52, .(T48, X78))
U3_aa(T34, T31, X52, app29_out_aaa(T33, T34, X52)) → rev18_out_aa(.(T34, T31), X52)
U1_aa(T32, T31, X52, rev18_out_aa(T31, X51)) → rev18_out_aa(.(T32, T31), X52)
U6_ag(T21, T20, T19, rev18_out_aa(T19, X34)) → rev1_out_ag(.(T21, .(T20, T19)), [])
rev1_in_ag(.(T24, .(T23, T19)), []) → U7_ag(T24, T23, T19, rev18_in_aa(T19, T22))
U7_ag(T24, T23, T19, rev18_out_aa(T19, T22)) → U8_ag(T24, T23, T19, app29_in_aaa(T22, T23, X35))
U8_ag(T24, T23, T19, app29_out_aaa(T22, T23, X35)) → rev1_out_ag(.(T24, .(T23, T19)), [])
rev1_in_ag(.(T85, []), .(T85, [])) → rev1_out_ag(.(T85, []), .(T85, []))
rev1_in_ag(.(T94, .(T93, T92)), T75) → U9_ag(T94, T93, T92, T75, rev18_in_aa(T92, X134))
U9_ag(T94, T93, T92, T75, rev18_out_aa(T92, X134)) → rev1_out_ag(.(T94, .(T93, T92)), T75)
rev1_in_ag(.(T97, .(T96, T92)), T75) → U10_ag(T97, T96, T92, T75, rev18_in_aa(T92, T95))
U10_ag(T97, T96, T92, T75, rev18_out_aa(T92, T95)) → U11_ag(T97, T96, T92, T75, app29_in_aaa(T95, T96, X135))
U11_ag(T97, T96, T92, T75, app29_out_aaa(T95, T96, X135)) → rev1_out_ag(.(T97, .(T96, T92)), T75)
rev1_in_ag(.(T112, .(T96, T92)), .(T112, [])) → U12_ag(T112, T96, T92, rev18_in_aa(T92, T95))
U12_ag(T112, T96, T92, rev18_out_aa(T92, T95)) → U13_ag(T112, T96, T92, app29_in_aag(T95, T96, []))
app29_in_aag([], T41, .(T41, [])) → app29_out_aag([], T41, .(T41, []))
app29_in_aag(.(T48, T51), T52, .(T48, X78)) → U4_aag(T48, T51, T52, X78, app29_in_aag(T51, T52, X78))
U4_aag(T48, T51, T52, X78, app29_out_aag(T51, T52, X78)) → app29_out_aag(.(T48, T51), T52, .(T48, X78))
U13_ag(T112, T96, T92, app29_out_aag(T95, T96, [])) → rev1_out_ag(.(T112, .(T96, T92)), .(T112, []))
rev1_in_ag(.(T126, .(T96, T92)), .(T121, T124)) → U14_ag(T126, T96, T92, T121, T124, rev18_in_aa(T92, T95))
U14_ag(T126, T96, T92, T121, T124, rev18_out_aa(T92, T95)) → U15_ag(T126, T96, T92, T121, T124, app29_in_aaa(T95, T96, .(T121, T125)))
U15_ag(T126, T96, T92, T121, T124, app29_out_aaa(T95, T96, .(T121, T125))) → U16_ag(T126, T96, T92, T121, T124, app69_in_gag(T125, T126, T124))
app69_in_gag([], T133, .(T133, [])) → app69_out_gag([], T133, .(T133, []))
app69_in_gag(.(T142, T146), T147, .(T142, T145)) → U5_gag(T142, T146, T147, T145, app69_in_gag(T146, T147, T145))
U5_gag(T142, T146, T147, T145, app69_out_gag(T146, T147, T145)) → app69_out_gag(.(T142, T146), T147, .(T142, T145))
U16_ag(T126, T96, T92, T121, T124, app69_out_gag(T125, T126, T124)) → rev1_out_ag(.(T126, .(T96, T92)), .(T121, T124))

The argument filtering Pi contains the following mapping:
rev1_in_ag(x1, x2)  =  rev1_in_ag(x2)
[]  =  []
rev1_out_ag(x1, x2)  =  rev1_out_ag(x1, x2)
U6_ag(x1, x2, x3, x4)  =  U6_ag(x4)
rev18_in_aa(x1, x2)  =  rev18_in_aa
rev18_out_aa(x1, x2)  =  rev18_out_aa(x1)
U1_aa(x1, x2, x3, x4)  =  U1_aa(x4)
U2_aa(x1, x2, x3, x4)  =  U2_aa(x4)
U3_aa(x1, x2, x3, x4)  =  U3_aa(x2, x4)
.(x1, x2)  =  .(x2)
app29_in_aaa(x1, x2, x3)  =  app29_in_aaa
app29_out_aaa(x1, x2, x3)  =  app29_out_aaa(x1, x3)
U4_aaa(x1, x2, x3, x4, x5)  =  U4_aaa(x5)
U7_ag(x1, x2, x3, x4)  =  U7_ag(x4)
U8_ag(x1, x2, x3, x4)  =  U8_ag(x3, x4)
U9_ag(x1, x2, x3, x4, x5)  =  U9_ag(x4, x5)
U10_ag(x1, x2, x3, x4, x5)  =  U10_ag(x4, x5)
U11_ag(x1, x2, x3, x4, x5)  =  U11_ag(x3, x4, x5)
U12_ag(x1, x2, x3, x4)  =  U12_ag(x4)
U13_ag(x1, x2, x3, x4)  =  U13_ag(x3, x4)
app29_in_aag(x1, x2, x3)  =  app29_in_aag(x3)
app29_out_aag(x1, x2, x3)  =  app29_out_aag(x1, x3)
U4_aag(x1, x2, x3, x4, x5)  =  U4_aag(x4, x5)
U14_ag(x1, x2, x3, x4, x5, x6)  =  U14_ag(x5, x6)
U15_ag(x1, x2, x3, x4, x5, x6)  =  U15_ag(x3, x5, x6)
U16_ag(x1, x2, x3, x4, x5, x6)  =  U16_ag(x3, x5, x6)
app69_in_gag(x1, x2, x3)  =  app69_in_gag(x1, x3)
app69_out_gag(x1, x2, x3)  =  app69_out_gag(x1, x3)
U5_gag(x1, x2, x3, x4, x5)  =  U5_gag(x2, x4, x5)
REV18_IN_AA(x1, x2)  =  REV18_IN_AA

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

(31) UsableRulesProof (EQUIVALENT transformation)

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

(32) Obligation:

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

REV18_IN_AA(.(T32, T31), X52) → REV18_IN_AA(T31, X51)

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

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

(33) PiDPToQDPProof (SOUND transformation)

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

(34) Obligation:

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

REV18_IN_AAREV18_IN_AA

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

(35) 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 = REV18_IN_AA evaluates to t =REV18_IN_AA

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




Rewriting sequence

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



(36) NO

(37) PrologToPiTRSProof (SOUND transformation)

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

rev1_in_ag([], []) → rev1_out_ag([], [])
rev1_in_ag(.(T21, .(T20, T19)), []) → U6_ag(T21, T20, T19, rev18_in_aa(T19, X34))
rev18_in_aa([], []) → rev18_out_aa([], [])
rev18_in_aa(.(T32, T31), X52) → U1_aa(T32, T31, X52, rev18_in_aa(T31, X51))
rev18_in_aa(.(T34, T31), X52) → U2_aa(T34, T31, X52, rev18_in_aa(T31, T33))
U2_aa(T34, T31, X52, rev18_out_aa(T31, T33)) → U3_aa(T34, T31, X52, app29_in_aaa(T33, T34, X52))
app29_in_aaa([], T41, .(T41, [])) → app29_out_aaa([], T41, .(T41, []))
app29_in_aaa(.(T48, T51), T52, .(T48, X78)) → U4_aaa(T48, T51, T52, X78, app29_in_aaa(T51, T52, X78))
U4_aaa(T48, T51, T52, X78, app29_out_aaa(T51, T52, X78)) → app29_out_aaa(.(T48, T51), T52, .(T48, X78))
U3_aa(T34, T31, X52, app29_out_aaa(T33, T34, X52)) → rev18_out_aa(.(T34, T31), X52)
U1_aa(T32, T31, X52, rev18_out_aa(T31, X51)) → rev18_out_aa(.(T32, T31), X52)
U6_ag(T21, T20, T19, rev18_out_aa(T19, X34)) → rev1_out_ag(.(T21, .(T20, T19)), [])
rev1_in_ag(.(T24, .(T23, T19)), []) → U7_ag(T24, T23, T19, rev18_in_aa(T19, T22))
U7_ag(T24, T23, T19, rev18_out_aa(T19, T22)) → U8_ag(T24, T23, T19, app29_in_aaa(T22, T23, X35))
U8_ag(T24, T23, T19, app29_out_aaa(T22, T23, X35)) → rev1_out_ag(.(T24, .(T23, T19)), [])
rev1_in_ag(.(T85, []), .(T85, [])) → rev1_out_ag(.(T85, []), .(T85, []))
rev1_in_ag(.(T94, .(T93, T92)), T75) → U9_ag(T94, T93, T92, T75, rev18_in_aa(T92, X134))
U9_ag(T94, T93, T92, T75, rev18_out_aa(T92, X134)) → rev1_out_ag(.(T94, .(T93, T92)), T75)
rev1_in_ag(.(T97, .(T96, T92)), T75) → U10_ag(T97, T96, T92, T75, rev18_in_aa(T92, T95))
U10_ag(T97, T96, T92, T75, rev18_out_aa(T92, T95)) → U11_ag(T97, T96, T92, T75, app29_in_aaa(T95, T96, X135))
U11_ag(T97, T96, T92, T75, app29_out_aaa(T95, T96, X135)) → rev1_out_ag(.(T97, .(T96, T92)), T75)
rev1_in_ag(.(T112, .(T96, T92)), .(T112, [])) → U12_ag(T112, T96, T92, rev18_in_aa(T92, T95))
U12_ag(T112, T96, T92, rev18_out_aa(T92, T95)) → U13_ag(T112, T96, T92, app29_in_aag(T95, T96, []))
app29_in_aag([], T41, .(T41, [])) → app29_out_aag([], T41, .(T41, []))
app29_in_aag(.(T48, T51), T52, .(T48, X78)) → U4_aag(T48, T51, T52, X78, app29_in_aag(T51, T52, X78))
U4_aag(T48, T51, T52, X78, app29_out_aag(T51, T52, X78)) → app29_out_aag(.(T48, T51), T52, .(T48, X78))
U13_ag(T112, T96, T92, app29_out_aag(T95, T96, [])) → rev1_out_ag(.(T112, .(T96, T92)), .(T112, []))
rev1_in_ag(.(T126, .(T96, T92)), .(T121, T124)) → U14_ag(T126, T96, T92, T121, T124, rev18_in_aa(T92, T95))
U14_ag(T126, T96, T92, T121, T124, rev18_out_aa(T92, T95)) → U15_ag(T126, T96, T92, T121, T124, app29_in_aaa(T95, T96, .(T121, T125)))
U15_ag(T126, T96, T92, T121, T124, app29_out_aaa(T95, T96, .(T121, T125))) → U16_ag(T126, T96, T92, T121, T124, app69_in_gag(T125, T126, T124))
app69_in_gag([], T133, .(T133, [])) → app69_out_gag([], T133, .(T133, []))
app69_in_gag(.(T142, T146), T147, .(T142, T145)) → U5_gag(T142, T146, T147, T145, app69_in_gag(T146, T147, T145))
U5_gag(T142, T146, T147, T145, app69_out_gag(T146, T147, T145)) → app69_out_gag(.(T142, T146), T147, .(T142, T145))
U16_ag(T126, T96, T92, T121, T124, app69_out_gag(T125, T126, T124)) → rev1_out_ag(.(T126, .(T96, T92)), .(T121, T124))

The argument filtering Pi contains the following mapping:
rev1_in_ag(x1, x2)  =  rev1_in_ag(x2)
[]  =  []
rev1_out_ag(x1, x2)  =  rev1_out_ag(x1)
U6_ag(x1, x2, x3, x4)  =  U6_ag(x4)
rev18_in_aa(x1, x2)  =  rev18_in_aa
rev18_out_aa(x1, x2)  =  rev18_out_aa(x1)
U1_aa(x1, x2, x3, x4)  =  U1_aa(x4)
U2_aa(x1, x2, x3, x4)  =  U2_aa(x4)
U3_aa(x1, x2, x3, x4)  =  U3_aa(x2, x4)
.(x1, x2)  =  .(x2)
app29_in_aaa(x1, x2, x3)  =  app29_in_aaa
app29_out_aaa(x1, x2, x3)  =  app29_out_aaa(x1, x3)
U4_aaa(x1, x2, x3, x4, x5)  =  U4_aaa(x5)
U7_ag(x1, x2, x3, x4)  =  U7_ag(x4)
U8_ag(x1, x2, x3, x4)  =  U8_ag(x3, x4)
U9_ag(x1, x2, x3, x4, x5)  =  U9_ag(x5)
U10_ag(x1, x2, x3, x4, x5)  =  U10_ag(x5)
U11_ag(x1, x2, x3, x4, x5)  =  U11_ag(x3, x5)
U12_ag(x1, x2, x3, x4)  =  U12_ag(x4)
U13_ag(x1, x2, x3, x4)  =  U13_ag(x3, x4)
app29_in_aag(x1, x2, x3)  =  app29_in_aag(x3)
app29_out_aag(x1, x2, x3)  =  app29_out_aag(x1)
U4_aag(x1, x2, x3, x4, x5)  =  U4_aag(x5)
U14_ag(x1, x2, x3, x4, x5, x6)  =  U14_ag(x5, x6)
U15_ag(x1, x2, x3, x4, x5, x6)  =  U15_ag(x3, x5, x6)
U16_ag(x1, x2, x3, x4, x5, x6)  =  U16_ag(x3, x6)
app69_in_gag(x1, x2, x3)  =  app69_in_gag(x1, x3)
app69_out_gag(x1, x2, x3)  =  app69_out_gag
U5_gag(x1, x2, x3, x4, x5)  =  U5_gag(x5)

Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog

(38) Obligation:

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

rev1_in_ag([], []) → rev1_out_ag([], [])
rev1_in_ag(.(T21, .(T20, T19)), []) → U6_ag(T21, T20, T19, rev18_in_aa(T19, X34))
rev18_in_aa([], []) → rev18_out_aa([], [])
rev18_in_aa(.(T32, T31), X52) → U1_aa(T32, T31, X52, rev18_in_aa(T31, X51))
rev18_in_aa(.(T34, T31), X52) → U2_aa(T34, T31, X52, rev18_in_aa(T31, T33))
U2_aa(T34, T31, X52, rev18_out_aa(T31, T33)) → U3_aa(T34, T31, X52, app29_in_aaa(T33, T34, X52))
app29_in_aaa([], T41, .(T41, [])) → app29_out_aaa([], T41, .(T41, []))
app29_in_aaa(.(T48, T51), T52, .(T48, X78)) → U4_aaa(T48, T51, T52, X78, app29_in_aaa(T51, T52, X78))
U4_aaa(T48, T51, T52, X78, app29_out_aaa(T51, T52, X78)) → app29_out_aaa(.(T48, T51), T52, .(T48, X78))
U3_aa(T34, T31, X52, app29_out_aaa(T33, T34, X52)) → rev18_out_aa(.(T34, T31), X52)
U1_aa(T32, T31, X52, rev18_out_aa(T31, X51)) → rev18_out_aa(.(T32, T31), X52)
U6_ag(T21, T20, T19, rev18_out_aa(T19, X34)) → rev1_out_ag(.(T21, .(T20, T19)), [])
rev1_in_ag(.(T24, .(T23, T19)), []) → U7_ag(T24, T23, T19, rev18_in_aa(T19, T22))
U7_ag(T24, T23, T19, rev18_out_aa(T19, T22)) → U8_ag(T24, T23, T19, app29_in_aaa(T22, T23, X35))
U8_ag(T24, T23, T19, app29_out_aaa(T22, T23, X35)) → rev1_out_ag(.(T24, .(T23, T19)), [])
rev1_in_ag(.(T85, []), .(T85, [])) → rev1_out_ag(.(T85, []), .(T85, []))
rev1_in_ag(.(T94, .(T93, T92)), T75) → U9_ag(T94, T93, T92, T75, rev18_in_aa(T92, X134))
U9_ag(T94, T93, T92, T75, rev18_out_aa(T92, X134)) → rev1_out_ag(.(T94, .(T93, T92)), T75)
rev1_in_ag(.(T97, .(T96, T92)), T75) → U10_ag(T97, T96, T92, T75, rev18_in_aa(T92, T95))
U10_ag(T97, T96, T92, T75, rev18_out_aa(T92, T95)) → U11_ag(T97, T96, T92, T75, app29_in_aaa(T95, T96, X135))
U11_ag(T97, T96, T92, T75, app29_out_aaa(T95, T96, X135)) → rev1_out_ag(.(T97, .(T96, T92)), T75)
rev1_in_ag(.(T112, .(T96, T92)), .(T112, [])) → U12_ag(T112, T96, T92, rev18_in_aa(T92, T95))
U12_ag(T112, T96, T92, rev18_out_aa(T92, T95)) → U13_ag(T112, T96, T92, app29_in_aag(T95, T96, []))
app29_in_aag([], T41, .(T41, [])) → app29_out_aag([], T41, .(T41, []))
app29_in_aag(.(T48, T51), T52, .(T48, X78)) → U4_aag(T48, T51, T52, X78, app29_in_aag(T51, T52, X78))
U4_aag(T48, T51, T52, X78, app29_out_aag(T51, T52, X78)) → app29_out_aag(.(T48, T51), T52, .(T48, X78))
U13_ag(T112, T96, T92, app29_out_aag(T95, T96, [])) → rev1_out_ag(.(T112, .(T96, T92)), .(T112, []))
rev1_in_ag(.(T126, .(T96, T92)), .(T121, T124)) → U14_ag(T126, T96, T92, T121, T124, rev18_in_aa(T92, T95))
U14_ag(T126, T96, T92, T121, T124, rev18_out_aa(T92, T95)) → U15_ag(T126, T96, T92, T121, T124, app29_in_aaa(T95, T96, .(T121, T125)))
U15_ag(T126, T96, T92, T121, T124, app29_out_aaa(T95, T96, .(T121, T125))) → U16_ag(T126, T96, T92, T121, T124, app69_in_gag(T125, T126, T124))
app69_in_gag([], T133, .(T133, [])) → app69_out_gag([], T133, .(T133, []))
app69_in_gag(.(T142, T146), T147, .(T142, T145)) → U5_gag(T142, T146, T147, T145, app69_in_gag(T146, T147, T145))
U5_gag(T142, T146, T147, T145, app69_out_gag(T146, T147, T145)) → app69_out_gag(.(T142, T146), T147, .(T142, T145))
U16_ag(T126, T96, T92, T121, T124, app69_out_gag(T125, T126, T124)) → rev1_out_ag(.(T126, .(T96, T92)), .(T121, T124))

The argument filtering Pi contains the following mapping:
rev1_in_ag(x1, x2)  =  rev1_in_ag(x2)
[]  =  []
rev1_out_ag(x1, x2)  =  rev1_out_ag(x1)
U6_ag(x1, x2, x3, x4)  =  U6_ag(x4)
rev18_in_aa(x1, x2)  =  rev18_in_aa
rev18_out_aa(x1, x2)  =  rev18_out_aa(x1)
U1_aa(x1, x2, x3, x4)  =  U1_aa(x4)
U2_aa(x1, x2, x3, x4)  =  U2_aa(x4)
U3_aa(x1, x2, x3, x4)  =  U3_aa(x2, x4)
.(x1, x2)  =  .(x2)
app29_in_aaa(x1, x2, x3)  =  app29_in_aaa
app29_out_aaa(x1, x2, x3)  =  app29_out_aaa(x1, x3)
U4_aaa(x1, x2, x3, x4, x5)  =  U4_aaa(x5)
U7_ag(x1, x2, x3, x4)  =  U7_ag(x4)
U8_ag(x1, x2, x3, x4)  =  U8_ag(x3, x4)
U9_ag(x1, x2, x3, x4, x5)  =  U9_ag(x5)
U10_ag(x1, x2, x3, x4, x5)  =  U10_ag(x5)
U11_ag(x1, x2, x3, x4, x5)  =  U11_ag(x3, x5)
U12_ag(x1, x2, x3, x4)  =  U12_ag(x4)
U13_ag(x1, x2, x3, x4)  =  U13_ag(x3, x4)
app29_in_aag(x1, x2, x3)  =  app29_in_aag(x3)
app29_out_aag(x1, x2, x3)  =  app29_out_aag(x1)
U4_aag(x1, x2, x3, x4, x5)  =  U4_aag(x5)
U14_ag(x1, x2, x3, x4, x5, x6)  =  U14_ag(x5, x6)
U15_ag(x1, x2, x3, x4, x5, x6)  =  U15_ag(x3, x5, x6)
U16_ag(x1, x2, x3, x4, x5, x6)  =  U16_ag(x3, x6)
app69_in_gag(x1, x2, x3)  =  app69_in_gag(x1, x3)
app69_out_gag(x1, x2, x3)  =  app69_out_gag
U5_gag(x1, x2, x3, x4, x5)  =  U5_gag(x5)

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

REV1_IN_AG(.(T21, .(T20, T19)), []) → U6_AG(T21, T20, T19, rev18_in_aa(T19, X34))
REV1_IN_AG(.(T21, .(T20, T19)), []) → REV18_IN_AA(T19, X34)
REV18_IN_AA(.(T32, T31), X52) → U1_AA(T32, T31, X52, rev18_in_aa(T31, X51))
REV18_IN_AA(.(T32, T31), X52) → REV18_IN_AA(T31, X51)
REV18_IN_AA(.(T34, T31), X52) → U2_AA(T34, T31, X52, rev18_in_aa(T31, T33))
U2_AA(T34, T31, X52, rev18_out_aa(T31, T33)) → U3_AA(T34, T31, X52, app29_in_aaa(T33, T34, X52))
U2_AA(T34, T31, X52, rev18_out_aa(T31, T33)) → APP29_IN_AAA(T33, T34, X52)
APP29_IN_AAA(.(T48, T51), T52, .(T48, X78)) → U4_AAA(T48, T51, T52, X78, app29_in_aaa(T51, T52, X78))
APP29_IN_AAA(.(T48, T51), T52, .(T48, X78)) → APP29_IN_AAA(T51, T52, X78)
REV1_IN_AG(.(T24, .(T23, T19)), []) → U7_AG(T24, T23, T19, rev18_in_aa(T19, T22))
U7_AG(T24, T23, T19, rev18_out_aa(T19, T22)) → U8_AG(T24, T23, T19, app29_in_aaa(T22, T23, X35))
U7_AG(T24, T23, T19, rev18_out_aa(T19, T22)) → APP29_IN_AAA(T22, T23, X35)
REV1_IN_AG(.(T94, .(T93, T92)), T75) → U9_AG(T94, T93, T92, T75, rev18_in_aa(T92, X134))
REV1_IN_AG(.(T94, .(T93, T92)), T75) → REV18_IN_AA(T92, X134)
REV1_IN_AG(.(T97, .(T96, T92)), T75) → U10_AG(T97, T96, T92, T75, rev18_in_aa(T92, T95))
U10_AG(T97, T96, T92, T75, rev18_out_aa(T92, T95)) → U11_AG(T97, T96, T92, T75, app29_in_aaa(T95, T96, X135))
U10_AG(T97, T96, T92, T75, rev18_out_aa(T92, T95)) → APP29_IN_AAA(T95, T96, X135)
REV1_IN_AG(.(T112, .(T96, T92)), .(T112, [])) → U12_AG(T112, T96, T92, rev18_in_aa(T92, T95))
REV1_IN_AG(.(T112, .(T96, T92)), .(T112, [])) → REV18_IN_AA(T92, T95)
U12_AG(T112, T96, T92, rev18_out_aa(T92, T95)) → U13_AG(T112, T96, T92, app29_in_aag(T95, T96, []))
U12_AG(T112, T96, T92, rev18_out_aa(T92, T95)) → APP29_IN_AAG(T95, T96, [])
APP29_IN_AAG(.(T48, T51), T52, .(T48, X78)) → U4_AAG(T48, T51, T52, X78, app29_in_aag(T51, T52, X78))
APP29_IN_AAG(.(T48, T51), T52, .(T48, X78)) → APP29_IN_AAG(T51, T52, X78)
REV1_IN_AG(.(T126, .(T96, T92)), .(T121, T124)) → U14_AG(T126, T96, T92, T121, T124, rev18_in_aa(T92, T95))
REV1_IN_AG(.(T126, .(T96, T92)), .(T121, T124)) → REV18_IN_AA(T92, T95)
U14_AG(T126, T96, T92, T121, T124, rev18_out_aa(T92, T95)) → U15_AG(T126, T96, T92, T121, T124, app29_in_aaa(T95, T96, .(T121, T125)))
U14_AG(T126, T96, T92, T121, T124, rev18_out_aa(T92, T95)) → APP29_IN_AAA(T95, T96, .(T121, T125))
U15_AG(T126, T96, T92, T121, T124, app29_out_aaa(T95, T96, .(T121, T125))) → U16_AG(T126, T96, T92, T121, T124, app69_in_gag(T125, T126, T124))
U15_AG(T126, T96, T92, T121, T124, app29_out_aaa(T95, T96, .(T121, T125))) → APP69_IN_GAG(T125, T126, T124)
APP69_IN_GAG(.(T142, T146), T147, .(T142, T145)) → U5_GAG(T142, T146, T147, T145, app69_in_gag(T146, T147, T145))
APP69_IN_GAG(.(T142, T146), T147, .(T142, T145)) → APP69_IN_GAG(T146, T147, T145)

The TRS R consists of the following rules:

rev1_in_ag([], []) → rev1_out_ag([], [])
rev1_in_ag(.(T21, .(T20, T19)), []) → U6_ag(T21, T20, T19, rev18_in_aa(T19, X34))
rev18_in_aa([], []) → rev18_out_aa([], [])
rev18_in_aa(.(T32, T31), X52) → U1_aa(T32, T31, X52, rev18_in_aa(T31, X51))
rev18_in_aa(.(T34, T31), X52) → U2_aa(T34, T31, X52, rev18_in_aa(T31, T33))
U2_aa(T34, T31, X52, rev18_out_aa(T31, T33)) → U3_aa(T34, T31, X52, app29_in_aaa(T33, T34, X52))
app29_in_aaa([], T41, .(T41, [])) → app29_out_aaa([], T41, .(T41, []))
app29_in_aaa(.(T48, T51), T52, .(T48, X78)) → U4_aaa(T48, T51, T52, X78, app29_in_aaa(T51, T52, X78))
U4_aaa(T48, T51, T52, X78, app29_out_aaa(T51, T52, X78)) → app29_out_aaa(.(T48, T51), T52, .(T48, X78))
U3_aa(T34, T31, X52, app29_out_aaa(T33, T34, X52)) → rev18_out_aa(.(T34, T31), X52)
U1_aa(T32, T31, X52, rev18_out_aa(T31, X51)) → rev18_out_aa(.(T32, T31), X52)
U6_ag(T21, T20, T19, rev18_out_aa(T19, X34)) → rev1_out_ag(.(T21, .(T20, T19)), [])
rev1_in_ag(.(T24, .(T23, T19)), []) → U7_ag(T24, T23, T19, rev18_in_aa(T19, T22))
U7_ag(T24, T23, T19, rev18_out_aa(T19, T22)) → U8_ag(T24, T23, T19, app29_in_aaa(T22, T23, X35))
U8_ag(T24, T23, T19, app29_out_aaa(T22, T23, X35)) → rev1_out_ag(.(T24, .(T23, T19)), [])
rev1_in_ag(.(T85, []), .(T85, [])) → rev1_out_ag(.(T85, []), .(T85, []))
rev1_in_ag(.(T94, .(T93, T92)), T75) → U9_ag(T94, T93, T92, T75, rev18_in_aa(T92, X134))
U9_ag(T94, T93, T92, T75, rev18_out_aa(T92, X134)) → rev1_out_ag(.(T94, .(T93, T92)), T75)
rev1_in_ag(.(T97, .(T96, T92)), T75) → U10_ag(T97, T96, T92, T75, rev18_in_aa(T92, T95))
U10_ag(T97, T96, T92, T75, rev18_out_aa(T92, T95)) → U11_ag(T97, T96, T92, T75, app29_in_aaa(T95, T96, X135))
U11_ag(T97, T96, T92, T75, app29_out_aaa(T95, T96, X135)) → rev1_out_ag(.(T97, .(T96, T92)), T75)
rev1_in_ag(.(T112, .(T96, T92)), .(T112, [])) → U12_ag(T112, T96, T92, rev18_in_aa(T92, T95))
U12_ag(T112, T96, T92, rev18_out_aa(T92, T95)) → U13_ag(T112, T96, T92, app29_in_aag(T95, T96, []))
app29_in_aag([], T41, .(T41, [])) → app29_out_aag([], T41, .(T41, []))
app29_in_aag(.(T48, T51), T52, .(T48, X78)) → U4_aag(T48, T51, T52, X78, app29_in_aag(T51, T52, X78))
U4_aag(T48, T51, T52, X78, app29_out_aag(T51, T52, X78)) → app29_out_aag(.(T48, T51), T52, .(T48, X78))
U13_ag(T112, T96, T92, app29_out_aag(T95, T96, [])) → rev1_out_ag(.(T112, .(T96, T92)), .(T112, []))
rev1_in_ag(.(T126, .(T96, T92)), .(T121, T124)) → U14_ag(T126, T96, T92, T121, T124, rev18_in_aa(T92, T95))
U14_ag(T126, T96, T92, T121, T124, rev18_out_aa(T92, T95)) → U15_ag(T126, T96, T92, T121, T124, app29_in_aaa(T95, T96, .(T121, T125)))
U15_ag(T126, T96, T92, T121, T124, app29_out_aaa(T95, T96, .(T121, T125))) → U16_ag(T126, T96, T92, T121, T124, app69_in_gag(T125, T126, T124))
app69_in_gag([], T133, .(T133, [])) → app69_out_gag([], T133, .(T133, []))
app69_in_gag(.(T142, T146), T147, .(T142, T145)) → U5_gag(T142, T146, T147, T145, app69_in_gag(T146, T147, T145))
U5_gag(T142, T146, T147, T145, app69_out_gag(T146, T147, T145)) → app69_out_gag(.(T142, T146), T147, .(T142, T145))
U16_ag(T126, T96, T92, T121, T124, app69_out_gag(T125, T126, T124)) → rev1_out_ag(.(T126, .(T96, T92)), .(T121, T124))

The argument filtering Pi contains the following mapping:
rev1_in_ag(x1, x2)  =  rev1_in_ag(x2)
[]  =  []
rev1_out_ag(x1, x2)  =  rev1_out_ag(x1)
U6_ag(x1, x2, x3, x4)  =  U6_ag(x4)
rev18_in_aa(x1, x2)  =  rev18_in_aa
rev18_out_aa(x1, x2)  =  rev18_out_aa(x1)
U1_aa(x1, x2, x3, x4)  =  U1_aa(x4)
U2_aa(x1, x2, x3, x4)  =  U2_aa(x4)
U3_aa(x1, x2, x3, x4)  =  U3_aa(x2, x4)
.(x1, x2)  =  .(x2)
app29_in_aaa(x1, x2, x3)  =  app29_in_aaa
app29_out_aaa(x1, x2, x3)  =  app29_out_aaa(x1, x3)
U4_aaa(x1, x2, x3, x4, x5)  =  U4_aaa(x5)
U7_ag(x1, x2, x3, x4)  =  U7_ag(x4)
U8_ag(x1, x2, x3, x4)  =  U8_ag(x3, x4)
U9_ag(x1, x2, x3, x4, x5)  =  U9_ag(x5)
U10_ag(x1, x2, x3, x4, x5)  =  U10_ag(x5)
U11_ag(x1, x2, x3, x4, x5)  =  U11_ag(x3, x5)
U12_ag(x1, x2, x3, x4)  =  U12_ag(x4)
U13_ag(x1, x2, x3, x4)  =  U13_ag(x3, x4)
app29_in_aag(x1, x2, x3)  =  app29_in_aag(x3)
app29_out_aag(x1, x2, x3)  =  app29_out_aag(x1)
U4_aag(x1, x2, x3, x4, x5)  =  U4_aag(x5)
U14_ag(x1, x2, x3, x4, x5, x6)  =  U14_ag(x5, x6)
U15_ag(x1, x2, x3, x4, x5, x6)  =  U15_ag(x3, x5, x6)
U16_ag(x1, x2, x3, x4, x5, x6)  =  U16_ag(x3, x6)
app69_in_gag(x1, x2, x3)  =  app69_in_gag(x1, x3)
app69_out_gag(x1, x2, x3)  =  app69_out_gag
U5_gag(x1, x2, x3, x4, x5)  =  U5_gag(x5)
REV1_IN_AG(x1, x2)  =  REV1_IN_AG(x2)
U6_AG(x1, x2, x3, x4)  =  U6_AG(x4)
REV18_IN_AA(x1, x2)  =  REV18_IN_AA
U1_AA(x1, x2, x3, x4)  =  U1_AA(x4)
U2_AA(x1, x2, x3, x4)  =  U2_AA(x4)
U3_AA(x1, x2, x3, x4)  =  U3_AA(x2, x4)
APP29_IN_AAA(x1, x2, x3)  =  APP29_IN_AAA
U4_AAA(x1, x2, x3, x4, x5)  =  U4_AAA(x5)
U7_AG(x1, x2, x3, x4)  =  U7_AG(x4)
U8_AG(x1, x2, x3, x4)  =  U8_AG(x3, x4)
U9_AG(x1, x2, x3, x4, x5)  =  U9_AG(x5)
U10_AG(x1, x2, x3, x4, x5)  =  U10_AG(x5)
U11_AG(x1, x2, x3, x4, x5)  =  U11_AG(x3, x5)
U12_AG(x1, x2, x3, x4)  =  U12_AG(x4)
U13_AG(x1, x2, x3, x4)  =  U13_AG(x3, x4)
APP29_IN_AAG(x1, x2, x3)  =  APP29_IN_AAG(x3)
U4_AAG(x1, x2, x3, x4, x5)  =  U4_AAG(x5)
U14_AG(x1, x2, x3, x4, x5, x6)  =  U14_AG(x5, x6)
U15_AG(x1, x2, x3, x4, x5, x6)  =  U15_AG(x3, x5, x6)
U16_AG(x1, x2, x3, x4, x5, x6)  =  U16_AG(x3, x6)
APP69_IN_GAG(x1, x2, x3)  =  APP69_IN_GAG(x1, x3)
U5_GAG(x1, x2, x3, x4, x5)  =  U5_GAG(x5)

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

(40) Obligation:

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

REV1_IN_AG(.(T21, .(T20, T19)), []) → U6_AG(T21, T20, T19, rev18_in_aa(T19, X34))
REV1_IN_AG(.(T21, .(T20, T19)), []) → REV18_IN_AA(T19, X34)
REV18_IN_AA(.(T32, T31), X52) → U1_AA(T32, T31, X52, rev18_in_aa(T31, X51))
REV18_IN_AA(.(T32, T31), X52) → REV18_IN_AA(T31, X51)
REV18_IN_AA(.(T34, T31), X52) → U2_AA(T34, T31, X52, rev18_in_aa(T31, T33))
U2_AA(T34, T31, X52, rev18_out_aa(T31, T33)) → U3_AA(T34, T31, X52, app29_in_aaa(T33, T34, X52))
U2_AA(T34, T31, X52, rev18_out_aa(T31, T33)) → APP29_IN_AAA(T33, T34, X52)
APP29_IN_AAA(.(T48, T51), T52, .(T48, X78)) → U4_AAA(T48, T51, T52, X78, app29_in_aaa(T51, T52, X78))
APP29_IN_AAA(.(T48, T51), T52, .(T48, X78)) → APP29_IN_AAA(T51, T52, X78)
REV1_IN_AG(.(T24, .(T23, T19)), []) → U7_AG(T24, T23, T19, rev18_in_aa(T19, T22))
U7_AG(T24, T23, T19, rev18_out_aa(T19, T22)) → U8_AG(T24, T23, T19, app29_in_aaa(T22, T23, X35))
U7_AG(T24, T23, T19, rev18_out_aa(T19, T22)) → APP29_IN_AAA(T22, T23, X35)
REV1_IN_AG(.(T94, .(T93, T92)), T75) → U9_AG(T94, T93, T92, T75, rev18_in_aa(T92, X134))
REV1_IN_AG(.(T94, .(T93, T92)), T75) → REV18_IN_AA(T92, X134)
REV1_IN_AG(.(T97, .(T96, T92)), T75) → U10_AG(T97, T96, T92, T75, rev18_in_aa(T92, T95))
U10_AG(T97, T96, T92, T75, rev18_out_aa(T92, T95)) → U11_AG(T97, T96, T92, T75, app29_in_aaa(T95, T96, X135))
U10_AG(T97, T96, T92, T75, rev18_out_aa(T92, T95)) → APP29_IN_AAA(T95, T96, X135)
REV1_IN_AG(.(T112, .(T96, T92)), .(T112, [])) → U12_AG(T112, T96, T92, rev18_in_aa(T92, T95))
REV1_IN_AG(.(T112, .(T96, T92)), .(T112, [])) → REV18_IN_AA(T92, T95)
U12_AG(T112, T96, T92, rev18_out_aa(T92, T95)) → U13_AG(T112, T96, T92, app29_in_aag(T95, T96, []))
U12_AG(T112, T96, T92, rev18_out_aa(T92, T95)) → APP29_IN_AAG(T95, T96, [])
APP29_IN_AAG(.(T48, T51), T52, .(T48, X78)) → U4_AAG(T48, T51, T52, X78, app29_in_aag(T51, T52, X78))
APP29_IN_AAG(.(T48, T51), T52, .(T48, X78)) → APP29_IN_AAG(T51, T52, X78)
REV1_IN_AG(.(T126, .(T96, T92)), .(T121, T124)) → U14_AG(T126, T96, T92, T121, T124, rev18_in_aa(T92, T95))
REV1_IN_AG(.(T126, .(T96, T92)), .(T121, T124)) → REV18_IN_AA(T92, T95)
U14_AG(T126, T96, T92, T121, T124, rev18_out_aa(T92, T95)) → U15_AG(T126, T96, T92, T121, T124, app29_in_aaa(T95, T96, .(T121, T125)))
U14_AG(T126, T96, T92, T121, T124, rev18_out_aa(T92, T95)) → APP29_IN_AAA(T95, T96, .(T121, T125))
U15_AG(T126, T96, T92, T121, T124, app29_out_aaa(T95, T96, .(T121, T125))) → U16_AG(T126, T96, T92, T121, T124, app69_in_gag(T125, T126, T124))
U15_AG(T126, T96, T92, T121, T124, app29_out_aaa(T95, T96, .(T121, T125))) → APP69_IN_GAG(T125, T126, T124)
APP69_IN_GAG(.(T142, T146), T147, .(T142, T145)) → U5_GAG(T142, T146, T147, T145, app69_in_gag(T146, T147, T145))
APP69_IN_GAG(.(T142, T146), T147, .(T142, T145)) → APP69_IN_GAG(T146, T147, T145)

The TRS R consists of the following rules:

rev1_in_ag([], []) → rev1_out_ag([], [])
rev1_in_ag(.(T21, .(T20, T19)), []) → U6_ag(T21, T20, T19, rev18_in_aa(T19, X34))
rev18_in_aa([], []) → rev18_out_aa([], [])
rev18_in_aa(.(T32, T31), X52) → U1_aa(T32, T31, X52, rev18_in_aa(T31, X51))
rev18_in_aa(.(T34, T31), X52) → U2_aa(T34, T31, X52, rev18_in_aa(T31, T33))
U2_aa(T34, T31, X52, rev18_out_aa(T31, T33)) → U3_aa(T34, T31, X52, app29_in_aaa(T33, T34, X52))
app29_in_aaa([], T41, .(T41, [])) → app29_out_aaa([], T41, .(T41, []))
app29_in_aaa(.(T48, T51), T52, .(T48, X78)) → U4_aaa(T48, T51, T52, X78, app29_in_aaa(T51, T52, X78))
U4_aaa(T48, T51, T52, X78, app29_out_aaa(T51, T52, X78)) → app29_out_aaa(.(T48, T51), T52, .(T48, X78))
U3_aa(T34, T31, X52, app29_out_aaa(T33, T34, X52)) → rev18_out_aa(.(T34, T31), X52)
U1_aa(T32, T31, X52, rev18_out_aa(T31, X51)) → rev18_out_aa(.(T32, T31), X52)
U6_ag(T21, T20, T19, rev18_out_aa(T19, X34)) → rev1_out_ag(.(T21, .(T20, T19)), [])
rev1_in_ag(.(T24, .(T23, T19)), []) → U7_ag(T24, T23, T19, rev18_in_aa(T19, T22))
U7_ag(T24, T23, T19, rev18_out_aa(T19, T22)) → U8_ag(T24, T23, T19, app29_in_aaa(T22, T23, X35))
U8_ag(T24, T23, T19, app29_out_aaa(T22, T23, X35)) → rev1_out_ag(.(T24, .(T23, T19)), [])
rev1_in_ag(.(T85, []), .(T85, [])) → rev1_out_ag(.(T85, []), .(T85, []))
rev1_in_ag(.(T94, .(T93, T92)), T75) → U9_ag(T94, T93, T92, T75, rev18_in_aa(T92, X134))
U9_ag(T94, T93, T92, T75, rev18_out_aa(T92, X134)) → rev1_out_ag(.(T94, .(T93, T92)), T75)
rev1_in_ag(.(T97, .(T96, T92)), T75) → U10_ag(T97, T96, T92, T75, rev18_in_aa(T92, T95))
U10_ag(T97, T96, T92, T75, rev18_out_aa(T92, T95)) → U11_ag(T97, T96, T92, T75, app29_in_aaa(T95, T96, X135))
U11_ag(T97, T96, T92, T75, app29_out_aaa(T95, T96, X135)) → rev1_out_ag(.(T97, .(T96, T92)), T75)
rev1_in_ag(.(T112, .(T96, T92)), .(T112, [])) → U12_ag(T112, T96, T92, rev18_in_aa(T92, T95))
U12_ag(T112, T96, T92, rev18_out_aa(T92, T95)) → U13_ag(T112, T96, T92, app29_in_aag(T95, T96, []))
app29_in_aag([], T41, .(T41, [])) → app29_out_aag([], T41, .(T41, []))
app29_in_aag(.(T48, T51), T52, .(T48, X78)) → U4_aag(T48, T51, T52, X78, app29_in_aag(T51, T52, X78))
U4_aag(T48, T51, T52, X78, app29_out_aag(T51, T52, X78)) → app29_out_aag(.(T48, T51), T52, .(T48, X78))
U13_ag(T112, T96, T92, app29_out_aag(T95, T96, [])) → rev1_out_ag(.(T112, .(T96, T92)), .(T112, []))
rev1_in_ag(.(T126, .(T96, T92)), .(T121, T124)) → U14_ag(T126, T96, T92, T121, T124, rev18_in_aa(T92, T95))
U14_ag(T126, T96, T92, T121, T124, rev18_out_aa(T92, T95)) → U15_ag(T126, T96, T92, T121, T124, app29_in_aaa(T95, T96, .(T121, T125)))
U15_ag(T126, T96, T92, T121, T124, app29_out_aaa(T95, T96, .(T121, T125))) → U16_ag(T126, T96, T92, T121, T124, app69_in_gag(T125, T126, T124))
app69_in_gag([], T133, .(T133, [])) → app69_out_gag([], T133, .(T133, []))
app69_in_gag(.(T142, T146), T147, .(T142, T145)) → U5_gag(T142, T146, T147, T145, app69_in_gag(T146, T147, T145))
U5_gag(T142, T146, T147, T145, app69_out_gag(T146, T147, T145)) → app69_out_gag(.(T142, T146), T147, .(T142, T145))
U16_ag(T126, T96, T92, T121, T124, app69_out_gag(T125, T126, T124)) → rev1_out_ag(.(T126, .(T96, T92)), .(T121, T124))

The argument filtering Pi contains the following mapping:
rev1_in_ag(x1, x2)  =  rev1_in_ag(x2)
[]  =  []
rev1_out_ag(x1, x2)  =  rev1_out_ag(x1)
U6_ag(x1, x2, x3, x4)  =  U6_ag(x4)
rev18_in_aa(x1, x2)  =  rev18_in_aa
rev18_out_aa(x1, x2)  =  rev18_out_aa(x1)
U1_aa(x1, x2, x3, x4)  =  U1_aa(x4)
U2_aa(x1, x2, x3, x4)  =  U2_aa(x4)
U3_aa(x1, x2, x3, x4)  =  U3_aa(x2, x4)
.(x1, x2)  =  .(x2)
app29_in_aaa(x1, x2, x3)  =  app29_in_aaa
app29_out_aaa(x1, x2, x3)  =  app29_out_aaa(x1, x3)
U4_aaa(x1, x2, x3, x4, x5)  =  U4_aaa(x5)
U7_ag(x1, x2, x3, x4)  =  U7_ag(x4)
U8_ag(x1, x2, x3, x4)  =  U8_ag(x3, x4)
U9_ag(x1, x2, x3, x4, x5)  =  U9_ag(x5)
U10_ag(x1, x2, x3, x4, x5)  =  U10_ag(x5)
U11_ag(x1, x2, x3, x4, x5)  =  U11_ag(x3, x5)
U12_ag(x1, x2, x3, x4)  =  U12_ag(x4)
U13_ag(x1, x2, x3, x4)  =  U13_ag(x3, x4)
app29_in_aag(x1, x2, x3)  =  app29_in_aag(x3)
app29_out_aag(x1, x2, x3)  =  app29_out_aag(x1)
U4_aag(x1, x2, x3, x4, x5)  =  U4_aag(x5)
U14_ag(x1, x2, x3, x4, x5, x6)  =  U14_ag(x5, x6)
U15_ag(x1, x2, x3, x4, x5, x6)  =  U15_ag(x3, x5, x6)
U16_ag(x1, x2, x3, x4, x5, x6)  =  U16_ag(x3, x6)
app69_in_gag(x1, x2, x3)  =  app69_in_gag(x1, x3)
app69_out_gag(x1, x2, x3)  =  app69_out_gag
U5_gag(x1, x2, x3, x4, x5)  =  U5_gag(x5)
REV1_IN_AG(x1, x2)  =  REV1_IN_AG(x2)
U6_AG(x1, x2, x3, x4)  =  U6_AG(x4)
REV18_IN_AA(x1, x2)  =  REV18_IN_AA
U1_AA(x1, x2, x3, x4)  =  U1_AA(x4)
U2_AA(x1, x2, x3, x4)  =  U2_AA(x4)
U3_AA(x1, x2, x3, x4)  =  U3_AA(x2, x4)
APP29_IN_AAA(x1, x2, x3)  =  APP29_IN_AAA
U4_AAA(x1, x2, x3, x4, x5)  =  U4_AAA(x5)
U7_AG(x1, x2, x3, x4)  =  U7_AG(x4)
U8_AG(x1, x2, x3, x4)  =  U8_AG(x3, x4)
U9_AG(x1, x2, x3, x4, x5)  =  U9_AG(x5)
U10_AG(x1, x2, x3, x4, x5)  =  U10_AG(x5)
U11_AG(x1, x2, x3, x4, x5)  =  U11_AG(x3, x5)
U12_AG(x1, x2, x3, x4)  =  U12_AG(x4)
U13_AG(x1, x2, x3, x4)  =  U13_AG(x3, x4)
APP29_IN_AAG(x1, x2, x3)  =  APP29_IN_AAG(x3)
U4_AAG(x1, x2, x3, x4, x5)  =  U4_AAG(x5)
U14_AG(x1, x2, x3, x4, x5, x6)  =  U14_AG(x5, x6)
U15_AG(x1, x2, x3, x4, x5, x6)  =  U15_AG(x3, x5, x6)
U16_AG(x1, x2, x3, x4, x5, x6)  =  U16_AG(x3, x6)
APP69_IN_GAG(x1, x2, x3)  =  APP69_IN_GAG(x1, x3)
U5_GAG(x1, x2, x3, x4, x5)  =  U5_GAG(x5)

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

(41) DependencyGraphProof (EQUIVALENT transformation)

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

(42) Complex Obligation (AND)

(43) Obligation:

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

APP69_IN_GAG(.(T142, T146), T147, .(T142, T145)) → APP69_IN_GAG(T146, T147, T145)

The TRS R consists of the following rules:

rev1_in_ag([], []) → rev1_out_ag([], [])
rev1_in_ag(.(T21, .(T20, T19)), []) → U6_ag(T21, T20, T19, rev18_in_aa(T19, X34))
rev18_in_aa([], []) → rev18_out_aa([], [])
rev18_in_aa(.(T32, T31), X52) → U1_aa(T32, T31, X52, rev18_in_aa(T31, X51))
rev18_in_aa(.(T34, T31), X52) → U2_aa(T34, T31, X52, rev18_in_aa(T31, T33))
U2_aa(T34, T31, X52, rev18_out_aa(T31, T33)) → U3_aa(T34, T31, X52, app29_in_aaa(T33, T34, X52))
app29_in_aaa([], T41, .(T41, [])) → app29_out_aaa([], T41, .(T41, []))
app29_in_aaa(.(T48, T51), T52, .(T48, X78)) → U4_aaa(T48, T51, T52, X78, app29_in_aaa(T51, T52, X78))
U4_aaa(T48, T51, T52, X78, app29_out_aaa(T51, T52, X78)) → app29_out_aaa(.(T48, T51), T52, .(T48, X78))
U3_aa(T34, T31, X52, app29_out_aaa(T33, T34, X52)) → rev18_out_aa(.(T34, T31), X52)
U1_aa(T32, T31, X52, rev18_out_aa(T31, X51)) → rev18_out_aa(.(T32, T31), X52)
U6_ag(T21, T20, T19, rev18_out_aa(T19, X34)) → rev1_out_ag(.(T21, .(T20, T19)), [])
rev1_in_ag(.(T24, .(T23, T19)), []) → U7_ag(T24, T23, T19, rev18_in_aa(T19, T22))
U7_ag(T24, T23, T19, rev18_out_aa(T19, T22)) → U8_ag(T24, T23, T19, app29_in_aaa(T22, T23, X35))
U8_ag(T24, T23, T19, app29_out_aaa(T22, T23, X35)) → rev1_out_ag(.(T24, .(T23, T19)), [])
rev1_in_ag(.(T85, []), .(T85, [])) → rev1_out_ag(.(T85, []), .(T85, []))
rev1_in_ag(.(T94, .(T93, T92)), T75) → U9_ag(T94, T93, T92, T75, rev18_in_aa(T92, X134))
U9_ag(T94, T93, T92, T75, rev18_out_aa(T92, X134)) → rev1_out_ag(.(T94, .(T93, T92)), T75)
rev1_in_ag(.(T97, .(T96, T92)), T75) → U10_ag(T97, T96, T92, T75, rev18_in_aa(T92, T95))
U10_ag(T97, T96, T92, T75, rev18_out_aa(T92, T95)) → U11_ag(T97, T96, T92, T75, app29_in_aaa(T95, T96, X135))
U11_ag(T97, T96, T92, T75, app29_out_aaa(T95, T96, X135)) → rev1_out_ag(.(T97, .(T96, T92)), T75)
rev1_in_ag(.(T112, .(T96, T92)), .(T112, [])) → U12_ag(T112, T96, T92, rev18_in_aa(T92, T95))
U12_ag(T112, T96, T92, rev18_out_aa(T92, T95)) → U13_ag(T112, T96, T92, app29_in_aag(T95, T96, []))
app29_in_aag([], T41, .(T41, [])) → app29_out_aag([], T41, .(T41, []))
app29_in_aag(.(T48, T51), T52, .(T48, X78)) → U4_aag(T48, T51, T52, X78, app29_in_aag(T51, T52, X78))
U4_aag(T48, T51, T52, X78, app29_out_aag(T51, T52, X78)) → app29_out_aag(.(T48, T51), T52, .(T48, X78))
U13_ag(T112, T96, T92, app29_out_aag(T95, T96, [])) → rev1_out_ag(.(T112, .(T96, T92)), .(T112, []))
rev1_in_ag(.(T126, .(T96, T92)), .(T121, T124)) → U14_ag(T126, T96, T92, T121, T124, rev18_in_aa(T92, T95))
U14_ag(T126, T96, T92, T121, T124, rev18_out_aa(T92, T95)) → U15_ag(T126, T96, T92, T121, T124, app29_in_aaa(T95, T96, .(T121, T125)))
U15_ag(T126, T96, T92, T121, T124, app29_out_aaa(T95, T96, .(T121, T125))) → U16_ag(T126, T96, T92, T121, T124, app69_in_gag(T125, T126, T124))
app69_in_gag([], T133, .(T133, [])) → app69_out_gag([], T133, .(T133, []))
app69_in_gag(.(T142, T146), T147, .(T142, T145)) → U5_gag(T142, T146, T147, T145, app69_in_gag(T146, T147, T145))
U5_gag(T142, T146, T147, T145, app69_out_gag(T146, T147, T145)) → app69_out_gag(.(T142, T146), T147, .(T142, T145))
U16_ag(T126, T96, T92, T121, T124, app69_out_gag(T125, T126, T124)) → rev1_out_ag(.(T126, .(T96, T92)), .(T121, T124))

The argument filtering Pi contains the following mapping:
rev1_in_ag(x1, x2)  =  rev1_in_ag(x2)
[]  =  []
rev1_out_ag(x1, x2)  =  rev1_out_ag(x1)
U6_ag(x1, x2, x3, x4)  =  U6_ag(x4)
rev18_in_aa(x1, x2)  =  rev18_in_aa
rev18_out_aa(x1, x2)  =  rev18_out_aa(x1)
U1_aa(x1, x2, x3, x4)  =  U1_aa(x4)
U2_aa(x1, x2, x3, x4)  =  U2_aa(x4)
U3_aa(x1, x2, x3, x4)  =  U3_aa(x2, x4)
.(x1, x2)  =  .(x2)
app29_in_aaa(x1, x2, x3)  =  app29_in_aaa
app29_out_aaa(x1, x2, x3)  =  app29_out_aaa(x1, x3)
U4_aaa(x1, x2, x3, x4, x5)  =  U4_aaa(x5)
U7_ag(x1, x2, x3, x4)  =  U7_ag(x4)
U8_ag(x1, x2, x3, x4)  =  U8_ag(x3, x4)
U9_ag(x1, x2, x3, x4, x5)  =  U9_ag(x5)
U10_ag(x1, x2, x3, x4, x5)  =  U10_ag(x5)
U11_ag(x1, x2, x3, x4, x5)  =  U11_ag(x3, x5)
U12_ag(x1, x2, x3, x4)  =  U12_ag(x4)
U13_ag(x1, x2, x3, x4)  =  U13_ag(x3, x4)
app29_in_aag(x1, x2, x3)  =  app29_in_aag(x3)
app29_out_aag(x1, x2, x3)  =  app29_out_aag(x1)
U4_aag(x1, x2, x3, x4, x5)  =  U4_aag(x5)
U14_ag(x1, x2, x3, x4, x5, x6)  =  U14_ag(x5, x6)
U15_ag(x1, x2, x3, x4, x5, x6)  =  U15_ag(x3, x5, x6)
U16_ag(x1, x2, x3, x4, x5, x6)  =  U16_ag(x3, x6)
app69_in_gag(x1, x2, x3)  =  app69_in_gag(x1, x3)
app69_out_gag(x1, x2, x3)  =  app69_out_gag
U5_gag(x1, x2, x3, x4, x5)  =  U5_gag(x5)
APP69_IN_GAG(x1, x2, x3)  =  APP69_IN_GAG(x1, x3)

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

(44) UsableRulesProof (EQUIVALENT transformation)

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

(45) Obligation:

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

APP69_IN_GAG(.(T142, T146), T147, .(T142, T145)) → APP69_IN_GAG(T146, T147, T145)

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

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

(46) PiDPToQDPProof (SOUND transformation)

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

(47) Obligation:

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

APP69_IN_GAG(.(T146), .(T145)) → APP69_IN_GAG(T146, T145)

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

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

  • APP69_IN_GAG(.(T146), .(T145)) → APP69_IN_GAG(T146, T145)
    The graph contains the following edges 1 > 1, 2 > 2

(49) YES

(50) Obligation:

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

APP29_IN_AAG(.(T48, T51), T52, .(T48, X78)) → APP29_IN_AAG(T51, T52, X78)

The TRS R consists of the following rules:

rev1_in_ag([], []) → rev1_out_ag([], [])
rev1_in_ag(.(T21, .(T20, T19)), []) → U6_ag(T21, T20, T19, rev18_in_aa(T19, X34))
rev18_in_aa([], []) → rev18_out_aa([], [])
rev18_in_aa(.(T32, T31), X52) → U1_aa(T32, T31, X52, rev18_in_aa(T31, X51))
rev18_in_aa(.(T34, T31), X52) → U2_aa(T34, T31, X52, rev18_in_aa(T31, T33))
U2_aa(T34, T31, X52, rev18_out_aa(T31, T33)) → U3_aa(T34, T31, X52, app29_in_aaa(T33, T34, X52))
app29_in_aaa([], T41, .(T41, [])) → app29_out_aaa([], T41, .(T41, []))
app29_in_aaa(.(T48, T51), T52, .(T48, X78)) → U4_aaa(T48, T51, T52, X78, app29_in_aaa(T51, T52, X78))
U4_aaa(T48, T51, T52, X78, app29_out_aaa(T51, T52, X78)) → app29_out_aaa(.(T48, T51), T52, .(T48, X78))
U3_aa(T34, T31, X52, app29_out_aaa(T33, T34, X52)) → rev18_out_aa(.(T34, T31), X52)
U1_aa(T32, T31, X52, rev18_out_aa(T31, X51)) → rev18_out_aa(.(T32, T31), X52)
U6_ag(T21, T20, T19, rev18_out_aa(T19, X34)) → rev1_out_ag(.(T21, .(T20, T19)), [])
rev1_in_ag(.(T24, .(T23, T19)), []) → U7_ag(T24, T23, T19, rev18_in_aa(T19, T22))
U7_ag(T24, T23, T19, rev18_out_aa(T19, T22)) → U8_ag(T24, T23, T19, app29_in_aaa(T22, T23, X35))
U8_ag(T24, T23, T19, app29_out_aaa(T22, T23, X35)) → rev1_out_ag(.(T24, .(T23, T19)), [])
rev1_in_ag(.(T85, []), .(T85, [])) → rev1_out_ag(.(T85, []), .(T85, []))
rev1_in_ag(.(T94, .(T93, T92)), T75) → U9_ag(T94, T93, T92, T75, rev18_in_aa(T92, X134))
U9_ag(T94, T93, T92, T75, rev18_out_aa(T92, X134)) → rev1_out_ag(.(T94, .(T93, T92)), T75)
rev1_in_ag(.(T97, .(T96, T92)), T75) → U10_ag(T97, T96, T92, T75, rev18_in_aa(T92, T95))
U10_ag(T97, T96, T92, T75, rev18_out_aa(T92, T95)) → U11_ag(T97, T96, T92, T75, app29_in_aaa(T95, T96, X135))
U11_ag(T97, T96, T92, T75, app29_out_aaa(T95, T96, X135)) → rev1_out_ag(.(T97, .(T96, T92)), T75)
rev1_in_ag(.(T112, .(T96, T92)), .(T112, [])) → U12_ag(T112, T96, T92, rev18_in_aa(T92, T95))
U12_ag(T112, T96, T92, rev18_out_aa(T92, T95)) → U13_ag(T112, T96, T92, app29_in_aag(T95, T96, []))
app29_in_aag([], T41, .(T41, [])) → app29_out_aag([], T41, .(T41, []))
app29_in_aag(.(T48, T51), T52, .(T48, X78)) → U4_aag(T48, T51, T52, X78, app29_in_aag(T51, T52, X78))
U4_aag(T48, T51, T52, X78, app29_out_aag(T51, T52, X78)) → app29_out_aag(.(T48, T51), T52, .(T48, X78))
U13_ag(T112, T96, T92, app29_out_aag(T95, T96, [])) → rev1_out_ag(.(T112, .(T96, T92)), .(T112, []))
rev1_in_ag(.(T126, .(T96, T92)), .(T121, T124)) → U14_ag(T126, T96, T92, T121, T124, rev18_in_aa(T92, T95))
U14_ag(T126, T96, T92, T121, T124, rev18_out_aa(T92, T95)) → U15_ag(T126, T96, T92, T121, T124, app29_in_aaa(T95, T96, .(T121, T125)))
U15_ag(T126, T96, T92, T121, T124, app29_out_aaa(T95, T96, .(T121, T125))) → U16_ag(T126, T96, T92, T121, T124, app69_in_gag(T125, T126, T124))
app69_in_gag([], T133, .(T133, [])) → app69_out_gag([], T133, .(T133, []))
app69_in_gag(.(T142, T146), T147, .(T142, T145)) → U5_gag(T142, T146, T147, T145, app69_in_gag(T146, T147, T145))
U5_gag(T142, T146, T147, T145, app69_out_gag(T146, T147, T145)) → app69_out_gag(.(T142, T146), T147, .(T142, T145))
U16_ag(T126, T96, T92, T121, T124, app69_out_gag(T125, T126, T124)) → rev1_out_ag(.(T126, .(T96, T92)), .(T121, T124))

The argument filtering Pi contains the following mapping:
rev1_in_ag(x1, x2)  =  rev1_in_ag(x2)
[]  =  []
rev1_out_ag(x1, x2)  =  rev1_out_ag(x1)
U6_ag(x1, x2, x3, x4)  =  U6_ag(x4)
rev18_in_aa(x1, x2)  =  rev18_in_aa
rev18_out_aa(x1, x2)  =  rev18_out_aa(x1)
U1_aa(x1, x2, x3, x4)  =  U1_aa(x4)
U2_aa(x1, x2, x3, x4)  =  U2_aa(x4)
U3_aa(x1, x2, x3, x4)  =  U3_aa(x2, x4)
.(x1, x2)  =  .(x2)
app29_in_aaa(x1, x2, x3)  =  app29_in_aaa
app29_out_aaa(x1, x2, x3)  =  app29_out_aaa(x1, x3)
U4_aaa(x1, x2, x3, x4, x5)  =  U4_aaa(x5)
U7_ag(x1, x2, x3, x4)  =  U7_ag(x4)
U8_ag(x1, x2, x3, x4)  =  U8_ag(x3, x4)
U9_ag(x1, x2, x3, x4, x5)  =  U9_ag(x5)
U10_ag(x1, x2, x3, x4, x5)  =  U10_ag(x5)
U11_ag(x1, x2, x3, x4, x5)  =  U11_ag(x3, x5)
U12_ag(x1, x2, x3, x4)  =  U12_ag(x4)
U13_ag(x1, x2, x3, x4)  =  U13_ag(x3, x4)
app29_in_aag(x1, x2, x3)  =  app29_in_aag(x3)
app29_out_aag(x1, x2, x3)  =  app29_out_aag(x1)
U4_aag(x1, x2, x3, x4, x5)  =  U4_aag(x5)
U14_ag(x1, x2, x3, x4, x5, x6)  =  U14_ag(x5, x6)
U15_ag(x1, x2, x3, x4, x5, x6)  =  U15_ag(x3, x5, x6)
U16_ag(x1, x2, x3, x4, x5, x6)  =  U16_ag(x3, x6)
app69_in_gag(x1, x2, x3)  =  app69_in_gag(x1, x3)
app69_out_gag(x1, x2, x3)  =  app69_out_gag
U5_gag(x1, x2, x3, x4, x5)  =  U5_gag(x5)
APP29_IN_AAG(x1, x2, x3)  =  APP29_IN_AAG(x3)

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

(51) UsableRulesProof (EQUIVALENT transformation)

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

(52) Obligation:

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

APP29_IN_AAG(.(T48, T51), T52, .(T48, X78)) → APP29_IN_AAG(T51, T52, X78)

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

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

(53) PiDPToQDPProof (SOUND transformation)

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

(54) Obligation:

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

APP29_IN_AAG(.(X78)) → APP29_IN_AAG(X78)

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

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

  • APP29_IN_AAG(.(X78)) → APP29_IN_AAG(X78)
    The graph contains the following edges 1 > 1

(56) YES

(57) Obligation:

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

APP29_IN_AAA(.(T48, T51), T52, .(T48, X78)) → APP29_IN_AAA(T51, T52, X78)

The TRS R consists of the following rules:

rev1_in_ag([], []) → rev1_out_ag([], [])
rev1_in_ag(.(T21, .(T20, T19)), []) → U6_ag(T21, T20, T19, rev18_in_aa(T19, X34))
rev18_in_aa([], []) → rev18_out_aa([], [])
rev18_in_aa(.(T32, T31), X52) → U1_aa(T32, T31, X52, rev18_in_aa(T31, X51))
rev18_in_aa(.(T34, T31), X52) → U2_aa(T34, T31, X52, rev18_in_aa(T31, T33))
U2_aa(T34, T31, X52, rev18_out_aa(T31, T33)) → U3_aa(T34, T31, X52, app29_in_aaa(T33, T34, X52))
app29_in_aaa([], T41, .(T41, [])) → app29_out_aaa([], T41, .(T41, []))
app29_in_aaa(.(T48, T51), T52, .(T48, X78)) → U4_aaa(T48, T51, T52, X78, app29_in_aaa(T51, T52, X78))
U4_aaa(T48, T51, T52, X78, app29_out_aaa(T51, T52, X78)) → app29_out_aaa(.(T48, T51), T52, .(T48, X78))
U3_aa(T34, T31, X52, app29_out_aaa(T33, T34, X52)) → rev18_out_aa(.(T34, T31), X52)
U1_aa(T32, T31, X52, rev18_out_aa(T31, X51)) → rev18_out_aa(.(T32, T31), X52)
U6_ag(T21, T20, T19, rev18_out_aa(T19, X34)) → rev1_out_ag(.(T21, .(T20, T19)), [])
rev1_in_ag(.(T24, .(T23, T19)), []) → U7_ag(T24, T23, T19, rev18_in_aa(T19, T22))
U7_ag(T24, T23, T19, rev18_out_aa(T19, T22)) → U8_ag(T24, T23, T19, app29_in_aaa(T22, T23, X35))
U8_ag(T24, T23, T19, app29_out_aaa(T22, T23, X35)) → rev1_out_ag(.(T24, .(T23, T19)), [])
rev1_in_ag(.(T85, []), .(T85, [])) → rev1_out_ag(.(T85, []), .(T85, []))
rev1_in_ag(.(T94, .(T93, T92)), T75) → U9_ag(T94, T93, T92, T75, rev18_in_aa(T92, X134))
U9_ag(T94, T93, T92, T75, rev18_out_aa(T92, X134)) → rev1_out_ag(.(T94, .(T93, T92)), T75)
rev1_in_ag(.(T97, .(T96, T92)), T75) → U10_ag(T97, T96, T92, T75, rev18_in_aa(T92, T95))
U10_ag(T97, T96, T92, T75, rev18_out_aa(T92, T95)) → U11_ag(T97, T96, T92, T75, app29_in_aaa(T95, T96, X135))
U11_ag(T97, T96, T92, T75, app29_out_aaa(T95, T96, X135)) → rev1_out_ag(.(T97, .(T96, T92)), T75)
rev1_in_ag(.(T112, .(T96, T92)), .(T112, [])) → U12_ag(T112, T96, T92, rev18_in_aa(T92, T95))
U12_ag(T112, T96, T92, rev18_out_aa(T92, T95)) → U13_ag(T112, T96, T92, app29_in_aag(T95, T96, []))
app29_in_aag([], T41, .(T41, [])) → app29_out_aag([], T41, .(T41, []))
app29_in_aag(.(T48, T51), T52, .(T48, X78)) → U4_aag(T48, T51, T52, X78, app29_in_aag(T51, T52, X78))
U4_aag(T48, T51, T52, X78, app29_out_aag(T51, T52, X78)) → app29_out_aag(.(T48, T51), T52, .(T48, X78))
U13_ag(T112, T96, T92, app29_out_aag(T95, T96, [])) → rev1_out_ag(.(T112, .(T96, T92)), .(T112, []))
rev1_in_ag(.(T126, .(T96, T92)), .(T121, T124)) → U14_ag(T126, T96, T92, T121, T124, rev18_in_aa(T92, T95))
U14_ag(T126, T96, T92, T121, T124, rev18_out_aa(T92, T95)) → U15_ag(T126, T96, T92, T121, T124, app29_in_aaa(T95, T96, .(T121, T125)))
U15_ag(T126, T96, T92, T121, T124, app29_out_aaa(T95, T96, .(T121, T125))) → U16_ag(T126, T96, T92, T121, T124, app69_in_gag(T125, T126, T124))
app69_in_gag([], T133, .(T133, [])) → app69_out_gag([], T133, .(T133, []))
app69_in_gag(.(T142, T146), T147, .(T142, T145)) → U5_gag(T142, T146, T147, T145, app69_in_gag(T146, T147, T145))
U5_gag(T142, T146, T147, T145, app69_out_gag(T146, T147, T145)) → app69_out_gag(.(T142, T146), T147, .(T142, T145))
U16_ag(T126, T96, T92, T121, T124, app69_out_gag(T125, T126, T124)) → rev1_out_ag(.(T126, .(T96, T92)), .(T121, T124))

The argument filtering Pi contains the following mapping:
rev1_in_ag(x1, x2)  =  rev1_in_ag(x2)
[]  =  []
rev1_out_ag(x1, x2)  =  rev1_out_ag(x1)
U6_ag(x1, x2, x3, x4)  =  U6_ag(x4)
rev18_in_aa(x1, x2)  =  rev18_in_aa
rev18_out_aa(x1, x2)  =  rev18_out_aa(x1)
U1_aa(x1, x2, x3, x4)  =  U1_aa(x4)
U2_aa(x1, x2, x3, x4)  =  U2_aa(x4)
U3_aa(x1, x2, x3, x4)  =  U3_aa(x2, x4)
.(x1, x2)  =  .(x2)
app29_in_aaa(x1, x2, x3)  =  app29_in_aaa
app29_out_aaa(x1, x2, x3)  =  app29_out_aaa(x1, x3)
U4_aaa(x1, x2, x3, x4, x5)  =  U4_aaa(x5)
U7_ag(x1, x2, x3, x4)  =  U7_ag(x4)
U8_ag(x1, x2, x3, x4)  =  U8_ag(x3, x4)
U9_ag(x1, x2, x3, x4, x5)  =  U9_ag(x5)
U10_ag(x1, x2, x3, x4, x5)  =  U10_ag(x5)
U11_ag(x1, x2, x3, x4, x5)  =  U11_ag(x3, x5)
U12_ag(x1, x2, x3, x4)  =  U12_ag(x4)
U13_ag(x1, x2, x3, x4)  =  U13_ag(x3, x4)
app29_in_aag(x1, x2, x3)  =  app29_in_aag(x3)
app29_out_aag(x1, x2, x3)  =  app29_out_aag(x1)
U4_aag(x1, x2, x3, x4, x5)  =  U4_aag(x5)
U14_ag(x1, x2, x3, x4, x5, x6)  =  U14_ag(x5, x6)
U15_ag(x1, x2, x3, x4, x5, x6)  =  U15_ag(x3, x5, x6)
U16_ag(x1, x2, x3, x4, x5, x6)  =  U16_ag(x3, x6)
app69_in_gag(x1, x2, x3)  =  app69_in_gag(x1, x3)
app69_out_gag(x1, x2, x3)  =  app69_out_gag
U5_gag(x1, x2, x3, x4, x5)  =  U5_gag(x5)
APP29_IN_AAA(x1, x2, x3)  =  APP29_IN_AAA

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

(58) UsableRulesProof (EQUIVALENT transformation)

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

(59) Obligation:

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

APP29_IN_AAA(.(T48, T51), T52, .(T48, X78)) → APP29_IN_AAA(T51, T52, X78)

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

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

(60) PiDPToQDPProof (SOUND transformation)

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

(61) Obligation:

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

APP29_IN_AAAAPP29_IN_AAA

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

(62) 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 = APP29_IN_AAA evaluates to t =APP29_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 APP29_IN_AAA to APP29_IN_AAA.



(63) NO

(64) Obligation:

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

REV18_IN_AA(.(T32, T31), X52) → REV18_IN_AA(T31, X51)

The TRS R consists of the following rules:

rev1_in_ag([], []) → rev1_out_ag([], [])
rev1_in_ag(.(T21, .(T20, T19)), []) → U6_ag(T21, T20, T19, rev18_in_aa(T19, X34))
rev18_in_aa([], []) → rev18_out_aa([], [])
rev18_in_aa(.(T32, T31), X52) → U1_aa(T32, T31, X52, rev18_in_aa(T31, X51))
rev18_in_aa(.(T34, T31), X52) → U2_aa(T34, T31, X52, rev18_in_aa(T31, T33))
U2_aa(T34, T31, X52, rev18_out_aa(T31, T33)) → U3_aa(T34, T31, X52, app29_in_aaa(T33, T34, X52))
app29_in_aaa([], T41, .(T41, [])) → app29_out_aaa([], T41, .(T41, []))
app29_in_aaa(.(T48, T51), T52, .(T48, X78)) → U4_aaa(T48, T51, T52, X78, app29_in_aaa(T51, T52, X78))
U4_aaa(T48, T51, T52, X78, app29_out_aaa(T51, T52, X78)) → app29_out_aaa(.(T48, T51), T52, .(T48, X78))
U3_aa(T34, T31, X52, app29_out_aaa(T33, T34, X52)) → rev18_out_aa(.(T34, T31), X52)
U1_aa(T32, T31, X52, rev18_out_aa(T31, X51)) → rev18_out_aa(.(T32, T31), X52)
U6_ag(T21, T20, T19, rev18_out_aa(T19, X34)) → rev1_out_ag(.(T21, .(T20, T19)), [])
rev1_in_ag(.(T24, .(T23, T19)), []) → U7_ag(T24, T23, T19, rev18_in_aa(T19, T22))
U7_ag(T24, T23, T19, rev18_out_aa(T19, T22)) → U8_ag(T24, T23, T19, app29_in_aaa(T22, T23, X35))
U8_ag(T24, T23, T19, app29_out_aaa(T22, T23, X35)) → rev1_out_ag(.(T24, .(T23, T19)), [])
rev1_in_ag(.(T85, []), .(T85, [])) → rev1_out_ag(.(T85, []), .(T85, []))
rev1_in_ag(.(T94, .(T93, T92)), T75) → U9_ag(T94, T93, T92, T75, rev18_in_aa(T92, X134))
U9_ag(T94, T93, T92, T75, rev18_out_aa(T92, X134)) → rev1_out_ag(.(T94, .(T93, T92)), T75)
rev1_in_ag(.(T97, .(T96, T92)), T75) → U10_ag(T97, T96, T92, T75, rev18_in_aa(T92, T95))
U10_ag(T97, T96, T92, T75, rev18_out_aa(T92, T95)) → U11_ag(T97, T96, T92, T75, app29_in_aaa(T95, T96, X135))
U11_ag(T97, T96, T92, T75, app29_out_aaa(T95, T96, X135)) → rev1_out_ag(.(T97, .(T96, T92)), T75)
rev1_in_ag(.(T112, .(T96, T92)), .(T112, [])) → U12_ag(T112, T96, T92, rev18_in_aa(T92, T95))
U12_ag(T112, T96, T92, rev18_out_aa(T92, T95)) → U13_ag(T112, T96, T92, app29_in_aag(T95, T96, []))
app29_in_aag([], T41, .(T41, [])) → app29_out_aag([], T41, .(T41, []))
app29_in_aag(.(T48, T51), T52, .(T48, X78)) → U4_aag(T48, T51, T52, X78, app29_in_aag(T51, T52, X78))
U4_aag(T48, T51, T52, X78, app29_out_aag(T51, T52, X78)) → app29_out_aag(.(T48, T51), T52, .(T48, X78))
U13_ag(T112, T96, T92, app29_out_aag(T95, T96, [])) → rev1_out_ag(.(T112, .(T96, T92)), .(T112, []))
rev1_in_ag(.(T126, .(T96, T92)), .(T121, T124)) → U14_ag(T126, T96, T92, T121, T124, rev18_in_aa(T92, T95))
U14_ag(T126, T96, T92, T121, T124, rev18_out_aa(T92, T95)) → U15_ag(T126, T96, T92, T121, T124, app29_in_aaa(T95, T96, .(T121, T125)))
U15_ag(T126, T96, T92, T121, T124, app29_out_aaa(T95, T96, .(T121, T125))) → U16_ag(T126, T96, T92, T121, T124, app69_in_gag(T125, T126, T124))
app69_in_gag([], T133, .(T133, [])) → app69_out_gag([], T133, .(T133, []))
app69_in_gag(.(T142, T146), T147, .(T142, T145)) → U5_gag(T142, T146, T147, T145, app69_in_gag(T146, T147, T145))
U5_gag(T142, T146, T147, T145, app69_out_gag(T146, T147, T145)) → app69_out_gag(.(T142, T146), T147, .(T142, T145))
U16_ag(T126, T96, T92, T121, T124, app69_out_gag(T125, T126, T124)) → rev1_out_ag(.(T126, .(T96, T92)), .(T121, T124))

The argument filtering Pi contains the following mapping:
rev1_in_ag(x1, x2)  =  rev1_in_ag(x2)
[]  =  []
rev1_out_ag(x1, x2)  =  rev1_out_ag(x1)
U6_ag(x1, x2, x3, x4)  =  U6_ag(x4)
rev18_in_aa(x1, x2)  =  rev18_in_aa
rev18_out_aa(x1, x2)  =  rev18_out_aa(x1)
U1_aa(x1, x2, x3, x4)  =  U1_aa(x4)
U2_aa(x1, x2, x3, x4)  =  U2_aa(x4)
U3_aa(x1, x2, x3, x4)  =  U3_aa(x2, x4)
.(x1, x2)  =  .(x2)
app29_in_aaa(x1, x2, x3)  =  app29_in_aaa
app29_out_aaa(x1, x2, x3)  =  app29_out_aaa(x1, x3)
U4_aaa(x1, x2, x3, x4, x5)  =  U4_aaa(x5)
U7_ag(x1, x2, x3, x4)  =  U7_ag(x4)
U8_ag(x1, x2, x3, x4)  =  U8_ag(x3, x4)
U9_ag(x1, x2, x3, x4, x5)  =  U9_ag(x5)
U10_ag(x1, x2, x3, x4, x5)  =  U10_ag(x5)
U11_ag(x1, x2, x3, x4, x5)  =  U11_ag(x3, x5)
U12_ag(x1, x2, x3, x4)  =  U12_ag(x4)
U13_ag(x1, x2, x3, x4)  =  U13_ag(x3, x4)
app29_in_aag(x1, x2, x3)  =  app29_in_aag(x3)
app29_out_aag(x1, x2, x3)  =  app29_out_aag(x1)
U4_aag(x1, x2, x3, x4, x5)  =  U4_aag(x5)
U14_ag(x1, x2, x3, x4, x5, x6)  =  U14_ag(x5, x6)
U15_ag(x1, x2, x3, x4, x5, x6)  =  U15_ag(x3, x5, x6)
U16_ag(x1, x2, x3, x4, x5, x6)  =  U16_ag(x3, x6)
app69_in_gag(x1, x2, x3)  =  app69_in_gag(x1, x3)
app69_out_gag(x1, x2, x3)  =  app69_out_gag
U5_gag(x1, x2, x3, x4, x5)  =  U5_gag(x5)
REV18_IN_AA(x1, x2)  =  REV18_IN_AA

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

(65) UsableRulesProof (EQUIVALENT transformation)

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

(66) Obligation:

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

REV18_IN_AA(.(T32, T31), X52) → REV18_IN_AA(T31, X51)

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

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

(67) PiDPToQDPProof (SOUND transformation)

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

(68) Obligation:

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

REV18_IN_AAREV18_IN_AA

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

(69) 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 = REV18_IN_AA evaluates to t =REV18_IN_AA

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




Rewriting sequence

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



(70) NO