app#( app( app( compose , f ) , g ) , x ) | → | app#( g , app( f , x ) ) |
app#( app( app( compose , f ) , g ) , x ) | → | app#( f , x ) |
app#( reverse , l ) | → | app#( app( reverse2 , l ) , nil ) |
app#( reverse , l ) | → | app#( reverse2 , l ) |
app#( app( reverse2 , app( app( cons , x ) , xs ) ) , l ) | → | app#( app( reverse2 , xs ) , app( app( cons , x ) , l ) ) |
app#( app( reverse2 , app( app( cons , x ) , xs ) ) , l ) | → | app#( reverse2 , xs ) |
app#( app( reverse2 , app( app( cons , x ) , xs ) ) , l ) | → | app#( app( cons , x ) , l ) |
app#( app( reverse2 , app( app( cons , x ) , xs ) ) , l ) | → | app#( cons , x ) |
last# | → | app#( app( compose , hd ) , reverse ) |
last# | → | app#( compose , hd ) |
init# | → | app#( app( compose , reverse ) , app( app( compose , tl ) , reverse ) ) |
init# | → | app#( compose , reverse ) |
init# | → | app#( app( compose , tl ) , reverse ) |
init# | → | app#( compose , tl ) |
The dependency pairs are split into 1 component(s).
app#( app( app( compose , f ) , g ) , x ) | → | app#( f , x ) |
app#( app( app( compose , f ) , g ) , x ) | → | app#( g , app( f , x ) ) |
app#( reverse , l ) | → | app#( app( reverse2 , l ) , nil ) |
app#( app( reverse2 , app( app( cons , x ) , xs ) ) , l ) | → | app#( app( reverse2 , xs ) , app( app( cons , x ) , l ) ) |
app#( app( reverse2 , app( app( cons , x ) , xs ) ) , l ) | → | app#( app( cons , x ) , l ) |
Linear polynomial interpretation over the naturals
[last] | = | 1 | |
[hd] | = | 0 | |
[app (x1, x2) ] | = | x1 + x2 | |
[compose] | = | 0 | |
[tl] | = | 0 | |
[init] | = | 3 | |
[reverse2] | = | 0 | |
[app# (x1, x2) ] | = | 2 x1 + 2 x2 | |
[nil] | = | 0 | |
[reverse] | = | 1 | |
[cons] | = | 0 | |
[f(x1, ..., xn)] | = | x1 + ... + xn + 1 | for all other symbols f of arity n |
app#( app( app( compose , f ) , g ) , x ) | → | app#( f , x ) |
app#( app( app( compose , f ) , g ) , x ) | → | app#( g , app( f , x ) ) |
app#( app( reverse2 , app( app( cons , x ) , xs ) ) , l ) | → | app#( app( reverse2 , xs ) , app( app( cons , x ) , l ) ) |
app#( app( reverse2 , app( app( cons , x ) , xs ) ) , l ) | → | app#( app( cons , x ) , l ) |
Linear polynomial interpretation over the naturals
[last] | = | 1 | |
[hd] | = | 0 | |
[app (x1, x2) ] | = | x1 + x2 | |
[compose] | = | 1 | |
[tl] | = | 0 | |
[init] | = | 2 | |
[reverse2] | = | 0 | |
[app# (x1, x2) ] | = | x1 + x2 | |
[nil] | = | 0 | |
[cons] | = | 1 | |
[reverse] | = | 0 | |
[f(x1, ..., xn)] | = | x1 + ... + xn + 1 | for all other symbols f of arity n |
app#( app( reverse2 , app( app( cons , x ) , xs ) ) , l ) | → | app#( app( reverse2 , xs ) , app( app( cons , x ) , l ) ) |
app#( app( reverse2 , app( app( cons , x ) , xs ) ) , l ) | → | app#( app( cons , x ) , l ) |
Linear polynomial interpretation over the naturals
[last] | = | 3 | |
[hd] | = | 0 | |
[app (x1, x2) ] | = | x1 + x2 | |
[compose] | = | 0 | |
[tl] | = | 1 | |
[init] | = | 2 | |
[reverse2] | = | 0 | |
[app# (x1, x2) ] | = | 2 x1 + x2 | |
[nil] | = | 0 | |
[cons] | = | 1 | |
[reverse] | = | 0 | |
[f(x1, ..., xn)] | = | x1 + ... + xn + 1 | for all other symbols f of arity n |
app#( app( reverse2 , app( app( cons , x ) , xs ) ) , l ) | → | app#( app( cons , x ) , l ) |
Linear polynomial interpretation over the naturals
[last] | = | 2 | |
[hd] | = | 0 | |
[app (x1, x2) ] | = | x1 + x2 | |
[compose] | = | 0 | |
[tl] | = | 1 | |
[init] | = | 3 | |
[reverse2] | = | 1 | |
[app# (x1, x2) ] | = | 2 x1 | |
[nil] | = | 0 | |
[cons] | = | 0 | |
[reverse] | = | 1 | |
[f(x1, ..., xn)] | = | x1 + ... + xn + 1 | for all other symbols f of arity n |
none |
All dependency pairs have been removed.