The rewrite relation of the following TRS is considered.
| -(x,0) | → | x | (1) |
| -(s(x),s(y)) | → | -(x,y) | (2) |
| *(x,0) | → | 0 | (3) |
| *(x,s(y)) | → | +(*(x,y),x) | (4) |
| if(true,x,y) | → | x | (5) |
| if(false,x,y) | → | y | (6) |
| odd(0) | → | false | (7) |
| odd(s(0)) | → | true | (8) |
| odd(s(s(x))) | → | odd(x) | (9) |
| half(0) | → | 0 | (10) |
| half(s(0)) | → | 0 | (11) |
| half(s(s(x))) | → | s(half(x)) | (12) |
| if(true,x,y) | → | true | (13) |
| if(false,x,y) | → | false | (14) |
| pow(x,y) | → | f(x,y,s(0)) | (15) |
| f(x,0,z) | → | z | (16) |
| f(x,s(y),z) | → | if(odd(s(y)),f(x,y,*(x,z)),f(*(x,x),half(s(y)),z)) | (17) |
| odd#(s(s(x))) | → | odd#(x) | (18) |
| f#(x,s(y),z) | → | f#(x,y,*(x,z)) | (19) |
| f#(x,s(y),z) | → | *#(x,x) | (20) |
| pow#(x,y) | → | f#(x,y,s(0)) | (21) |
| *#(x,s(y)) | → | *#(x,y) | (22) |
| f#(x,s(y),z) | → | *#(x,z) | (23) |
| f#(x,s(y),z) | → | half#(s(y)) | (24) |
| f#(x,s(y),z) | → | odd#(s(y)) | (25) |
| half#(s(s(x))) | → | half#(x) | (26) |
| -#(s(x),s(y)) | → | -#(x,y) | (27) |
| f#(x,s(y),z) | → | f#(*(x,x),half(s(y)),z) | (28) |
| f#(x,s(y),z) | → | if#(odd(s(y)),f(x,y,*(x,z)),f(*(x,x),half(s(y)),z)) | (29) |
The dependency pairs are split into 5 components.
| -#(s(x),s(y)) | → | -#(x,y) | (27) |
| [s(x1)] | = | x1 + 1 |
| [pow(x1, x2)] | = | 0 |
| [false] | = | 0 |
| [*#(x1, x2)] | = | 0 |
| [half#(x1)] | = | 0 |
| [true] | = | 0 |
| [pow#(x1, x2)] | = | 0 |
| [f(x1, x2, x3)] | = | 0 |
| [half(x1)] | = | 0 |
| [0] | = | 0 |
| [if(x1, x2, x3)] | = | 0 |
| [-(x1, x2)] | = | 0 |
| [f#(x1, x2, x3)] | = | 0 |
| [odd#(x1)] | = | 0 |
| [odd(x1)] | = | 0 |
| [-#(x1, x2)] | = | x1 + x2 + 0 |
| [if#(x1, x2, x3)] | = | 0 |
| [+(x1, x2)] | = | 0 |
| [*(x1, x2)] | = | 0 |
| -#(s(x),s(y)) | → | -#(x,y) | (27) |
The dependency pairs are split into 0 components.
| f#(x,s(y),z) | → | f#(*(x,x),half(s(y)),z) | (28) |
| f#(x,s(y),z) | → | f#(x,y,*(x,z)) | (19) |
| [s(x1)] | = | x1 + 1 |
| [pow(x1, x2)] | = | 0 |
| [false] | = | 0 |
| [*#(x1, x2)] | = | 0 |
| [half#(x1)] | = | 0 |
| [true] | = | 0 |
| [pow#(x1, x2)] | = | 0 |
| [f(x1, x2, x3)] | = | 0 |
| [half(x1)] | = | x1 + 0 |
| [0] | = | 2 |
| [if(x1, x2, x3)] | = | 0 |
| [-(x1, x2)] | = | 0 |
| [f#(x1, x2, x3)] | = | x2 + 0 |
| [odd#(x1)] | = | 0 |
| [odd(x1)] | = | 0 |
| [-#(x1, x2)] | = | 0 |
| [if#(x1, x2, x3)] | = | 0 |
| [+(x1, x2)] | = | x1 + 1 |
| [*(x1, x2)] | = | 1 |
| half(0) | → | 0 | (10) |
| half(s(s(x))) | → | s(half(x)) | (12) |
| half(s(0)) | → | 0 | (11) |
| f#(x,s(y),z) | → | f#(x,y,*(x,z)) | (19) |
The dependency pairs are split into 1 component.
| f#(x,s(y),z) | → | f#(*(x,x),half(s(y)),z) | (28) |
| π(f) | = | 2 |
| π(-) | = | 2 |
| π(f#) | = | 2 |
| prec(s) | = | 1 | status(s) | = | [] | list-extension(s) | = | Lex | ||
| prec(pow) | = | 0 | status(pow) | = | [1, 2] | list-extension(pow) | = | Lex | ||
| prec(false) | = | 0 | status(false) | = | [] | list-extension(false) | = | Lex | ||
| prec(*#) | = | 0 | status(*#) | = | [2, 1] | list-extension(*#) | = | Lex | ||
| prec(half#) | = | 0 | status(half#) | = | [] | list-extension(half#) | = | Lex | ||
| prec(true) | = | 0 | status(true) | = | [] | list-extension(true) | = | Lex | ||
| prec(pow#) | = | 0 | status(pow#) | = | [2] | list-extension(pow#) | = | Lex | ||
| prec(half) | = | 0 | status(half) | = | [] | list-extension(half) | = | Lex | ||
| prec(0) | = | 0 | status(0) | = | [] | list-extension(0) | = | Lex | ||
| prec(if) | = | 0 | status(if) | = | [3] | list-extension(if) | = | Lex | ||
| prec(odd#) | = | 0 | status(odd#) | = | [] | list-extension(odd#) | = | Lex | ||
| prec(odd) | = | 0 | status(odd) | = | [] | list-extension(odd) | = | Lex | ||
| prec(-#) | = | 0 | status(-#) | = | [1, 2] | list-extension(-#) | = | Lex | ||
| prec(if#) | = | 0 | status(if#) | = | [3, 2, 1] | list-extension(if#) | = | Lex | ||
| prec(+) | = | 3 | status(+) | = | [] | list-extension(+) | = | Lex | ||
| prec(*) | = | 3 | status(*) | = | [] | list-extension(*) | = | Lex |
| [s(x1)] | = | x1 + 28102 |
| [pow(x1, x2)] | = | x1 + x2 + 1 |
| [false] | = | 0 |
| [*#(x1, x2)] | = | max(x1 + 1, x2 + 1, 0) |
| [half#(x1)] | = | 1 |
| [true] | = | 0 |
| [pow#(x1, x2)] | = | x2 + 1 |
| [half(x1)] | = | x1 + 0 |
| [0] | = | 1 |
| [if(x1, x2, x3)] | = | x3 + 1 |
| [odd#(x1)] | = | 1 |
| [odd(x1)] | = | 1 |
| [-#(x1, x2)] | = | x1 + x2 + 1 |
| [if#(x1, x2, x3)] | = | max(x1 + 1, x2 + 1, x3 + 1, 0) |
| [+(x1, x2)] | = | max(x2 + 1, 0) |
| [*(x1, x2)] | = | max(0) |
| half(0) | → | 0 | (10) |
| half(s(s(x))) | → | s(half(x)) | (12) |
| half(s(0)) | → | 0 | (11) |
| f#(x,s(y),z) | → | f#(*(x,x),half(s(y)),z) | (28) |
The dependency pairs are split into 0 components.
| half#(s(s(x))) | → | half#(x) | (26) |
| [s(x1)] | = | x1 + 1 |
| [pow(x1, x2)] | = | 0 |
| [false] | = | 0 |
| [*#(x1, x2)] | = | 0 |
| [half#(x1)] | = | x1 + 0 |
| [true] | = | 0 |
| [pow#(x1, x2)] | = | 0 |
| [f(x1, x2, x3)] | = | 0 |
| [half(x1)] | = | 20819 |
| [0] | = | 20820 |
| [if(x1, x2, x3)] | = | 0 |
| [-(x1, x2)] | = | 0 |
| [f#(x1, x2, x3)] | = | 0 |
| [odd#(x1)] | = | 0 |
| [odd(x1)] | = | 0 |
| [-#(x1, x2)] | = | 0 |
| [if#(x1, x2, x3)] | = | 0 |
| [+(x1, x2)] | = | x1 + 1 |
| [*(x1, x2)] | = | 1 |
| half#(s(s(x))) | → | half#(x) | (26) |
The dependency pairs are split into 0 components.
| *#(x,s(y)) | → | *#(x,y) | (22) |
| [s(x1)] | = | x1 + 1 |
| [pow(x1, x2)] | = | 0 |
| [false] | = | 0 |
| [*#(x1, x2)] | = | x2 + 0 |
| [half#(x1)] | = | 0 |
| [true] | = | 0 |
| [pow#(x1, x2)] | = | 0 |
| [f(x1, x2, x3)] | = | 0 |
| [half(x1)] | = | 1 |
| [0] | = | 2 |
| [if(x1, x2, x3)] | = | 0 |
| [-(x1, x2)] | = | 0 |
| [f#(x1, x2, x3)] | = | 0 |
| [odd#(x1)] | = | 0 |
| [odd(x1)] | = | 0 |
| [-#(x1, x2)] | = | 0 |
| [if#(x1, x2, x3)] | = | 0 |
| [+(x1, x2)] | = | x1 + 1 |
| [*(x1, x2)] | = | 1 |
| *#(x,s(y)) | → | *#(x,y) | (22) |
The dependency pairs are split into 0 components.
| odd#(s(s(x))) | → | odd#(x) | (18) |
| [s(x1)] | = | x1 + 1 |
| [pow(x1, x2)] | = | 0 |
| [false] | = | 0 |
| [*#(x1, x2)] | = | 0 |
| [half#(x1)] | = | 0 |
| [true] | = | 0 |
| [pow#(x1, x2)] | = | 0 |
| [f(x1, x2, x3)] | = | 0 |
| [half(x1)] | = | 1 |
| [0] | = | 2 |
| [if(x1, x2, x3)] | = | 0 |
| [-(x1, x2)] | = | 0 |
| [f#(x1, x2, x3)] | = | 0 |
| [odd#(x1)] | = | x1 + 0 |
| [odd(x1)] | = | 0 |
| [-#(x1, x2)] | = | 0 |
| [if#(x1, x2, x3)] | = | 0 |
| [+(x1, x2)] | = | x1 + 1 |
| [*(x1, x2)] | = | 1 |
| odd#(s(s(x))) | → | odd#(x) | (18) |
The dependency pairs are split into 0 components.