| 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.