(0) Obligation:

Clauses:

append(nil, XS, XS).
append(cons(X, XS), YS, cons(X, ZS)) :- append(XS, YS, ZS).
reverse(nil, nil).
reverse(cons(X, nil), cons(X, nil)).
reverse(cons(X, XS), YS) :- ','(reverse(XS, ZS), append(ZS, cons(X, nil), YS)).
shuffle(nil, nil).
shuffle(cons(X, XS), cons(X, YS)) :- ','(reverse(XS, ZS), shuffle(ZS, YS)).
query(XS) :- shuffle(cons(X, XS), YS).

Queries:

query(g).

(1) PrologToDTProblemTransformerProof (SOUND transformation)

Built DT problem from termination graph.

(2) Obligation:

Triples:

reverse7(cons(T17, T18), X41) :- reverse7(T18, X40).
reverse7(cons(T17, T18), X41) :- ','(reversec7(T18, T19), append23(T19, T17, X41)).
append23(cons(T33, T34), T35, cons(T33, X67)) :- append23(T34, T35, X67).
p6(T6, X19, X21) :- reverse7(T6, X19).
p6(T6, cons(T42, T43), cons(T42, X87)) :- ','(reversec7(T6, cons(T42, T43)), p6(T43, X86, X87)).
query1(T6) :- p6(T6, X19, X21).

Clauses:

reversec7(nil, nil).
reversec7(cons(T12, nil), cons(T12, nil)).
reversec7(cons(T17, T18), X41) :- ','(reversec7(T18, T19), appendc23(T19, T17, X41)).
appendc23(nil, T26, cons(T26, nil)).
appendc23(cons(T33, T34), T35, cons(T33, X67)) :- appendc23(T34, T35, X67).
qc6(T6, nil, nil) :- reversec7(T6, nil).
qc6(T6, cons(T42, T43), cons(T42, X87)) :- ','(reversec7(T6, cons(T42, T43)), qc6(T43, X86, X87)).

Afs:

query1(x1)  =  query1(x1)

(3) TriplesToPiDPProof (SOUND transformation)

We use the technique of [LOPSTR]. With regard to the inferred argument filtering the predicates were used in the following modes:
query1_in: (b)
p6_in: (b,f,f)
reverse7_in: (b,f)
reversec7_in: (b,f)
appendc23_in: (b,f,f)
append23_in: (b,f,f)
Transforming TRIPLES into the following Term Rewriting System:
Pi DP problem:
The TRS P consists of the following rules:

QUERY1_IN_G(T6) → U8_G(T6, p6_in_gaa(T6, X19, X21))
QUERY1_IN_G(T6) → P6_IN_GAA(T6, X19, X21)
P6_IN_GAA(T6, X19, X21) → U5_GAA(T6, X19, X21, reverse7_in_ga(T6, X19))
P6_IN_GAA(T6, X19, X21) → REVERSE7_IN_GA(T6, X19)
REVERSE7_IN_GA(cons(T17, T18), X41) → U1_GA(T17, T18, X41, reverse7_in_ga(T18, X40))
REVERSE7_IN_GA(cons(T17, T18), X41) → REVERSE7_IN_GA(T18, X40)
REVERSE7_IN_GA(cons(T17, T18), X41) → U2_GA(T17, T18, X41, reversec7_in_ga(T18, T19))
U2_GA(T17, T18, X41, reversec7_out_ga(T18, T19)) → U3_GA(T17, T18, X41, append23_in_gaa(T19, T17, X41))
U2_GA(T17, T18, X41, reversec7_out_ga(T18, T19)) → APPEND23_IN_GAA(T19, T17, X41)
APPEND23_IN_GAA(cons(T33, T34), T35, cons(T33, X67)) → U4_GAA(T33, T34, T35, X67, append23_in_gaa(T34, T35, X67))
APPEND23_IN_GAA(cons(T33, T34), T35, cons(T33, X67)) → APPEND23_IN_GAA(T34, T35, X67)
P6_IN_GAA(T6, cons(T42, T43), cons(T42, X87)) → U6_GAA(T6, T42, T43, X87, reversec7_in_ga(T6, cons(T42, T43)))
U6_GAA(T6, T42, T43, X87, reversec7_out_ga(T6, cons(T42, T43))) → U7_GAA(T6, T42, T43, X87, p6_in_gaa(T43, X86, X87))
U6_GAA(T6, T42, T43, X87, reversec7_out_ga(T6, cons(T42, T43))) → P6_IN_GAA(T43, X86, X87)

