(0) Obligation:

Clauses:

p(cons(X, nil)).
p(cons(s(s(X)), cons(Y, Xs))) :- ','(p(cons(X, cons(Y, Xs))), ','(mult(X, Y, Z), p(cons(Z, Xs)))).
p(cons(0, Xs)) :- p(Xs).
sum(X, 0, X).
sum(X, s(Y), s(Z)) :- sum(X, Y, Z).
mult(X1, 0, 0).
mult(X, s(Y), Z) :- ','(mult(X, Y, W), sum(W, X, Z)).

Query: p(g)

(1) PrologToTRSTransformerProof (SOUND transformation)

Transformed Prolog program to TRS.

(2) Obligation:

Q restricted rewrite system:
The TRS R consists of the following rules:

f3_in(cons(T6, nil)) → f3_out1
f3_in(cons(s(s(T19)), cons(T20, T21))) → U1(f34_in(T19, T20, T21), cons(s(s(T19)), cons(T20, T21)))
U1(f34_out1(X24), cons(s(s(T19)), cons(T20, T21))) → f3_out1
f3_in(cons(0, T66)) → U2(f3_in(T66), cons(0, T66))
U2(f3_out1, cons(0, T66)) → f3_out1
f60_in(T35, 0) → f60_out1(0)
f60_in(T40, s(T41)) → U3(f99_in(T40, T41), T40, s(T41))
U3(f99_out1(X50, X51), T40, s(T41)) → f60_out1(X51)
f107_in(T53, 0) → f107_out1(T53)
f107_in(T58, s(T59)) → U4(f107_in(T58, T59), T58, s(T59))
U4(f107_out1(X74), T58, s(T59)) → f107_out1(s(X74))
f34_in(T19, T20, T21) → U5(f3_in(cons(T19, cons(T20, T21))), T19, T20, T21)
U5(f3_out1, T19, T20, T21) → U6(f49_in(T19, T20, T21), T19, T20, T21)
U6(f49_out1(X24), T19, T20, T21) → f34_out1(X24)
f49_in(T19, T20, T21) → U7(f60_in(T19, T20), T19, T20, T21)
U7(f60_out1(T28), T19, T20, T21) → U8(f3_in(cons(T28, T21)), T19, T20, T21, T28)
U8(f3_out1, T19, T20, T21, T28) → f49_out1(T28)
f99_in(T40, T41) → U9(f60_in(T40, T41), T40, T41)
U9(f60_out1(T44), T40, T41) → U10(f107_in(T44, T40), T40, T41, T44)
U10(f107_out1(X51), T40, T41, T44) → f99_out1(T44, X51)

Q is empty.

(3) DependencyPairsProof (EQUIVALENT transformation)

Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem.

(4) Obligation:

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

F3_IN(cons(s(s(T19)), cons(T20, T21))) → U11(f34_in(T19, T20, T21), cons(s(s(T19)), cons(T20, T21)))
F3_IN(cons(s(s(T19)), cons(T20, T21))) → F34_IN(T19, T20, T21)
F3_IN(cons(0, T66)) → U21(f3_in(T66), cons(0, T66))
F3_IN(cons(0, T66)) → F3_IN(T66)
F60_IN(T40, s(T41)) → U31(f99_in(T40, T41), T40, s(T41))
F60_IN(T40, s(T41)) → F99_IN(T40, T41)
F107_IN(T58, s(T59)) → U41(f107_in(T58, T59), T58, s(T59))
F107_IN(T58, s(T59)) → F107_IN(T58, T59)
F34_IN(T19, T20, T21) → U51(f3_in(cons(T19, cons(T20, T21))), T19, T20, T21)
F34_IN(T19, T20, T21) → F3_IN(cons(T19, cons(T20, T21)))
U51(f3_out1, T19, T20, T21) → U61(f49_in(T19, T20, T21), T19, T20, T21)
U51(f3_out1, T19, T20, T21) → F49_IN(T19, T20, T21)
F49_IN(T19, T20, T21) → U71(f60_in(T19, T20), T19, T20, T21)
F49_IN(T19, T20, T21) → F60_IN(T19, T20)
U71(f60_out1(T28), T19, T20, T21) → U81(f3_in(cons(T28, T21)), T19, T20, T21, T28)
U71(f60_out1(T28), T19, T20, T21) → F3_IN(cons(T28, T21))
F99_IN(T40, T41) → U91(f60_in(T40, T41), T40, T41)
F99_IN(T40, T41) → F60_IN(T40, T41)
U91(f60_out1(T44), T40, T41) → U101(f107_in(T44, T40), T40, T41, T44)
U91(f60_out1(T44), T40, T41) → F107_IN(T44, T40)

