(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) PrologToDTProblemTransformerProof (SOUND transformation)

Built DT problem from termination graph.

(2) Obligation:

Triples:

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

Clauses:

revc18([], []).
revc18(.(T34, T31), X52) :- ','(revc18(T31, T33), appc29(T33, T34, X52)).
appc29([], T41, .(T41, [])).
appc29(.(T48, T51), T52, .(T48, X78)) :- appc29(T51, T52, X78).
appc69([], T133, .(T133, [])).
appc69(.(T142, T146), T147, .(T142, T145)) :- appc69(T146, T147, T145).

Afs:

rev1(x1, x2)  =  rev1(x2)

(3) TriplesToPiDPProof (SOUND transformation)

We use the technique of [LOPSTR]. With regard to the inferred argument filtering the predicates were used in the following modes:
rev1_in: (f,b)
rev18_in: (f,f)
revc18_in: (f,f)
appc29_in: (b,f,f)
app29_in: (b,f,f)
app69_in: (b,f,b)
Transforming TRIPLES into the following Term Rewriting System:
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, revc18_in_aa(T31, T33))
U2_AA(T34, T31, X52, revc18_out_aa(T31, T33)) → U3_AA(T34, T31, X52, app29_in_gaa(T33, T34, X52))
U2_AA(T34, T31, X52, revc18_out_aa(T31, T33)) → APP29_IN_GAA(T33, T34, X52)
APP29_IN_GAA(.(T48, T51), T52, .(T48, X78)) → U4_GAA(T48, T51, T52, X78, app29_in_gaa(T51, T52, X78))
APP29_IN_GAA(.(T48, T51), T52, .(T48, X78)) → APP29_IN_GAA(T51, T52, X78)
REV1_IN_AG(.(T24, .(T23, T19)), []) → U7_AG(T24, T23, T19, revc18_in_aa(T19, T22))
U7_AG(T24, T23, T19, revc18_out_aa(T19, T22)) → U8_AG(T24, T23, T19, app29_in_gaa(T22, T23, X35))
U7_AG(T24, T23, T19, revc18_out_aa(T19, T22)) → APP29_IN_GAA(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, revc18_in_aa(T92, T95))
U10_AG(T97, T96, T92, T75, revc18_out_aa(T92, T95)) → U11_AG(T97, T96, T92, T75, app29_in_gaa(T95, T96, X135))
U10_AG(T97, T96, T92, T75, revc18_out_aa(T92, T95)) → APP29_IN_GAA(T95, T96, X135)
REV1_IN_AG(.(T126, .(T96, T92)), .(T121, T124)) → U12_AG(T126, T96, T92, T121, T124, revc18_in_aa(T92, T95))
U12_AG(T126, T96, T92, T121, T124, revc18_out_aa(T92, T95)) → U13_AG(T126, T96, T92, T121, T124, appc29_in_gaa(T95, T96, .(T121, T125)))
U13_AG(T126, T96, T92, T121, T124, appc29_out_gaa(T95, T96, .(T121, T125))) → U14_AG(T126, T96, T92, T121, T124, app69_in_gag(T125, T126, T124))
U13_AG(T126, T96, T92, T121, T124, appc29_out_gaa(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:

revc18_in_aa([], []) → revc18_out_aa([], [])
revc18_in_aa(.(T34, T31), X52) → U16_aa(T34, T31, X52, revc18_in_aa(T31, T33))
U16_aa(T34, T31, X52, revc18_out_aa(T31, T33)) → U17_aa(T34, T31, X52, appc29_in_gaa(T33, T34, X52))
appc29_in_gaa([], T41, .(T41, [])) → appc29_out_gaa([], T41, .(T41, []))
appc29_in_gaa(.(T48, T51), T52, .(T48, X78)) → U18_gaa(T48, T51, T52, X78, appc29_in_gaa(T51, T52, X78))
U18_gaa(T48, T51, T52, X78, appc29_out_gaa(T51, T52, X78)) → appc29_out_gaa(.(T48, T51), T52, .(T48, X78))
U17_aa(T34, T31, X52, appc29_out_gaa(T33, T34, X52)) → revc18_out_aa(.(T34, T31), X52)

The argument filtering Pi contains the following mapping:
[]  =  []
rev18_in_aa(x1, x2)  =  rev18_in_aa
revc18_in_aa(x1, x2)  =  revc18_in_aa
revc18_out_aa(x1, x2)  =  revc18_out_aa(x1, x2)
U16_aa(x1, x2, x3, x4)  =  U16_aa(x4)
U17_aa(x1, x2, x3, x4)  =  U17_aa(x2, x4)
appc29_in_gaa(x1, x2, x3)  =  appc29_in_gaa(x1)
appc29_out_gaa(x1, x2, x3)  =  appc29_out_gaa(x1, x3)
.(x1, x2)  =  .(x2)
U18_gaa(x1, x2, x3, x4, x5)  =  U18_gaa(x2, x5)
app29_in_gaa(x1, x2, x3)  =  app29_in_gaa(x1)
app69_in_gag(x1, x2, x3)  =  app69_in_gag(x1, x3)
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_GAA(x1, x2, x3)  =  APP29_IN_GAA(x1)
U4_GAA(x1, x2, x3, x4, x5)  =  U4_GAA(x2, 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, x5, x6)  =  U12_AG(x5, x6)
U13_AG(x1, x2, x3, x4, x5, x6)  =  U13_AG(x3, x5, x6)
U14_AG(x1, x2, x3, x4, x5, x6)  =  U14_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

Infinitary Constructor Rewriting Termination of PiDP implies Termination of TRIPLES

(4) 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, revc18_in_aa(T31, T33))
U2_AA(T34, T31, X52, revc18_out_aa(T31, T33)) → U3_AA(T34, T31, X52, app29_in_gaa(T33, T34, X52))
U2_AA(T34, T31, X52, revc18_out_aa(T31, T33)) → APP29_IN_GAA(T33, T34, X52)
APP29_IN_GAA(.(T48, T51), T52, .(T48, X78)) → U4_GAA(T48, T51, T52, X78, app29_in_gaa(T51, T52, X78))
APP29_IN_GAA(.(T48, T51), T52, .(T48, X78)) → APP29_IN_GAA(T51, T52, X78)
REV1_IN_AG(.(T24, .(T23, T19)), []) → U7_AG(T24, T23, T19, revc18_in_aa(T19, T22))
U7_AG(T24, T23, T19, revc18_out_aa(T19, T22)) → U8_AG(T24, T23, T19, app29_in_gaa(T22, T23, X35))
U7_AG(T24, T23, T19, revc18_out_aa(T19, T22)) → APP29_IN_GAA(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, revc18_in_aa(T92, T95))
U10_AG(T97, T96, T92, T75, revc18_out_aa(T92, T95)) → U11_AG(T97, T96, T92, T75, app29_in_gaa(T95, T96, X135))
U10_AG(T97, T96, T92, T75, revc18_out_aa(T92, T95)) → APP29_IN_GAA(T95, T96, X135)
REV1_IN_AG(.(T126, .(T96, T92)), .(T121, T124)) → U12_AG(T126, T96, T92, T121, T124, revc18_in_aa(T92, T95))
U12_AG(T126, T96, T92, T121, T124, revc18_out_aa(T92, T95)) → U13_AG(T126, T96, T92, T121, T124, appc29_in_gaa(T95, T96, .(T121, T125)))
U13_AG(T126, T96, T92, T121, T124, appc29_out_gaa(T95, T96, .(T121, T125))) → U14_AG(T126, T96, T92, T121, T124, app69_in_gag(T125, T126, T124))
U13_AG(T126, T96, T92, T121, T124, appc29_out_gaa(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:

revc18_in_aa([], []) → revc18_out_aa([], [])
revc18_in_aa(.(T34, T31), X52) → U16_aa(T34, T31, X52, revc18_in_aa(T31, T33))
U16_aa(T34, T31, X52, revc18_out_aa(T31, T33)) → U17_aa(T34, T31, X52, appc29_in_gaa(T33, T34, X52))
appc29_in_gaa([], T41, .(T41, [])) → appc29_out_gaa([], T41, .(T41, []))
appc29_in_gaa(.(T48, T51), T52, .(T48, X78)) → U18_gaa(T48, T51, T52, X78, appc29_in_gaa(T51, T52, X78))
U18_gaa(T48, T51, T52, X78, appc29_out_gaa(T51, T52, X78)) → appc29_out_gaa(.(T48, T51), T52, .(T48, X78))
U17_aa(T34, T31, X52, appc29_out_gaa(T33, T34, X52)) → revc18_out_aa(.(T34, T31), X52)

The argument filtering Pi contains the following mapping:
[]  =  []
rev18_in_aa(x1, x2)  =  rev18_in_aa
revc18_in_aa(x1, x2)  =  revc18_in_aa
revc18_out_aa(x1, x2)  =  revc18_out_aa(x1, x2)
U16_aa(x1, x2, x3, x4)  =  U16_aa(x4)
U17_aa(x1, x2, x3, x4)  =  U17_aa(x2, x4)
appc29_in_gaa(x1, x2, x3)  =  appc29_in_gaa(x1)
appc29_out_gaa(x1, x2, x3)  =  appc29_out_gaa(x1, x3)
.(x1, x2)  =  .(x2)
U18_gaa(x1, x2, x3, x4, x5)  =  U18_gaa(x2, x5)
app29_in_gaa(x1, x2, x3)  =  app29_in_gaa(x1)
app69_in_gag(x1, x2, x3)  =  app69_in_gag(x1, x3)
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_GAA(x1, x2, x3)  =  APP29_IN_GAA(x1)
U4_GAA(x1, x2, x3, x4, x5)  =  U4_GAA(x2, 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, x5, x6)  =  U12_AG(x5, x6)
U13_AG(x1, x2, x3, x4, x5, x6)  =  U13_AG(x3, x5, x6)
U14_AG(x1, x2, x3, x4, x5, x6)  =  U14_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

(5) DependencyGraphProof (EQUIVALENT transformation)

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

(6) Complex Obligation (AND)

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

revc18_in_aa([], []) → revc18_out_aa([], [])
revc18_in_aa(.(T34, T31), X52) → U16_aa(T34, T31, X52, revc18_in_aa(T31, T33))
U16_aa(T34, T31, X52, revc18_out_aa(T31, T33)) → U17_aa(T34, T31, X52, appc29_in_gaa(T33, T34, X52))
appc29_in_gaa([], T41, .(T41, [])) → appc29_out_gaa([], T41, .(T41, []))
appc29_in_gaa(.(T48, T51), T52, .(T48, X78)) → U18_gaa(T48, T51, T52, X78, appc29_in_gaa(T51, T52, X78))
U18_gaa(T48, T51, T52, X78, appc29_out_gaa(T51, T52, X78)) → appc29_out_gaa(.(T48, T51), T52, .(T48, X78))
U17_aa(T34, T31, X52, appc29_out_gaa(T33, T34, X52)) → revc18_out_aa(.(T34, T31), X52)

The argument filtering Pi contains the following mapping:
[]  =  []
revc18_in_aa(x1, x2)  =  revc18_in_aa
revc18_out_aa(x1, x2)  =  revc18_out_aa(x1, x2)
U16_aa(x1, x2, x3, x4)  =  U16_aa(x4)
U17_aa(x1, x2, x3, x4)  =  U17_aa(x2, x4)
appc29_in_gaa(x1, x2, x3)  =  appc29_in_gaa(x1)
appc29_out_gaa(x1, x2, x3)  =  appc29_out_gaa(x1, x3)
.(x1, x2)  =  .(x2)
U18_gaa(x1, x2, x3, x4, x5)  =  U18_gaa(x2, x5)
APP69_IN_GAG(x1, x2, x3)  =  APP69_IN_GAG(x1, x3)

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

(8) UsableRulesProof (EQUIVALENT transformation)

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

(9) Obligation:

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

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

(10) PiDPToQDPProof (SOUND transformation)

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

(11) Obligation:

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

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.

(12) QDPSizeChangeProof (EQUIVALENT transformation)

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

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

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

(13) YES

(14) Obligation:

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

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

The TRS R consists of the following rules:

revc18_in_aa([], []) → revc18_out_aa([], [])
revc18_in_aa(.(T34, T31), X52) → U16_aa(T34, T31, X52, revc18_in_aa(T31, T33))
U16_aa(T34, T31, X52, revc18_out_aa(T31, T33)) → U17_aa(T34, T31, X52, appc29_in_gaa(T33, T34, X52))
appc29_in_gaa([], T41, .(T41, [])) → appc29_out_gaa([], T41, .(T41, []))
appc29_in_gaa(.(T48, T51), T52, .(T48, X78)) → U18_gaa(T48, T51, T52, X78, appc29_in_gaa(T51, T52, X78))
U18_gaa(T48, T51, T52, X78, appc29_out_gaa(T51, T52, X78)) → appc29_out_gaa(.(T48, T51), T52, .(T48, X78))
U17_aa(T34, T31, X52, appc29_out_gaa(T33, T34, X52)) → revc18_out_aa(.(T34, T31), X52)

The argument filtering Pi contains the following mapping:
[]  =  []
revc18_in_aa(x1, x2)  =  revc18_in_aa
revc18_out_aa(x1, x2)  =  revc18_out_aa(x1, x2)
U16_aa(x1, x2, x3, x4)  =  U16_aa(x4)
U17_aa(x1, x2, x3, x4)  =  U17_aa(x2, x4)
appc29_in_gaa(x1, x2, x3)  =  appc29_in_gaa(x1)
appc29_out_gaa(x1, x2, x3)  =  appc29_out_gaa(x1, x3)
.(x1, x2)  =  .(x2)
U18_gaa(x1, x2, x3, x4, x5)  =  U18_gaa(x2, x5)
APP29_IN_GAA(x1, x2, x3)  =  APP29_IN_GAA(x1)

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

(15) UsableRulesProof (EQUIVALENT transformation)

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

(16) Obligation:

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

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

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

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

(17) PiDPToQDPProof (SOUND transformation)

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

(18) Obligation:

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

APP29_IN_GAA(.(T51)) → APP29_IN_GAA(T51)

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

(19) QDPSizeChangeProof (EQUIVALENT transformation)

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

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

  • APP29_IN_GAA(.(T51)) → APP29_IN_GAA(T51)
    The graph contains the following edges 1 > 1

(20) YES

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

revc18_in_aa([], []) → revc18_out_aa([], [])
revc18_in_aa(.(T34, T31), X52) → U16_aa(T34, T31, X52, revc18_in_aa(T31, T33))
U16_aa(T34, T31, X52, revc18_out_aa(T31, T33)) → U17_aa(T34, T31, X52, appc29_in_gaa(T33, T34, X52))
appc29_in_gaa([], T41, .(T41, [])) → appc29_out_gaa([], T41, .(T41, []))
appc29_in_gaa(.(T48, T51), T52, .(T48, X78)) → U18_gaa(T48, T51, T52, X78, appc29_in_gaa(T51, T52, X78))
U18_gaa(T48, T51, T52, X78, appc29_out_gaa(T51, T52, X78)) → appc29_out_gaa(.(T48, T51), T52, .(T48, X78))
U17_aa(T34, T31, X52, appc29_out_gaa(T33, T34, X52)) → revc18_out_aa(.(T34, T31), X52)

The argument filtering Pi contains the following mapping:
[]  =  []
revc18_in_aa(x1, x2)  =  revc18_in_aa
revc18_out_aa(x1, x2)  =  revc18_out_aa(x1, x2)
U16_aa(x1, x2, x3, x4)  =  U16_aa(x4)
U17_aa(x1, x2, x3, x4)  =  U17_aa(x2, x4)
appc29_in_gaa(x1, x2, x3)  =  appc29_in_gaa(x1)
appc29_out_gaa(x1, x2, x3)  =  appc29_out_gaa(x1, x3)
.(x1, x2)  =  .(x2)
U18_gaa(x1, x2, x3, x4, x5)  =  U18_gaa(x2, x5)
REV18_IN_AA(x1, x2)  =  REV18_IN_AA

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

(22) UsableRulesProof (EQUIVALENT transformation)

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

(23) Obligation:

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

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

(24) PiDPToQDPProof (SOUND transformation)

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

(25) Obligation:

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

REV18_IN_AAREV18_IN_AA

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

(26) 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:
  • Semiunifier: [ ]
  • Matcher: [ ]




Rewriting sequence

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



(27) NO