The TRS R consists of the following rules:

reversec7_in_ga(nil, nil) → reversec7_out_ga(nil, nil)
reversec7_in_ga(cons(T12, nil), cons(T12, nil)) → reversec7_out_ga(cons(T12, nil), cons(T12, nil))
reversec7_in_ga(cons(T17, T18), X41) → U10_ga(T17, T18, X41, reversec7_in_ga(T18, T19))
U10_ga(T17, T18, X41, reversec7_out_ga(T18, T19)) → U11_ga(T17, T18, X41, appendc23_in_gaa(T19, T17, X41))
appendc23_in_gaa(nil, T26, cons(T26, nil)) → appendc23_out_gaa(nil, T26, cons(T26, nil))
appendc23_in_gaa(cons(T33, T34), T35, cons(T33, X67)) → U12_gaa(T33, T34, T35, X67, appendc23_in_gaa(T34, T35, X67))
U12_gaa(T33, T34, T35, X67, appendc23_out_gaa(T34, T35, X67)) → appendc23_out_gaa(cons(T33, T34), T35, cons(T33, X67))
U11_ga(T17, T18, X41, appendc23_out_gaa(T19, T17, X41)) → reversec7_out_ga(cons(T17, T18), X41)

The argument filtering Pi contains the following mapping:
p6_in_gaa(x1, x2, x3)  =  p6_in_gaa(x1)
reverse7_in_ga(x1, x2)  =  reverse7_in_ga(x1)
cons(x1, x2)  =  cons(x2)
reversec7_in_ga(x1, x2)  =  reversec7_in_ga(x1)
nil  =  nil
reversec7_out_ga(x1, x2)  =  reversec7_out_ga(x1, x2)
U10_ga(x1, x2, x3, x4)  =  U10_ga(x2, x4)
U11_ga(x1, x2, x3, x4)  =  U11_ga(x2, x4)
appendc23_in_gaa(x1, x2, x3)  =  appendc23_in_gaa(x1)
appendc23_out_gaa(x1, x2, x3)  =  appendc23_out_gaa(x1, x3)
U12_gaa(x1, x2, x3, x4, x5)  =  U12_gaa(x2, x5)
append23_in_gaa(x1, x2, x3)  =  append23_in_gaa(x1)
QUERY1_IN_G(x1)  =  QUERY1_IN_G(x1)
U8_G(x1, x2)  =  U8_G(x1, x2)
P6_IN_GAA(x1, x2, x3)  =  P6_IN_GAA(x1)
U5_GAA(x1, x2, x3, x4)  =  U5_GAA(x1, x4)
REVERSE7_IN_GA(x1, x2)  =  REVERSE7_IN_GA(x1)
U1_GA(x1, x2, x3, x4)  =  U1_GA(x2, x4)
U2_GA(x1, x2, x3, x4)  =  U2_GA(x2, x4)
U3_GA(x1, x2, x3, x4)  =  U3_GA(x2, x4)
APPEND23_IN_GAA(x1, x2, x3)  =  APPEND23_IN_GAA(x1)
U4_GAA(x1, x2, x3, x4, x5)  =  U4_GAA(x2, x5)
U6_GAA(x1, x2, x3, x4, x5)  =  U6_GAA(x1, x5)
U7_GAA(x1, x2, x3, x4, x5)  =  U7_GAA(x1, 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:

QUERY1_IN_G(T6) → U8_G(T6, p6_in_gaa(T6, X19, X21))
QUERY1_IN_G(T6) → P6_IN_GAA(T6, X19, X21)
P6_IN_GAA(T6, X19, X21) → U5_GAA(T6, X19, X21, reverse7_in_ga(T6, X19))
P6_IN_GAA(T6, X19, X21) → REVERSE7_IN_GA(T6, X19)
REVERSE7_IN_GA(cons(T17, T18), X41) → U1_GA(T17, T18, X41, reverse7_in_ga(T18, X40))
REVERSE7_IN_GA(cons(T17, T18), X41) → REVERSE7_IN_GA(T18, X40)
REVERSE7_IN_GA(cons(T17, T18), X41) → U2_GA(T17, T18, X41, reversec7_in_ga(T18, T19))
U2_GA(T17, T18, X41, reversec7_out_ga(T18, T19)) → U3_GA(T17, T18, X41, append23_in_gaa(T19, T17, X41))
U2_GA(T17, T18, X41, reversec7_out_ga(T18, T19)) → APPEND23_IN_GAA(T19, T17, X41)
APPEND23_IN_GAA(cons(T33, T34), T35, cons(T33, X67)) → U4_GAA(T33, T34, T35, X67, append23_in_gaa(T34, T35, X67))
APPEND23_IN_GAA(cons(T33, T34), T35, cons(T33, X67)) → APPEND23_IN_GAA(T34, T35, X67)
P6_IN_GAA(T6, cons(T42, T43), cons(T42, X87)) → U6_GAA(T6, T42, T43, X87, reversec7_in_ga(T6, cons(T42, T43)))
U6_GAA(T6, T42, T43, X87, reversec7_out_ga(T6, cons(T42, T43))) → U7_GAA(T6, T42, T43, X87, p6_in_gaa(T43, X86, X87))
U6_GAA(T6, T42, T43, X87, reversec7_out_ga(T6, cons(T42, T43))) → P6_IN_GAA(T43, X86, X87)

The TRS R consists of the following rules:

reversec7_in_ga(nil, nil) → reversec7_out_ga(nil, nil)
reversec7_in_ga(cons(T12, nil), cons(T12, nil)) → reversec7_out_ga(cons(T12, nil), cons(T12, nil))
reversec7_in_ga(cons(T17, T18), X41) → U10_ga(T17, T18, X41, reversec7_in_ga(T18, T19))
U10_ga(T17, T18, X41, reversec7_out_ga(T18, T19)) → U11_ga(T17, T18, X41, appendc23_in_gaa(T19, T17, X41))
appendc23_in_gaa(nil, T26, cons(T26, nil)) → appendc23_out_gaa(nil, T26, cons(T26, nil))
appendc23_in_gaa(cons(T33, T34), T35, cons(T33, X67)) → U12_gaa(T33, T34, T35, X67, appendc23_in_gaa(T34, T35, X67))
U12_gaa(T33, T34, T35, X67, appendc23_out_gaa(T34, T35, X67)) → appendc23_out_gaa(cons(T33, T34), T35, cons(T33, X67))
U11_ga(T17, T18, X41, appendc23_out_gaa(T19, T17, X41)) → reversec7_out_ga(cons(T17, T18), X41)

The argument filtering Pi contains the following mapping:
p6_in_gaa(x1, x2, x3)  =  p6_in_gaa(x1)
reverse7_in_ga(x1, x2)  =  reverse7_in_ga(x1)
cons(x1, x2)  =  cons(x2)
reversec7_in_ga(x1, x2)  =  reversec7_in_ga(x1)
nil  =  nil
reversec7_out_ga(x1, x2)  =  reversec7_out_ga(x1, x2)
U10_ga(x1, x2, x3, x4)  =  U10_ga(x2, x4)
U11_ga(x1, x2, x3, x4)  =  U11_ga(x2, x4)
appendc23_in_gaa(x1, x2, x3)  =  appendc23_in_gaa(x1)
appendc23_out_gaa(x1, x2, x3)  =  appendc23_out_gaa(x1, x3)
U12_gaa(x1, x2, x3, x4, x5)  =  U12_gaa(x2, x5)
append23_in_gaa(x1, x2, x3)  =  append23_in_gaa(x1)
QUERY1_IN_G(x1)  =  QUERY1_IN_G(x1)
U8_G(x1, x2)  =  U8_G(x1, x2)
P6_IN_GAA(x1, x2, x3)  =  P6_IN_GAA(x1)
U5_GAA(x1, x2, x3, x4)  =  U5_GAA(x1, x4)
REVERSE7_IN_GA(x1, x2)  =  REVERSE7_IN_GA(x1)
U1_GA(x1, x2, x3, x4)  =  U1_GA(x2, x4)
U2_GA(x1, x2, x3, x4)  =  U2_GA(x2, x4)
U3_GA(x1, x2, x3, x4)  =  U3_GA(x2, x4)
APPEND23_IN_GAA(x1, x2, x3)  =  APPEND23_IN_GAA(x1)
U4_GAA(x1, x2, x3, x4, x5)  =  U4_GAA(x2, x5)
U6_GAA(x1, x2, x3, x4, x5)  =  U6_GAA(x1, x5)
U7_GAA(x1, x2, x3, x4, x5)  =  U7_GAA(x1, 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 10 less nodes.

(6) Complex Obligation (AND)

(7) Obligation:

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

APPEND23_IN_GAA(cons(T33, T34), T35, cons(T33, X67)) → APPEND23_IN_GAA(T34, T35, X67)

The TRS R consists of the following rules:

reversec7_in_ga(nil, nil) → reversec7_out_ga(nil, nil)
reversec7_in_ga(cons(T12, nil), cons(T12, nil)) → reversec7_out_ga(cons(T12, nil), cons(T12, nil))
reversec7_in_ga(cons(T17, T18), X41) → U10_ga(T17, T18, X41, reversec7_in_ga(T18, T19))
U10_ga(T17, T18, X41, reversec7_out_ga(T18, T19)) → U11_ga(T17, T18, X41, appendc23_in_gaa(T19, T17, X41))
appendc23_in_gaa(nil, T26, cons(T26, nil)) → appendc23_out_gaa(nil, T26, cons(T26, nil))
appendc23_in_gaa(cons(T33, T34), T35, cons(T33, X67)) → U12_gaa(T33, T34, T35, X67, appendc23_in_gaa(T34, T35, X67))
U12_gaa(T33, T34, T35, X67, appendc23_out_gaa(T34, T35, X67)) → appendc23_out_gaa(cons(T33, T34), T35, cons(T33, X67))
U11_ga(T17, T18, X41, appendc23_out_gaa(T19, T17, X41)) → reversec7_out_ga(cons(T17, T18), X41)

The argument filtering Pi contains the following mapping:
cons(x1, x2)  =  cons(x2)
reversec7_in_ga(x1, x2)  =  reversec7_in_ga(x1)
nil  =  nil
reversec7_out_ga(x1, x2)  =  reversec7_out_ga(x1, x2)
U10_ga(x1, x2, x3, x4)  =  U10_ga(x2, x4)
U11_ga(x1, x2, x3, x4)  =  U11_ga(x2, x4)
appendc23_in_gaa(x1, x2, x3)  =  appendc23_in_gaa(x1)
appendc23_out_gaa(x1, x2, x3)  =  appendc23_out_gaa(x1, x3)
U12_gaa(x1, x2, x3, x4, x5)  =  U12_gaa(x2, x5)
APPEND23_IN_GAA(x1, x2, x3)  =  APPEND23_IN_GAA(x1)

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:

APPEND23_IN_GAA(cons(T33, T34), T35, cons(T33, X67)) → APPEND23_IN_GAA(T34, T35, X67)

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

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:

APPEND23_IN_GAA(cons(T34)) → APPEND23_IN_GAA(T34)

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:

  • APPEND23_IN_GAA(cons(T34)) → APPEND23_IN_GAA(T34)
    The graph contains the following edges 1 > 1

(13) YES

(14) Obligation:

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

REVERSE7_IN_GA(cons(T17, T18), X41) → REVERSE7_IN_GA(T18, X40)

The TRS R consists of the following rules:

reversec7_in_ga(nil, nil) → reversec7_out_ga(nil, nil)
reversec7_in_ga(cons(T12, nil), cons(T12, nil)) → reversec7_out_ga(cons(T12, nil), cons(T12, nil))
reversec7_in_ga(cons(T17, T18), X41) → U10_ga(T17, T18, X41, reversec7_in_ga(T18, T19))
U10_ga(T17, T18, X41, reversec7_out_ga(T18, T19)) → U11_ga(T17, T18, X41, appendc23_in_gaa(T19, T17, X41))
appendc23_in_gaa(nil, T26, cons(T26, nil)) → appendc23_out_gaa(nil, T26, cons(T26, nil))
appendc23_in_gaa(cons(T33, T34), T35, cons(T33, X67)) → U12_gaa(T33, T34, T35, X67, appendc23_in_gaa(T34, T35, X67))
U12_gaa(T33, T34, T35, X67, appendc23_out_gaa(T34, T35, X67)) → appendc23_out_gaa(cons(T33, T34), T35, cons(T33, X67))
U11_ga(T17, T18, X41, appendc23_out_gaa(T19, T17, X41)) → reversec7_out_ga(cons(T17, T18), X41)

The argument filtering Pi contains the following mapping:
cons(x1, x2)  =  cons(x2)
reversec7_in_ga(x1, x2)  =  reversec7_in_ga(x1)
nil  =  nil
reversec7_out_ga(x1, x2)  =  reversec7_out_ga(x1, x2)
U10_ga(x1, x2, x3, x4)  =  U10_ga(x2, x4)
U11_ga(x1, x2, x3, x4)  =  U11_ga(x2, x4)
appendc23_in_gaa(x1, x2, x3)  =  appendc23_in_gaa(x1)
appendc23_out_gaa(x1, x2, x3)  =  appendc23_out_gaa(x1, x3)
U12_gaa(x1, x2, x3, x4, x5)  =  U12_gaa(x2, x5)
REVERSE7_IN_GA(x1, x2)  =  REVERSE7_IN_GA(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:

REVERSE7_IN_GA(cons(T17, T18), X41) → REVERSE7_IN_GA(T18, X40)

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

REVERSE7_IN_GA(cons(T18)) → REVERSE7_IN_GA(T18)

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:

  • REVERSE7_IN_GA(cons(T18)) → REVERSE7_IN_GA(T18)
    The graph contains the following edges 1 > 1

(20) YES

(21) Obligation:

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

P6_IN_GAA(T6, cons(T42, T43), cons(T42, X87)) → U6_GAA(T6, T42, T43, X87, reversec7_in_ga(T6, cons(T42, T43)))
U6_GAA(T6, T42, T43, X87, reversec7_out_ga(T6, cons(T42, T43))) → P6_IN_GAA(T43, X86, X87)

The TRS R consists of the following rules:

reversec7_in_ga(nil, nil) → reversec7_out_ga(nil, nil)
reversec7_in_ga(cons(T12, nil), cons(T12, nil)) → reversec7_out_ga(cons(T12, nil), cons(T12, nil))
reversec7_in_ga(cons(T17, T18), X41) → U10_ga(T17, T18, X41, reversec7_in_ga(T18, T19))
U10_ga(T17, T18, X41, reversec7_out_ga(T18, T19)) → U11_ga(T17, T18, X41, appendc23_in_gaa(T19, T17, X41))
appendc23_in_gaa(nil, T26, cons(T26, nil)) → appendc23_out_gaa(nil, T26, cons(T26, nil))
appendc23_in_gaa(cons(T33, T34), T35, cons(T33, X67)) → U12_gaa(T33, T34, T35, X67, appendc23_in_gaa(T34, T35, X67))
U12_gaa(T33, T34, T35, X67, appendc23_out_gaa(T34, T35, X67)) → appendc23_out_gaa(cons(T33, T34), T35, cons(T33, X67))
U11_ga(T17, T18, X41, appendc23_out_gaa(T19, T17, X41)) → reversec7_out_ga(cons(T17, T18), X41)

The argument filtering Pi contains the following mapping:
cons(x1, x2)  =  cons(x2)
reversec7_in_ga(x1, x2)  =  reversec7_in_ga(x1)
nil  =  nil
reversec7_out_ga(x1, x2)  =  reversec7_out_ga(x1, x2)
U10_ga(x1, x2, x3, x4)  =  U10_ga(x2, x4)
U11_ga(x1, x2, x3, x4)  =  U11_ga(x2, x4)
appendc23_in_gaa(x1, x2, x3)  =  appendc23_in_gaa(x1)
appendc23_out_gaa(x1, x2, x3)  =  appendc23_out_gaa(x1, x3)
U12_gaa(x1, x2, x3, x4, x5)  =  U12_gaa(x2, x5)
P6_IN_GAA(x1, x2, x3)  =  P6_IN_GAA(x1)
U6_GAA(x1, x2, x3, x4, x5)  =  U6_GAA(x1, x5)

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

(22) PiDPToQDPProof (SOUND transformation)

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

(23) Obligation:

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

P6_IN_GAA(T6) → U6_GAA(T6, reversec7_in_ga(T6))
U6_GAA(T6, reversec7_out_ga(T6, cons(T43))) → P6_IN_GAA(T43)

The TRS R consists of the following rules:

reversec7_in_ga(nil) → reversec7_out_ga(nil, nil)
reversec7_in_ga(cons(nil)) → reversec7_out_ga(cons(nil), cons(nil))
reversec7_in_ga(cons(T18)) → U10_ga(T18, reversec7_in_ga(T18))
U10_ga(T18, reversec7_out_ga(T18, T19)) → U11_ga(T18, appendc23_in_gaa(T19))
appendc23_in_gaa(nil) → appendc23_out_gaa(nil, cons(nil))
appendc23_in_gaa(cons(T34)) → U12_gaa(T34, appendc23_in_gaa(T34))
U12_gaa(T34, appendc23_out_gaa(T34, X67)) → appendc23_out_gaa(cons(T34), cons(X67))
U11_ga(T18, appendc23_out_gaa(T19, X41)) → reversec7_out_ga(cons(T18), X41)

The set Q consists of the following terms:

reversec7_in_ga(x0)
U10_ga(x0, x1)
appendc23_in_gaa(x0)
U12_gaa(x0, x1)
U11_ga(x0, x1)

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

(24) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


P6_IN_GAA(T6) → U6_GAA(T6, reversec7_in_ga(T6))
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial interpretation [POLO]:

POL(P6_IN_GAA(x1)) = 1 + x1   
POL(U10_ga(x1, x2)) = 1 + x2   
POL(U11_ga(x1, x2)) = x2   
POL(U12_gaa(x1, x2)) = 1 + x2   
POL(U6_GAA(x1, x2)) = x2   
POL(appendc23_in_gaa(x1)) = 1 + x1   
POL(appendc23_out_gaa(x1, x2)) = x2   
POL(cons(x1)) = 1 + x1   
POL(nil) = 0   
POL(reversec7_in_ga(x1)) = x1   
POL(reversec7_out_ga(x1, x2)) = x2   

The following usable rules [FROCOS05] were oriented:

reversec7_in_ga(nil) → reversec7_out_ga(nil, nil)
reversec7_in_ga(cons(nil)) → reversec7_out_ga(cons(nil), cons(nil))
reversec7_in_ga(cons(T18)) → U10_ga(T18, reversec7_in_ga(T18))
U10_ga(T18, reversec7_out_ga(T18, T19)) → U11_ga(T18, appendc23_in_gaa(T19))
appendc23_in_gaa(nil) → appendc23_out_gaa(nil, cons(nil))
appendc23_in_gaa(cons(T34)) → U12_gaa(T34, appendc23_in_gaa(T34))
U11_ga(T18, appendc23_out_gaa(T19, X41)) → reversec7_out_ga(cons(T18), X41)
U12_gaa(T34, appendc23_out_gaa(T34, X67)) → appendc23_out_gaa(cons(T34), cons(X67))

(25) Obligation:

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

U6_GAA(T6, reversec7_out_ga(T6, cons(T43))) → P6_IN_GAA(T43)

The TRS R consists of the following rules:

reversec7_in_ga(nil) → reversec7_out_ga(nil, nil)
reversec7_in_ga(cons(nil)) → reversec7_out_ga(cons(nil), cons(nil))
reversec7_in_ga(cons(T18)) → U10_ga(T18, reversec7_in_ga(T18))
U10_ga(T18, reversec7_out_ga(T18, T19)) → U11_ga(T18, appendc23_in_gaa(T19))
appendc23_in_gaa(nil) → appendc23_out_gaa(nil, cons(nil))
appendc23_in_gaa(cons(T34)) → U12_gaa(T34, appendc23_in_gaa(T34))
U12_gaa(T34, appendc23_out_gaa(T34, X67)) → appendc23_out_gaa(cons(T34), cons(X67))
U11_ga(T18, appendc23_out_gaa(T19, X41)) → reversec7_out_ga(cons(T18), X41)

The set Q consists of the following terms:

reversec7_in_ga(x0)
U10_ga(x0, x1)
appendc23_in_gaa(x0)
U12_gaa(x0, x1)
U11_ga(x0, x1)

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

(26) DependencyGraphProof (EQUIVALENT transformation)

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

(27) TRUE