The TRS R consists of the following rules:

f3_in(cons(T6, nil)) → f3_out1
f3_in(cons(s(s(T19)), cons(T20, T21))) → U1(f34_in(T19, T20, T21), cons(s(s(T19)), cons(T20, T21)))
U1(f34_out1(X24), cons(s(s(T19)), cons(T20, T21))) → f3_out1
f3_in(cons(0, T66)) → U2(f3_in(T66), cons(0, T66))
U2(f3_out1, cons(0, T66)) → f3_out1
f60_in(T35, 0) → f60_out1(0)
f60_in(T40, s(T41)) → U3(f99_in(T40, T41), T40, s(T41))
U3(f99_out1(X50, X51), T40, s(T41)) → f60_out1(X51)
f107_in(T53, 0) → f107_out1(T53)
f107_in(T58, s(T59)) → U4(f107_in(T58, T59), T58, s(T59))
U4(f107_out1(X74), T58, s(T59)) → f107_out1(s(X74))
f34_in(T19, T20, T21) → U5(f3_in(cons(T19, cons(T20, T21))), T19, T20, T21)
U5(f3_out1, T19, T20, T21) → U6(f49_in(T19, T20, T21), T19, T20, T21)
U6(f49_out1(X24), T19, T20, T21) → f34_out1(X24)
f49_in(T19, T20, T21) → U7(f60_in(T19, T20), T19, T20, T21)
U7(f60_out1(T28), T19, T20, T21) → U8(f3_in(cons(T28, T21)), T19, T20, T21, T28)
U8(f3_out1, T19, T20, T21, T28) → f49_out1(T28)
f99_in(T40, T41) → U9(f60_in(T40, T41), T40, T41)
U9(f60_out1(T44), T40, T41) → U10(f107_in(T44, T40), T40, T41, T44)
U10(f107_out1(X51), T40, T41, T44) → f99_out1(T44, X51)

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

(5) DependencyGraphProof (EQUIVALENT transformation)

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

(6) Complex Obligation (AND)

(7) Obligation:

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

F107_IN(T58, s(T59)) → F107_IN(T58, T59)

The TRS R consists of the following rules:

f3_in(cons(T6, nil)) → f3_out1
f3_in(cons(s(s(T19)), cons(T20, T21))) → U1(f34_in(T19, T20, T21), cons(s(s(T19)), cons(T20, T21)))
U1(f34_out1(X24), cons(s(s(T19)), cons(T20, T21))) → f3_out1
f3_in(cons(0, T66)) → U2(f3_in(T66), cons(0, T66))
U2(f3_out1, cons(0, T66)) → f3_out1
f60_in(T35, 0) → f60_out1(0)
f60_in(T40, s(T41)) → U3(f99_in(T40, T41), T40, s(T41))
U3(f99_out1(X50, X51), T40, s(T41)) → f60_out1(X51)
f107_in(T53, 0) → f107_out1(T53)
f107_in(T58, s(T59)) → U4(f107_in(T58, T59), T58, s(T59))
U4(f107_out1(X74), T58, s(T59)) → f107_out1(s(X74))
f34_in(T19, T20, T21) → U5(f3_in(cons(T19, cons(T20, T21))), T19, T20, T21)
U5(f3_out1, T19, T20, T21) → U6(f49_in(T19, T20, T21), T19, T20, T21)
U6(f49_out1(X24), T19, T20, T21) → f34_out1(X24)
f49_in(T19, T20, T21) → U7(f60_in(T19, T20), T19, T20, T21)
U7(f60_out1(T28), T19, T20, T21) → U8(f3_in(cons(T28, T21)), T19, T20, T21, T28)
U8(f3_out1, T19, T20, T21, T28) → f49_out1(T28)
f99_in(T40, T41) → U9(f60_in(T40, T41), T40, T41)
U9(f60_out1(T44), T40, T41) → U10(f107_in(T44, T40), T40, T41, T44)
U10(f107_out1(X51), T40, T41, T44) → f99_out1(T44, X51)

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

