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) |
[tower(x1)] | = | 1 · x1 + 1 |
[0(x1)] | = | 1 · x1 |
[s(x1)] | = | 1 · x1 |
[p(x1)] | = | 1 · x1 |
[twoto(x1)] | = | 1 · x1 |
[twice(x1)] | = | 1 · x1 |
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)))))))))))))) | (10) |
tower#(s(x1)) | → | p#(s(twoto(p(s(p(s(tower(p(s(p(s(x1)))))))))))) | (11) |
tower#(s(x1)) | → | twoto#(p(s(p(s(tower(p(s(p(s(x1)))))))))) | (12) |
tower#(s(x1)) | → | p#(s(p(s(tower(p(s(p(s(x1))))))))) | (13) |
tower#(s(x1)) | → | p#(s(tower(p(s(p(s(x1))))))) | (14) |
tower#(s(x1)) | → | tower#(p(s(p(s(x1))))) | (15) |
tower#(s(x1)) | → | p#(s(p(s(x1)))) | (16) |
tower#(s(x1)) | → | p#(s(x1)) | (17) |
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)))))))))))))))))))))))))))))))) | (18) |
twoto#(s(x1)) | → | 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))))))))))))))))))))))))))))))) | (19) |
twoto#(s(x1)) | → | 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))))))))))))))))))))))))))))) | (20) |
twoto#(s(x1)) | → | 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)))))))))))))))))))))))))))) | (21) |
twoto#(s(x1)) | → | 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))))))))))))))))))))))))))) | (22) |
twoto#(s(x1)) | → | 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)))))))))))))))))))))))) | (23) |
twoto#(s(x1)) | → | p#(s(s(p(s(twice(p(s(p(s(p(p(p(s(s(s(twoto(p(s(p(s(x1))))))))))))))))))))) | (24) |
twoto#(s(x1)) | → | p#(s(twice(p(s(p(s(p(p(p(s(s(s(twoto(p(s(p(s(x1)))))))))))))))))) | (25) |
twoto#(s(x1)) | → | twice#(p(s(p(s(p(p(p(s(s(s(twoto(p(s(p(s(x1)))))))))))))))) | (26) |
twoto#(s(x1)) | → | p#(s(p(s(p(p(p(s(s(s(twoto(p(s(p(s(x1))))))))))))))) | (27) |
twoto#(s(x1)) | → | p#(s(p(p(p(s(s(s(twoto(p(s(p(s(x1))))))))))))) | (28) |
twoto#(s(x1)) | → | p#(p(p(s(s(s(twoto(p(s(p(s(x1))))))))))) | (29) |
twoto#(s(x1)) | → | p#(p(s(s(s(twoto(p(s(p(s(x1)))))))))) | (30) |
twoto#(s(x1)) | → | p#(s(s(s(twoto(p(s(p(s(x1))))))))) | (31) |
twoto#(s(x1)) | → | twoto#(p(s(p(s(x1))))) | (32) |
twoto#(s(x1)) | → | p#(s(p(s(x1)))) | (33) |
twoto#(s(x1)) | → | p#(s(x1)) | (34) |
twice#(s(x1)) | → | p#(p(p(s(s(s(s(s(twice(p(p(p(s(s(s(x1))))))))))))))) | (35) |
twice#(s(x1)) | → | p#(p(s(s(s(s(s(twice(p(p(p(s(s(s(x1)))))))))))))) | (36) |
twice#(s(x1)) | → | p#(s(s(s(s(s(twice(p(p(p(s(s(s(x1))))))))))))) | (37) |
twice#(s(x1)) | → | twice#(p(p(p(s(s(s(x1))))))) | (38) |
twice#(s(x1)) | → | p#(p(p(s(s(s(x1)))))) | (39) |
twice#(s(x1)) | → | p#(p(s(s(s(x1))))) | (40) |
twice#(s(x1)) | → | p#(s(s(s(x1)))) | (41) |
p#(p(s(x1))) | → | p#(x1) | (42) |
The dependency pairs are split into 4 components.
tower#(s(x1)) | → | tower#(p(s(p(s(x1))))) | (15) |
20
Hence, it suffices to show innermost termination in the following.We restrict the rewrite rules to the following usable rules of the DP problem.
p(s(x1)) | → | x1 | (8) |
We restrict the innermost strategy to the following left hand sides.
p(s(x0)) |
p(0(x0)) |
[tower#(x1)] | = | 2 + x1 |
[p(x1)] | = | -1 + x1 |
[s(x1)] | = | 1 + x1 |
tower#(s(x1)) | → | tower#(p(s(p(s(x1))))) | (15) |
There are no pairs anymore.
twoto#(s(x1)) | → | twoto#(p(s(p(s(x1))))) | (32) |
20
Hence, it suffices to show innermost termination in the following.We restrict the rewrite rules to the following usable rules of the DP problem.
p(s(x1)) | → | x1 | (8) |
We restrict the innermost strategy to the following left hand sides.
p(s(x0)) |
p(0(x0)) |
[twoto#(x1)] | = | 2 + x1 |
[p(x1)] | = | -1 + x1 |
[s(x1)] | = | 1 + x1 |
twoto#(s(x1)) | → | twoto#(p(s(p(s(x1))))) | (32) |
There are no pairs anymore.
twice#(s(x1)) | → | twice#(p(p(p(s(s(s(x1))))))) | (38) |
20
Hence, it suffices to show innermost termination in the following.We restrict the rewrite rules to the following usable rules of the DP problem.
p(s(x1)) | → | x1 | (8) |
p(0(x1)) | → | 0(s(s(s(s(s(s(s(s(x1))))))))) | (9) |
We restrict the innermost strategy to the following left hand sides.
p(s(x0)) |
p(0(x0)) |
[twice#(x1)] | = | 2 · x1 |
[p(x1)] | = | -1 + x1 |
[s(x1)] | = | 1 + x1 |
[0(x1)] | = | 0 |
twice#(s(x1)) | → | twice#(p(p(p(s(s(s(x1))))))) | (38) |
There are no pairs anymore.
p#(p(s(x1))) | → | p#(x1) | (42) |
[p(x1)] | = | 1 · x1 |
[s(x1)] | = | 1 · x1 |
[p#(x1)] | = | 1 · x1 |
Using size-change termination in combination with the subterm criterion one obtains the following initial size-change graphs.
p#(p(s(x1))) | → | p#(x1) | (42) |
1 | > | 1 |
As there is no critical graph in the transitive closure, there are no infinite chains.