The rewrite relation of the following TRS is considered.
tower(0(x1)) | → | s(0(p(s(p(s(x1)))))) | (1) |
tower(s(x1)) | → | p(s(p(s(twoto(p(s(p(s(tower(p(s(p(s(x1)))))))))))))) | (2) |
twoto(0(x1)) | → | s(0(x1)) | (3) |
twoto(s(x1)) | → | p(p(s(p(p(p(s(s(p(s(s(p(s(s(p(s(twice(p(s(p(s(p(p(p(s(s(s(twoto(p(s(p(s(x1)))))))))))))))))))))))))))))))) | (4) |
twice(0(x1)) | → | 0(x1) | (5) |
twice(s(x1)) | → | p(p(p(s(s(s(s(s(twice(p(p(p(s(s(s(x1))))))))))))))) | (6) |
p(p(s(x1))) | → | p(x1) | (7) |
p(s(x1)) | → | x1 | (8) |
p(0(x1)) | → | 0(s(s(s(s(s(s(s(s(x1))))))))) | (9) |
0(tower(x1)) | → | s(p(s(p(0(s(x1)))))) | (10) |
s(tower(x1)) | → | s(p(s(p(tower(s(p(s(p(twoto(s(p(s(p(x1)))))))))))))) | (11) |
0(twoto(x1)) | → | 0(s(x1)) | (12) |
s(twoto(x1)) | → | s(p(s(p(twoto(s(s(s(p(p(p(s(p(s(p(twice(s(p(s(s(p(s(s(p(s(s(p(p(p(s(p(p(x1)))))))))))))))))))))))))))))))) | (13) |
0(twice(x1)) | → | 0(x1) | (14) |
s(twice(x1)) | → | s(s(s(p(p(p(twice(s(s(s(s(s(p(p(p(x1))))))))))))))) | (15) |
s(p(p(x1))) | → | p(x1) | (16) |
s(p(x1)) | → | x1 | (17) |
0(p(x1)) | → | s(s(s(s(s(s(s(s(0(x1))))))))) | (18) |
[twoto(x1)] | = | 0 · x1 + -∞ |
[tower(x1)] | = | 5 · x1 + -∞ |
[p(x1)] | = | 0 · x1 + -∞ |
[twice(x1)] | = | 0 · x1 + -∞ |
[0(x1)] | = | 0 · x1 + -∞ |
[s(x1)] | = | 0 · x1 + -∞ |
0(tower(x1)) | → | s(p(s(p(0(s(x1)))))) | (10) |
s#(tower(x1)) | → | s#(p(x1)) | (19) |
s#(tower(x1)) | → | s#(p(s(p(x1)))) | (20) |
s#(tower(x1)) | → | s#(p(twoto(s(p(s(p(x1))))))) | (21) |
s#(tower(x1)) | → | s#(p(s(p(twoto(s(p(s(p(x1))))))))) | (22) |
s#(tower(x1)) | → | s#(p(tower(s(p(s(p(twoto(s(p(s(p(x1)))))))))))) | (23) |
s#(tower(x1)) | → | s#(p(s(p(tower(s(p(s(p(twoto(s(p(s(p(x1)))))))))))))) | (24) |
0#(twoto(x1)) | → | s#(x1) | (25) |
0#(twoto(x1)) | → | 0#(s(x1)) | (26) |
s#(twoto(x1)) | → | s#(p(p(x1))) | (27) |
s#(twoto(x1)) | → | s#(p(p(p(s(p(p(x1))))))) | (28) |
s#(twoto(x1)) | → | s#(s(p(p(p(s(p(p(x1)))))))) | (29) |
s#(twoto(x1)) | → | s#(p(s(s(p(p(p(s(p(p(x1)))))))))) | (30) |
s#(twoto(x1)) | → | s#(s(p(s(s(p(p(p(s(p(p(x1))))))))))) | (31) |
s#(twoto(x1)) | → | s#(p(s(s(p(s(s(p(p(p(s(p(p(x1))))))))))))) | (32) |
s#(twoto(x1)) | → | s#(s(p(s(s(p(s(s(p(p(p(s(p(p(x1)))))))))))))) | (33) |
s#(twoto(x1)) | → | s#(p(s(s(p(s(s(p(s(s(p(p(p(s(p(p(x1)))))))))))))))) | (34) |
s#(twoto(x1)) | → | s#(p(twice(s(p(s(s(p(s(s(p(s(s(p(p(p(s(p(p(x1))))))))))))))))))) | (35) |
s#(twoto(x1)) | → | s#(p(s(p(twice(s(p(s(s(p(s(s(p(s(s(p(p(p(s(p(p(x1))))))))))))))))))))) | (36) |
s#(twoto(x1)) | → | s#(p(p(p(s(p(s(p(twice(s(p(s(s(p(s(s(p(s(s(p(p(p(s(p(p(x1))))))))))))))))))))))))) | (37) |
s#(twoto(x1)) | → | s#(s(p(p(p(s(p(s(p(twice(s(p(s(s(p(s(s(p(s(s(p(p(p(s(p(p(x1)))))))))))))))))))))))))) | (38) |
s#(twoto(x1)) | → | s#(s(s(p(p(p(s(p(s(p(twice(s(p(s(s(p(s(s(p(s(s(p(p(p(s(p(p(x1))))))))))))))))))))))))))) | (39) |
s#(twoto(x1)) | → | s#(p(twoto(s(s(s(p(p(p(s(p(s(p(twice(s(p(s(s(p(s(s(p(s(s(p(p(p(s(p(p(x1)))))))))))))))))))))))))))))) | (40) |
s#(twoto(x1)) | → | s#(p(s(p(twoto(s(s(s(p(p(p(s(p(s(p(twice(s(p(s(s(p(s(s(p(s(s(p(p(p(s(p(p(x1)))))))))))))))))))))))))))))))) | (41) |
0#(twice(x1)) | → | 0#(x1) | (42) |
s#(twice(x1)) | → | s#(p(p(p(x1)))) | (43) |
s#(twice(x1)) | → | s#(s(p(p(p(x1))))) | (44) |
s#(twice(x1)) | → | s#(s(s(p(p(p(x1)))))) | (45) |
s#(twice(x1)) | → | s#(s(s(s(p(p(p(x1))))))) | (46) |
s#(twice(x1)) | → | s#(s(s(s(s(p(p(p(x1)))))))) | (47) |
s#(twice(x1)) | → | s#(p(p(p(twice(s(s(s(s(s(p(p(p(x1))))))))))))) | (48) |
s#(twice(x1)) | → | s#(s(p(p(p(twice(s(s(s(s(s(p(p(p(x1)))))))))))))) | (49) |
s#(twice(x1)) | → | s#(s(s(p(p(p(twice(s(s(s(s(s(p(p(p(x1))))))))))))))) | (50) |
0#(p(x1)) | → | 0#(x1) | (51) |
0#(p(x1)) | → | s#(0(x1)) | (52) |
0#(p(x1)) | → | s#(s(0(x1))) | (53) |
0#(p(x1)) | → | s#(s(s(0(x1)))) | (54) |
0#(p(x1)) | → | s#(s(s(s(0(x1))))) | (55) |
0#(p(x1)) | → | s#(s(s(s(s(0(x1)))))) | (56) |
0#(p(x1)) | → | s#(s(s(s(s(s(0(x1))))))) | (57) |
0#(p(x1)) | → | s#(s(s(s(s(s(s(0(x1)))))))) | (58) |
0#(p(x1)) | → | s#(s(s(s(s(s(s(s(0(x1))))))))) | (59) |
The dependency pairs are split into 2 components.
0#(twice(x1)) | → | 0#(x1) | (42) |
0#(p(x1)) | → | 0#(x1) | (51) |
0#(twoto(x1)) | → | 0#(s(x1)) | (26) |
prec(0#) | = | 0 | stat(0#) | = | lex | |
prec(twice) | = | 0 | stat(twice) | = | lex | |
prec(twoto) | = | 0 | stat(twoto) | = | lex | |
prec(p) | = | 0 | stat(p) | = | lex | |
prec(s) | = | 0 | stat(s) | = | lex | |
prec(tower) | = | 0 | stat(tower) | = | lex |
π(0#) | = | 1 |
π(twice) | = | 1 |
π(twoto) | = | [1] |
π(p) | = | 1 |
π(s) | = | 1 |
π(tower) | = | [] |
s(tower(x1)) | → | s(p(s(p(tower(s(p(s(p(twoto(s(p(s(p(x1)))))))))))))) | (11) |
s(twoto(x1)) | → | s(p(s(p(twoto(s(s(s(p(p(p(s(p(s(p(twice(s(p(s(s(p(s(s(p(s(s(p(p(p(s(p(p(x1)))))))))))))))))))))))))))))))) | (13) |
s(twice(x1)) | → | s(s(s(p(p(p(twice(s(s(s(s(s(p(p(p(x1))))))))))))))) | (15) |
s(p(p(x1))) | → | p(x1) | (16) |
s(p(x1)) | → | x1 | (17) |
0#(twoto(x1)) | → | 0#(s(x1)) | (26) |
Using size-change termination in combination with the subterm criterion one obtains the following initial size-change graphs.
0#(twice(x1)) | → | 0#(x1) | (42) |
1 | > | 1 | |
0#(p(x1)) | → | 0#(x1) | (51) |
1 | > | 1 |
As there is no critical graph in the transitive closure, there are no infinite chains.
s#(twice(x1)) | → | s#(s(s(p(p(p(twice(s(s(s(s(s(p(p(p(x1))))))))))))))) | (50) |
s#(twice(x1)) | → | s#(s(p(p(p(twice(s(s(s(s(s(p(p(p(x1)))))))))))))) | (49) |
s#(twice(x1)) | → | s#(s(s(s(s(p(p(p(x1)))))))) | (47) |
s#(twice(x1)) | → | s#(s(s(s(p(p(p(x1))))))) | (46) |
s#(twice(x1)) | → | s#(s(s(p(p(p(x1)))))) | (45) |
s#(twice(x1)) | → | s#(s(p(p(p(x1))))) | (44) |
s#(twoto(x1)) | → | s#(s(s(p(p(p(s(p(s(p(twice(s(p(s(s(p(s(s(p(s(s(p(p(p(s(p(p(x1))))))))))))))))))))))))))) | (39) |
s#(twoto(x1)) | → | s#(s(p(p(p(s(p(s(p(twice(s(p(s(s(p(s(s(p(s(s(p(p(p(s(p(p(x1)))))))))))))))))))))))))) | (38) |
s#(twoto(x1)) | → | s#(s(p(s(s(p(s(s(p(p(p(s(p(p(x1)))))))))))))) | (33) |
s#(twoto(x1)) | → | s#(s(p(s(s(p(p(p(s(p(p(x1))))))))))) | (31) |
s#(twoto(x1)) | → | s#(s(p(p(p(s(p(p(x1)))))))) | (29) |
prec(s#) | = | 0 | stat(s#) | = | lex | |
prec(twice) | = | 0 | stat(twice) | = | lex | |
prec(twoto) | = | 0 | stat(twoto) | = | lex | |
prec(p) | = | 0 | stat(p) | = | lex | |
prec(s) | = | 0 | stat(s) | = | lex | |
prec(tower) | = | 0 | stat(tower) | = | lex |
π(s#) | = | 1 |
π(twice) | = | 1 |
π(twoto) | = | [1] |
π(p) | = | 1 |
π(s) | = | 1 |
π(tower) | = | [] |
s(p(p(x1))) | → | p(x1) | (16) |
s(p(x1)) | → | x1 | (17) |
s(tower(x1)) | → | s(p(s(p(tower(s(p(s(p(twoto(s(p(s(p(x1)))))))))))))) | (11) |
s(twoto(x1)) | → | s(p(s(p(twoto(s(s(s(p(p(p(s(p(s(p(twice(s(p(s(s(p(s(s(p(s(s(p(p(p(s(p(p(x1)))))))))))))))))))))))))))))))) | (13) |
s(twice(x1)) | → | s(s(s(p(p(p(twice(s(s(s(s(s(p(p(p(x1))))))))))))))) | (15) |
s#(twoto(x1)) | → | s#(s(s(p(p(p(s(p(s(p(twice(s(p(s(s(p(s(s(p(s(s(p(p(p(s(p(p(x1))))))))))))))))))))))))))) | (39) |
s#(twoto(x1)) | → | s#(s(p(p(p(s(p(s(p(twice(s(p(s(s(p(s(s(p(s(s(p(p(p(s(p(p(x1)))))))))))))))))))))))))) | (38) |
s#(twoto(x1)) | → | s#(s(p(s(s(p(s(s(p(p(p(s(p(p(x1)))))))))))))) | (33) |
s#(twoto(x1)) | → | s#(s(p(s(s(p(p(p(s(p(p(x1))))))))))) | (31) |
s#(twoto(x1)) | → | s#(s(p(p(p(s(p(p(x1)))))))) | (29) |
prec(s#) | = | 0 | stat(s#) | = | lex | |
prec(twice) | = | 0 | stat(twice) | = | lex | |
prec(twoto) | = | 0 | stat(twoto) | = | lex | |
prec(p) | = | 0 | stat(p) | = | lex | |
prec(s) | = | 0 | stat(s) | = | lex | |
prec(tower) | = | 0 | stat(tower) | = | lex |
π(s#) | = | 1 |
π(twice) | = | [1] |
π(twoto) | = | [] |
π(p) | = | 1 |
π(s) | = | 1 |
π(tower) | = | [] |
s(p(p(x1))) | → | p(x1) | (16) |
s(p(x1)) | → | x1 | (17) |
s(tower(x1)) | → | s(p(s(p(tower(s(p(s(p(twoto(s(p(s(p(x1)))))))))))))) | (11) |
s(twoto(x1)) | → | s(p(s(p(twoto(s(s(s(p(p(p(s(p(s(p(twice(s(p(s(s(p(s(s(p(s(s(p(p(p(s(p(p(x1)))))))))))))))))))))))))))))))) | (13) |
s(twice(x1)) | → | s(s(s(p(p(p(twice(s(s(s(s(s(p(p(p(x1))))))))))))))) | (15) |
s#(twice(x1)) | → | s#(s(s(s(s(p(p(p(x1)))))))) | (47) |
s#(twice(x1)) | → | s#(s(s(s(p(p(p(x1))))))) | (46) |
s#(twice(x1)) | → | s#(s(s(p(p(p(x1)))))) | (45) |
s#(twice(x1)) | → | s#(s(p(p(p(x1))))) | (44) |
[twoto(x1)] | = | -3 · x1 + 4 |
[tower(x1)] | = | -∞ · x1 + 1 |
[p(x1)] | = | -1 · x1 + 0 |
[twice(x1)] | = | -∞ · x1 + 6 |
[s#(x1)] | = | 0 · x1 + -16 |
[s(x1)] | = | 1 · x1 + 2 |
s(p(p(x1))) | → | p(x1) | (16) |
s(p(x1)) | → | x1 | (17) |
s(tower(x1)) | → | s(p(s(p(tower(s(p(s(p(twoto(s(p(s(p(x1)))))))))))))) | (11) |
s(twoto(x1)) | → | s(p(s(p(twoto(s(s(s(p(p(p(s(p(s(p(twice(s(p(s(s(p(s(s(p(s(s(p(p(p(s(p(p(x1)))))))))))))))))))))))))))))))) | (13) |
s(twice(x1)) | → | s(s(s(p(p(p(twice(s(s(s(s(s(p(p(p(x1))))))))))))))) | (15) |
s#(twice(x1)) | → | s#(s(s(p(p(p(twice(s(s(s(s(s(p(p(p(x1))))))))))))))) | (50) |
s#(twice(x1)) | → | s#(s(p(p(p(twice(s(s(s(s(s(p(p(p(x1)))))))))))))) | (49) |
There are no pairs anymore.