(8) UsableRulesProof (EQUIVALENT transformation)

We can use the usable rules and reduction pair processor [LPAR04] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its arguments. Then, we can delete all non-usable rules [FROCOS05] from R.

(9) Obligation:

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

F107_IN(T58, s(T59)) → F107_IN(T58, T59)

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

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

  • F107_IN(T58, s(T59)) → F107_IN(T58, T59)
    The graph contains the following edges 1 >= 1, 2 > 2

(11) YES

(12) Obligation:

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

F60_IN(T40, s(T41)) → F99_IN(T40, T41)
F99_IN(T40, T41) → F60_IN(T40, T41)

The TRS R consists of the following rules:

f3_in(cons(T6, nil)) → f3_out1
f3_in(cons(s(s(T19)), cons(T20, T21))) → U1(f34_in(T19, T20, T21), cons(s(s(T19)), cons(T20, T21)))
U1(f34_out1(X24), cons(s(s(T19)), cons(T20, T21))) → f3_out1
f3_in(cons(0, T66)) → U2(f3_in(T66), cons(0, T66))
U2(f3_out1, cons(0, T66)) → f3_out1
f60_in(T35, 0) → f60_out1(0)
f60_in(T40, s(T41)) → U3(f99_in(T40, T41), T40, s(T41))
U3(f99_out1(X50, X51), T40, s(T41)) → f60_out1(X51)
f107_in(T53, 0) → f107_out1(T53)
f107_in(T58, s(T59)) → U4(f107_in(T58, T59), T58, s(T59))
U4(f107_out1(X74), T58, s(T59)) → f107_out1(s(X74))
f34_in(T19, T20, T21) → U5(f3_in(cons(T19, cons(T20, T21))), T19, T20, T21)
U5(f3_out1, T19, T20, T21) → U6(f49_in(T19, T20, T21), T19, T20, T21)
U6(f49_out1(X24), T19, T20, T21) → f34_out1(X24)
f49_in(T19, T20, T21) → U7(f60_in(T19, T20), T19, T20, T21)
U7(f60_out1(T28), T19, T20, T21) → U8(f3_in(cons(T28, T21)), T19, T20, T21, T28)
U8(f3_out1, T19, T20, T21, T28) → f49_out1(T28)
f99_in(T40, T41) → U9(f60_in(T40, T41), T40, T41)
U9(f60_out1(T44), T40, T41) → U10(f107_in(T44, T40), T40, T41, T44)
U10(f107_out1(X51), T40, T41, T44) → f99_out1(T44, X51)

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

(13) UsableRulesProof (EQUIVALENT transformation)

We can use the usable rules and reduction pair processor [LPAR04] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its arguments. Then, we can delete all non-usable rules [FROCOS05] from R.

(14) Obligation:

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

F60_IN(T40, s(T41)) → F99_IN(T40, T41)
F99_IN(T40, T41) → F60_IN(T40, T41)

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

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

  • F99_IN(T40, T41) → F60_IN(T40, T41)
    The graph contains the following edges 1 >= 1, 2 >= 2

  • F60_IN(T40, s(T41)) → F99_IN(T40, T41)
    The graph contains the following edges 1 >= 1, 2 > 2

(16) YES

(17) Obligation:

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

