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.