rev#( cons( x , l ) ) | → | rev1#( x , l ) |
rev#( cons( x , l ) ) | → | rev2#( x , l ) |
rev1#( x , cons( y , l ) ) | → | rev1#( y , l ) |
rev2#( x , cons( y , l ) ) | → | rev#( cons( x , rev2( y , l ) ) ) |
rev2#( x , cons( y , l ) ) | → | rev2#( y , l ) |
The dependency pairs are split into 2 component(s).
rev#( cons( x , l ) ) | → | rev2#( x , l ) |
rev2#( x , cons( y , l ) ) | → | rev#( cons( x , rev2( y , l ) ) ) |
rev2#( x , cons( y , l ) ) | → | rev2#( y , l ) |
Linear polynomial interpretation over the naturals
[rev2# (x1, x2) ] | = | 3 x1 + 3 | |
[rev2 (x1, x2) ] | = | x1 | |
[rev (x1) ] | = | x1 | |
[rev1 (x1, x2) ] | = | 2 x1 | |
[rev# (x1) ] | = | x1 + 2 | |
[0] | = | 0 | |
[s (x1) ] | = | 0 | |
[nil] | = | 0 | |
[cons (x1, x2) ] | = | 3 x1 + 3 | |
[f(x1, ..., xn)] | = | x1 + ... + xn + 1 | for all other symbols f of arity n |
none |
All dependency pairs have been removed.
rev1#( x , cons( y , l ) ) | → | rev1#( y , l ) |
Linear polynomial interpretation over the naturals
[rev1# (x1, x2) ] | = | x1 + 3 x2 | |
[rev2 (x1, x2) ] | = | x1 + x2 | |
[rev (x1) ] | = | x1 | |
[rev1 (x1, x2) ] | = | 0 | |
[0] | = | 0 | |
[s (x1) ] | = | 0 | |
[nil] | = | 0 | |
[cons (x1, x2) ] | = | x1 + x2 + 1 | |
[f(x1, ..., xn)] | = | x1 + ... + xn + 1 | for all other symbols f of arity n |
none |
All dependency pairs have been removed.