F3_IN(cons(s(s(T19)), cons(T20, T21))) → F34_IN(T19, T20, T21)
F34_IN(T19, T20, T21) → U51(f3_in(cons(T19, cons(T20, T21))), T19, T20, T21)
U51(f3_out1, T19, T20, T21) → F49_IN(T19, T20, T21)
F49_IN(T19, T20, T21) → U71(f60_in(T19, T20), T19, T20, T21)
U71(f60_out1(T28), T19, T20, T21) → F3_IN(cons(T28, T21))
F3_IN(cons(0, T66)) → F3_IN(T66)
F34_IN(T19, T20, T21) → F3_IN(cons(T19, cons(T20, T21)))

The TRS R consists of the following rules:

f3_in(cons(T6, nil)) → f3_out1
f3_in(cons(s(s(T19)), cons(T20, T21))) → U1(f34_in(T19, T20, T21), cons(s(s(T19)), cons(T20, T21)))
U1(f34_out1(X24), cons(s(s(T19)), cons(T20, T21))) → f3_out1
f3_in(cons(0, T66)) → U2(f3_in(T66), cons(0, T66))
U2(f3_out1, cons(0, T66)) → f3_out1
f60_in(T35, 0) → f60_out1(0)
f60_in(T40, s(T41)) → U3(f99_in(T40, T41), T40, s(T41))
U3(f99_out1(X50, X51), T40, s(T41)) → f60_out1(X51)
f107_in(T53, 0) → f107_out1(T53)
f107_in(T58, s(T59)) → U4(f107_in(T58, T59), T58, s(T59))
U4(f107_out1(X74), T58, s(T59)) → f107_out1(s(X74))
f34_in(T19, T20, T21) → U5(f3_in(cons(T19, cons(T20, T21))), T19, T20, T21)
U5(f3_out1, T19, T20, T21) → U6(f49_in(T19, T20, T21), T19, T20, T21)
U6(f49_out1(X24), T19, T20, T21) → f34_out1(X24)
f49_in(T19, T20, T21) → U7(f60_in(T19, T20), T19, T20, T21)
U7(f60_out1(T28), T19, T20, T21) → U8(f3_in(cons(T28, T21)), T19, T20, T21, T28)
U8(f3_out1, T19, T20, T21, T28) → f49_out1(T28)
f99_in(T40, T41) → U9(f60_in(T40, T41), T40, T41)
U9(f60_out1(T44), T40, T41) → U10(f107_in(T44, T40), T40, T41, T44)
U10(f107_out1(X51), T40, T41, T44) → f99_out1(T44, X51)

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

(18) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04,JAR06].


The following pairs can be oriented strictly and are deleted.


F3_IN(cons(0, T66)) → F3_IN(T66)
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial interpretation [POLO]:

POL(0) = 1   
POL(F34_IN(x1, x2, x3)) = x1 + x2 + x3   
POL(F3_IN(x1)) = x1   
POL(F49_IN(x1, x2, x3)) = x2 + x3   
POL(U1(x1, x2)) = 0   
POL(U10(x1, x2, x3, x4)) = x1   
POL(U2(x1, x2)) = 0   
POL(U3(x1, x2, x3)) = x1   
POL(U4(x1, x2, x3)) = x1   
POL(U5(x1, x2, x3, x4)) = 1   
POL(U51(x1, x2, x3, x4)) = x3 + x4   
POL(U6(x1, x2, x3, x4)) = 1   
POL(U7(x1, x2, x3, x4)) = 0   
POL(U71(x1, x2, x3, x4)) = x1 + x4   
POL(U8(x1, x2, x3, x4, x5)) = 0   
POL(U9(x1, x2, x3)) = x1   
POL(cons(x1, x2)) = x1 + x2   
POL(f107_in(x1, x2)) = x1   
POL(f107_out1(x1)) = x1   
POL(f34_in(x1, x2, x3)) = 1 + x3   
POL(f34_out1(x1)) = 0   
POL(f3_in(x1)) = 0   
POL(f3_out1) = 0   
POL(f49_in(x1, x2, x3)) = 1   
POL(f49_out1(x1)) = 0   
POL(f60_in(x1, x2)) = x2   
POL(f60_out1(x1)) = x1   
POL(f99_in(x1, x2)) = x2   
POL(f99_out1(x1, x2)) = x2   
POL(nil) = 0   
POL(s(x1)) = x1   

