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.