(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_AA → REV18_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_AAThus s starts an infinite chain as s semiunifies with t with the following substitutions:
- Semiunifier: [ ]
- Matcher: [ ]
Rewriting sequenceThe DP semiunifies directly so there is only one rewrite step from REV18_IN_AA to REV18_IN_AA.
(27) NO