The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented:

f60_in(T35, 0) → f60_out1(0)
f60_in(T40, s(T41)) → U3(f99_in(T40, T41), T40, s(T41))
U3(f99_out1(X50, X51), T40, s(T41)) → f60_out1(X51)
f99_in(T40, T41) → U9(f60_in(T40, T41), T40, T41)
U9(f60_out1(T44), T40, T41) → U10(f107_in(T44, T40), T40, T41, T44)
f107_in(T53, 0) → f107_out1(T53)
f107_in(T58, s(T59)) → U4(f107_in(T58, T59), T58, s(T59))
U10(f107_out1(X51), T40, T41, T44) → f99_out1(T44, X51)
U4(f107_out1(X74), T58, s(T59)) → f107_out1(s(X74))

(19) Obligation:

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

F3_IN(cons(s(s(T19)), cons(T20, T21))) → F34_IN(T19, T20, T21)
F34_IN(T19, T20, T21) → U51(f3_in(cons(T19, cons(T20, T21))), T19, T20, T21)
U51(f3_out1, T19, T20, T21) → F49_IN(T19, T20, T21)
F49_IN(T19, T20, T21) → U71(f60_in(T19, T20), T19, T20, T21)
U71(f60_out1(T28), T19, T20, T21) → F3_IN(cons(T28, T21))
F34_IN(T19, T20, T21) → F3_IN(cons(T19, cons(T20, T21)))

The TRS R consists of the following rules:

f3_in(cons(T6, nil)) → f3_out1
f3_in(cons(s(s(T19)), cons(T20, T21))) → U1(f34_in(T19, T20, T21), cons(s(s(T19)), cons(T20, T21)))
U1(f34_out1(X24), cons(s(s(T19)), cons(T20, T21))) → f3_out1
f3_in(cons(0, T66)) → U2(f3_in(T66), cons(0, T66))
U2(f3_out1, cons(0, T66)) → f3_out1
f60_in(T35, 0) → f60_out1(0)
f60_in(T40, s(T41)) → U3(f99_in(T40, T41), T40, s(T41))
U3(f99_out1(X50, X51), T40, s(T41)) → f60_out1(X51)
f107_in(T53, 0) → f107_out1(T53)
f107_in(T58, s(T59)) → U4(f107_in(T58, T59), T58, s(T59))
U4(f107_out1(X74), T58, s(T59)) → f107_out1(s(X74))
f34_in(T19, T20, T21) → U5(f3_in(cons(T19, cons(T20, T21))), T19, T20, T21)
U5(f3_out1, T19, T20, T21) → U6(f49_in(T19, T20, T21), T19, T20, T21)
U6(f49_out1(X24), T19, T20, T21) → f34_out1(X24)
f49_in(T19, T20, T21) → U7(f60_in(T19, T20), T19, T20, T21)
U7(f60_out1(T28), T19, T20, T21) → U8(f3_in(cons(T28, T21)), T19, T20, T21, T28)
U8(f3_out1, T19, T20, T21, T28) → f49_out1(T28)
f99_in(T40, T41) → U9(f60_in(T40, T41), T40, T41)
U9(f60_out1(T44), T40, T41) → U10(f107_in(T44, T40), T40, T41, T44)
U10(f107_out1(X51), T40, T41, T44) → f99_out1(T44, X51)

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

(20) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04,JAR06].


The following pairs can be oriented strictly and are deleted.


U71(f60_out1(T28), T19, T20, T21) → F3_IN(cons(T28, T21))
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation:

POL( U51(x1, ..., x4) ) = 2x4 + 2


POL( f3_in(x1) ) = max{0, -2}


POL( cons(x1, x2) ) = x2 + 1


POL( s(x1) ) = 0


