lt#( s( X ) , s( Y ) ) | → | lt#( X , Y ) |
append#( add( N , X ) , Y ) | → | append#( X , Y ) |
split#( N , add( M , Y ) ) | → | f_1#( split( N , Y ) , N , M , Y ) |
split#( N , add( M , Y ) ) | → | split#( N , Y ) |
f_1#( pair( X , Z ) , N , M , Y ) | → | f_2#( lt( N , M ) , N , M , Y , X , Z ) |
f_1#( pair( X , Z ) , N , M , Y ) | → | lt#( N , M ) |
qsort#( add( N , X ) ) | → | f_3#( split( N , X ) , N , X ) |
qsort#( add( N , X ) ) | → | split#( N , X ) |
f_3#( pair( Y , Z ) , N , X ) | → | append#( qsort( Y ) , add( X , qsort( Z ) ) ) |
f_3#( pair( Y , Z ) , N , X ) | → | qsort#( Y ) |
f_3#( pair( Y , Z ) , N , X ) | → | qsort#( Z ) |
The dependency pairs are split into 4 component(s).
qsort#( add( N , X ) ) | → | f_3#( split( N , X ) , N , X ) |
f_3#( pair( Y , Z ) , N , X ) | → | qsort#( Y ) |
f_3#( pair( Y , Z ) , N , X ) | → | qsort#( Z ) |
Linear polynomial interpretation over the naturals
[qsort# (x1) ] | = | 2 x1 | |
[lt (x1, x2) ] | = | 0 | |
[f_1 (x1, ..., x4) ] | = | x1 + 1 | |
[0] | = | 0 | |
[qsort (x1) ] | = | 2 x1 | |
[nil] | = | 0 | |
[pair (x1, x2) ] | = | x1 + x2 | |
[true] | = | 0 | |
[append (x1, x2) ] | = | x1 + x2 | |
[f_3# (x1, x2, x3) ] | = | 2 x1 + 2 | |
[false] | = | 0 | |
[add (x1, x2) ] | = | x1 + 1 | |
[split (x1, x2) ] | = | x1 | |
[s (x1) ] | = | 0 | |
[f_2 (x1, ..., x6) ] | = | x1 + x2 + 1 | |
[f_3 (x1, x2, x3) ] | = | 2 x1 + 1 | |
[f(x1, ..., xn)] | = | x1 + ... + xn + 1 | for all other symbols f of arity n |
qsort#( add( N , X ) ) | → | f_3#( split( N , X ) , N , X ) |
The dependency pairs are split into 0 component(s).
split#( N , add( M , Y ) ) | → | split#( N , Y ) |
Linear polynomial interpretation over the naturals
[lt (x1, x2) ] | = | 2 | |
[f_1 (x1, ..., x4) ] | = | x1 + 2 | |
[0] | = | 0 | |
[qsort (x1) ] | = | x1 | |
[nil] | = | 0 | |
[pair (x1, x2) ] | = | x1 + x2 | |
[true] | = | 2 | |
[append (x1, x2) ] | = | x1 + x2 | |
[false] | = | 2 | |
[add (x1, x2) ] | = | x1 + 2 | |
[split (x1, x2) ] | = | x1 | |
[s (x1) ] | = | 0 | |
[f_2 (x1, ..., x6) ] | = | x1 + x2 + x3 | |
[f_3 (x1, x2, x3) ] | = | x1 + 2 | |
[split# (x1, x2) ] | = | x1 | |
[f(x1, ..., xn)] | = | x1 + ... + xn + 1 | for all other symbols f of arity n |
none |
All dependency pairs have been removed.
lt#( s( X ) , s( Y ) ) | → | lt#( X , Y ) |
Linear polynomial interpretation over the naturals
[lt (x1, x2) ] | = | x1 | |
[f_1 (x1, ..., x4) ] | = | 3 x1 | |
[0] | = | 1 | |
[qsort (x1) ] | = | 0 | |
[nil] | = | 0 | |
[pair (x1, x2) ] | = | 2 x1 + x2 | |
[true] | = | 0 | |
[append (x1, x2) ] | = | x1 | |
[false] | = | 0 | |
[add (x1, x2) ] | = | 0 | |
[split (x1, x2) ] | = | 0 | |
[s (x1) ] | = | 2 x1 + 1 | |
[f_2 (x1, ..., x6) ] | = | 3 x1 + 2 x2 | |
[lt# (x1, x2) ] | = | x1 | |
[f_3 (x1, x2, x3) ] | = | x1 | |
[f(x1, ..., xn)] | = | x1 + ... + xn + 1 | for all other symbols f of arity n |
none |
All dependency pairs have been removed.
append#( add( N , X ) , Y ) | → | append#( X , Y ) |
Linear polynomial interpretation over the naturals
[lt (x1, x2) ] | = | 2 | |
[f_1 (x1, ..., x4) ] | = | x1 + 2 | |
[0] | = | 0 | |
[qsort (x1) ] | = | x1 | |
[nil] | = | 0 | |
[pair (x1, x2) ] | = | x1 + x2 | |
[append# (x1, x2) ] | = | x1 | |
[true] | = | 2 | |
[append (x1, x2) ] | = | x1 + x2 | |
[false] | = | 2 | |
[add (x1, x2) ] | = | x1 + 2 | |
[split (x1, x2) ] | = | x1 | |
[s (x1) ] | = | 0 | |
[f_2 (x1, ..., x6) ] | = | x1 + x2 + x3 | |
[f_3 (x1, x2, x3) ] | = | x1 + 2 | |
[f(x1, ..., xn)] | = | x1 + ... + xn + 1 | for all other symbols f of arity n |
none |
All dependency pairs have been removed.