POL( U1(x1, x2) ) = max{0, 2x1 - 1}


POL( f34_in(x1, ..., x3) ) = x2 + x3


POL( 0 ) = 2


POL( U2(x1, x2) ) = max{0, -1}


POL( U71(x1, ..., x4) ) = 2x4 + 2


POL( U7(x1, ..., x4) ) = 2x2 + x3 + x4 + 2


POL( f60_in(x1, x2) ) = 2x1


POL( f60_out1(x1) ) = max{0, 2x1 - 2}


POL( U3(x1, ..., x3) ) = max{0, x1 - 2}


POL( f99_in(x1, x2) ) = x1 + x2 + 1


POL( f34_out1(x1) ) = 2x1


POL( f3_out1 ) = 0


POL( U5(x1, ..., x4) ) = max{0, x1 + 2x3 + 2x4 - 2}


POL( U8(x1, ..., x5) ) = max{0, 2x1 - 2}


POL( nil ) = 2


POL( U6(x1, ..., x4) ) = 2x1 + x2 + 2x3 + x4


POL( f49_in(x1, ..., x3) ) = 2x1 + x2 + 2x3


POL( f49_out1(x1) ) = 2


POL( f99_out1(x1, x2) ) = 2x1 + x2 + 2


POL( U9(x1, ..., x3) ) = max{0, 2x1 + 2x2 + 2x3 - 1}


POL( U10(x1, ..., x4) ) = max{0, -2}


POL( f107_in(x1, x2) ) = 2x1 + x2


POL( f107_out1(x1) ) = max{0, 2x1 - 2}


POL( U4(x1, ..., x3) ) = max{0, 2x1 + x2 - 2}


POL( F3_IN(x1) ) = max{0, 2x1 - 2}


POL( F34_IN(x1, ..., x3) ) = 2x3 + 2


POL( F49_IN(x1, ..., x3) ) = 2x3 + 2



The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented:
none

(21) Obligation:

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

F3_IN(cons(s(s(T19)), cons(T20, T21))) → F34_IN(T19, T20, T21)
F34_IN(T19, T20, T21) → U51(f3_in(cons(T19, cons(T20, T21))), T19, T20, T21)
U51(f3_out1, T19, T20, T21) → F49_IN(T19, T20, T21)
F49_IN(T19, T20, T21) → U71(f60_in(T19, T20), T19, T20, T21)
F34_IN(T19, T20, T21) → F3_IN(cons(T19, cons(T20, T21)))

The TRS R consists of the following rules:

f3_in(cons(T6, nil)) → f3_out1
f3_in(cons(s(s(T19)), cons(T20, T21))) → U1(f34_in(T19, T20, T21), cons(s(s(T19)), cons(T20, T21)))
U1(f34_out1(X24), cons(s(s(T19)), cons(T20, T21))) → f3_out1
f3_in(cons(0, T66)) → U2(f3_in(T66), cons(0, T66))
U2(f3_out1, cons(0, T66)) → f3_out1
f60_in(T35, 0) → f60_out1(0)
f60_in(T40, s(T41)) → U3(f99_in(T40, T41), T40, s(T41))
U3(f99_out1(X50, X51), T40, s(T41)) → f60_out1(X51)
f107_in(T53, 0) → f107_out1(T53)
f107_in(T58, s(T59)) → U4(f107_in(T58, T59), T58, s(T59))
U4(f107_out1(X74), T58, s(T59)) → f107_out1(s(X74))
f34_in(T19, T20, T21) → U5(f3_in(cons(T19, cons(T20, T21))), T19, T20, T21)
U5(f3_out1, T19, T20, T21) → U6(f49_in(T19, T20, T21), T19, T20, T21)
U6(f49_out1(X24), T19, T20, T21) → f34_out1(X24)
f49_in(T19, T20, T21) → U7(f60_in(T19, T20), T19, T20, T21)
U7(f60_out1(T28), T19, T20, T21) → U8(f3_in(cons(T28, T21)), T19, T20, T21, T28)
U8(f3_out1, T19, T20, T21, T28) → f49_out1(T28)
f99_in(T40, T41) → U9(f60_in(T40, T41), T40, T41)
U9(f60_out1(T44), T40, T41) → U10(f107_in(T44, T40), T40, T41, T44)
U10(f107_out1(X51), T40, T41, T44) → f99_out1(T44, X51)

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

(22) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 3 less nodes.

(23) Obligation:

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

F34_IN(T19, T20, T21) → F3_IN(cons(T19, cons(T20, T21)))
F3_IN(cons(s(s(T19)), cons(T20, T21))) → F34_IN(T19, T20, T21)

The TRS R consists of the following rules:

f3_in(cons(T6, nil)) → f3_out1
f3_in(cons(s(s(T19)), cons(T20, T21))) → U1(f34_in(T19, T20, T21), cons(s(s(T19)), cons(T20, T21)))
U1(f34_out1(X24), cons(s(s(T19)), cons(T20, T21))) → f3_out1
f3_in(cons(0, T66)) → U2(f3_in(T66), cons(0, T66))
U2(f3_out1, cons(0, T66)) → f3_out1
f60_in(T35, 0) → f60_out1(0)
f60_in(T40, s(T41)) → U3(f99_in(T40, T41), T40, s(T41))
U3(f99_out1(X50, X51), T40, s(T41)) → f60_out1(X51)
f107_in(T53, 0) → f107_out1(T53)
f107_in(T58, s(T59)) → U4(f107_in(T58, T59), T58, s(T59))
U4(f107_out1(X74), T58, s(T59)) → f107_out1(s(X74))
f34_in(T19, T20, T21) → U5(f3_in(cons(T19, cons(T20, T21))), T19, T20, T21)
U5(f3_out1, T19, T20, T21) → U6(f49_in(T19, T20, T21), T19, T20, T21)
U6(f49_out1(X24), T19, T20, T21) → f34_out1(X24)
f49_in(T19, T20, T21) → U7(f60_in(T19, T20), T19, T20, T21)
U7(f60_out1(T28), T19, T20, T21) → U8(f3_in(cons(T28, T21)), T19, T20, T21, T28)
U8(f3_out1, T19, T20, T21, T28) → f49_out1(T28)
f99_in(T40, T41) → U9(f60_in(T40, T41), T40, T41)
U9(f60_out1(T44), T40, T41) → U10(f107_in(T44, T40), T40, T41, T44)
U10(f107_out1(X51), T40, T41, T44) → f99_out1(T44, X51)

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

(24) UsableRulesProof (EQUIVALENT transformation)

We can use the usable rules and reduction pair processor [LPAR04] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its arguments. Then, we can delete all non-usable rules [FROCOS05] from R.

(25) Obligation:

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

F34_IN(T19, T20, T21) → F3_IN(cons(T19, cons(T20, T21)))
F3_IN(cons(s(s(T19)), cons(T20, T21))) → F34_IN(T19, T20, T21)

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

(26) UsableRulesReductionPairsProof (EQUIVALENT transformation)

By using the usable rules with reduction pair processor [LPAR04] with a polynomial ordering [POLO], all dependency pairs and the corresponding usable rules [FROCOS05] can be oriented non-strictly. All non-usable rules are removed, and those dependency pairs and usable rules that have been oriented strictly or contain non-usable symbols in their left-hand side are removed as well.

The following dependency pairs can be deleted:

F3_IN(cons(s(s(T19)), cons(T20, T21))) → F34_IN(T19, T20, T21)
No rules are removed from R.

Used ordering: POLO with Polynomial interpretation [POLO]:

POL(F34_IN(x1, x2, x3)) = x1 + x2 + x3   
POL(F3_IN(x1)) = x1   
POL(cons(x1, x2)) = x1 + x2   
POL(s(x1)) = 2·x1   

(27) Obligation:

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

F34_IN(T19, T20, T21) → F3_IN(cons(T19, cons(T20, T21)))

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

(28) DependencyGraphProof (EQUIVALENT transformation)

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

(29) TRUE