The rewrite relation of the following TRS is considered.
s(s(0)) | → | f(s(0)) | (1) |
g(x) | → | h(x,x) | (2) |
s(x) | → | h(x,0) | (3) |
s(x) | → | h(0,x) | (4) |
f(g(x)) | → | g(g(f(x))) | (5) |
g(s(x)) | → | s(s(g(x))) | (6) |
h(f(x),g(x)) | → | f(s(x)) | (7) |
s(0) | → | k(0) | (8) |
s(k(0)) | → | 0 | (9) |
s(s(0)) | → | k(s(0)) | (10) |
k(s(0)) | → | 0 | (11) |
s(s(s(s(s(s(s(0))))))) | → | k(s(s(0))) | (12) |
k(s(s(0))) | → | s(s(s(s(s(0))))) | (13) |
h(k(x),g(x)) | → | k(s(x)) | (14) |
s#(s(0)) | → | f#(s(0)) | (15) |
g#(x) | → | h#(x,x) | (16) |
s#(x) | → | h#(x,0) | (17) |
s#(x) | → | h#(0,x) | (18) |
f#(g(x)) | → | f#(x) | (19) |
f#(g(x)) | → | g#(f(x)) | (20) |
f#(g(x)) | → | g#(g(f(x))) | (21) |
g#(s(x)) | → | g#(x) | (22) |
g#(s(x)) | → | s#(g(x)) | (23) |
g#(s(x)) | → | s#(s(g(x))) | (24) |
h#(f(x),g(x)) | → | s#(x) | (25) |
h#(f(x),g(x)) | → | f#(s(x)) | (26) |
s#(0) | → | k#(0) | (27) |
s#(s(0)) | → | k#(s(0)) | (28) |
s#(s(s(s(s(s(s(0))))))) | → | k#(s(s(0))) | (29) |
k#(s(s(0))) | → | s#(s(s(0))) | (30) |
k#(s(s(0))) | → | s#(s(s(s(0)))) | (31) |
k#(s(s(0))) | → | s#(s(s(s(s(0))))) | (32) |
h#(k(x),g(x)) | → | s#(x) | (33) |
h#(k(x),g(x)) | → | k#(s(x)) | (34) |
The dependency pairs are split into 1 component.
k#(s(s(0))) | → | s#(s(s(s(s(0))))) | (32) |
s#(s(s(s(s(s(s(0))))))) | → | k#(s(s(0))) | (29) |
k#(s(s(0))) | → | s#(s(s(s(0)))) | (31) |
s#(s(0)) | → | k#(s(0)) | (28) |
k#(s(s(0))) | → | s#(s(s(0))) | (30) |
s#(s(0)) | → | f#(s(0)) | (15) |
f#(g(x)) | → | g#(g(f(x))) | (21) |
g#(s(x)) | → | s#(s(g(x))) | (24) |
g#(s(x)) | → | s#(g(x)) | (23) |
g#(s(x)) | → | g#(x) | (22) |
g#(x) | → | h#(x,x) | (16) |
h#(k(x),g(x)) | → | k#(s(x)) | (34) |
h#(k(x),g(x)) | → | s#(x) | (33) |
h#(f(x),g(x)) | → | f#(s(x)) | (26) |
f#(g(x)) | → | g#(f(x)) | (20) |
f#(g(x)) | → | f#(x) | (19) |
h#(f(x),g(x)) | → | s#(x) | (25) |
[h(x1, x2)] | = | 0 · x1 + 0 · x2 + -∞ |
[g#(x1)] | = | 2 · x1 + 3 |
[s(x1)] | = | 0 · x1 + 0 |
[g(x1)] | = | 0 · x1 + 2 |
[k(x1)] | = | 0 · x1 + 0 |
[k#(x1)] | = | 2 · x1 + 3 |
[0] | = | 0 |
[f#(x1)] | = | 2 · x1 + 0 |
[h#(x1, x2)] | = | 0 · x1 + 2 · x2 + -∞ |
[s#(x1)] | = | 0 · x1 + 3 |
[f(x1)] | = | 0 · x1 + -∞ |
s(s(0)) | → | f(s(0)) | (1) |
g(x) | → | h(x,x) | (2) |
s(x) | → | h(x,0) | (3) |
s(x) | → | h(0,x) | (4) |
f(g(x)) | → | g(g(f(x))) | (5) |
g(s(x)) | → | s(s(g(x))) | (6) |
h(f(x),g(x)) | → | f(s(x)) | (7) |
s(0) | → | k(0) | (8) |
s(k(0)) | → | 0 | (9) |
s(s(0)) | → | k(s(0)) | (10) |
k(s(0)) | → | 0 | (11) |
s(s(s(s(s(s(s(0))))))) | → | k(s(s(0))) | (12) |
k(s(s(0))) | → | s(s(s(s(s(0))))) | (13) |
h(k(x),g(x)) | → | k(s(x)) | (14) |
s#(s(0)) | → | f#(s(0)) | (15) |
h#(k(x),g(x)) | → | s#(x) | (33) |
h#(f(x),g(x)) | → | s#(x) | (25) |
The dependency pairs are split into 2 components.
h#(f(x),g(x)) | → | f#(s(x)) | (26) |
f#(g(x)) | → | g#(g(f(x))) | (21) |
g#(s(x)) | → | g#(x) | (22) |
g#(x) | → | h#(x,x) | (16) |
f#(g(x)) | → | g#(f(x)) | (20) |
f#(g(x)) | → | f#(x) | (19) |
[h(x1, x2)] | = | -∞ · x1 + -∞ · x2 + 0 |
[g#(x1)] | = | -∞ · x1 + 0 |
[s(x1)] | = | -∞ · x1 + 0 |
[g(x1)] | = | 0 · x1 + 5 |
[k(x1)] | = | 0 · x1 + 0 |
[0] | = | 0 |
[f#(x1)] | = | 0 · x1 + 0 |
[h#(x1, x2)] | = | -∞ · x1 + -∞ · x2 + 0 |
[f(x1)] | = | 0 · x1 + 0 |
s(s(0)) | → | f(s(0)) | (1) |
g(x) | → | h(x,x) | (2) |
s(x) | → | h(x,0) | (3) |
s(x) | → | h(0,x) | (4) |
f(g(x)) | → | g(g(f(x))) | (5) |
g(s(x)) | → | s(s(g(x))) | (6) |
h(f(x),g(x)) | → | f(s(x)) | (7) |
s(0) | → | k(0) | (8) |
s(k(0)) | → | 0 | (9) |
s(s(0)) | → | k(s(0)) | (10) |
k(s(0)) | → | 0 | (11) |
s(s(s(s(s(s(s(0))))))) | → | k(s(s(0))) | (12) |
k(s(s(0))) | → | s(s(s(s(s(0))))) | (13) |
h(k(x),g(x)) | → | k(s(x)) | (14) |
f#(g(x)) | → | g#(g(f(x))) | (21) |
f#(g(x)) | → | g#(f(x)) | (20) |
The dependency pairs are split into 2 components.
g#(s(x)) | → | g#(x) | (22) |
Using size-change termination in combination with the subterm criterion one obtains the following initial size-change graphs.
g#(s(x)) | → | g#(x) | (22) |
1 | > | 1 |
As there is no critical graph in the transitive closure, there are no infinite chains.
f#(g(x)) | → | f#(x) | (19) |
Using size-change termination in combination with the subterm criterion one obtains the following initial size-change graphs.
f#(g(x)) | → | f#(x) | (19) |
1 | > | 1 |
As there is no critical graph in the transitive closure, there are no infinite chains.
k#(s(s(0))) | → | s#(s(s(s(s(0))))) | (32) |
s#(s(s(s(s(s(s(0))))))) | → | k#(s(s(0))) | (29) |
k#(s(s(0))) | → | s#(s(s(s(0)))) | (31) |
s#(s(0)) | → | k#(s(0)) | (28) |
k#(s(s(0))) | → | s#(s(s(0))) | (30) |
[h(x1, x2)] | = |
|
||||||||||||||||||||||||||||||||||||
[s(x1)] | = |
|
||||||||||||||||||||||||||||||||||||
[g(x1)] | = |
|
||||||||||||||||||||||||||||||||||||
[k(x1)] | = |
|
||||||||||||||||||||||||||||||||||||
[k#(x1)] | = |
|
||||||||||||||||||||||||||||||||||||
[0] | = |
|
||||||||||||||||||||||||||||||||||||
[s#(x1)] | = |
|
||||||||||||||||||||||||||||||||||||
[f(x1)] | = |
|
s(s(0)) | → | f(s(0)) | (1) |
g(x) | → | h(x,x) | (2) |
s(x) | → | h(x,0) | (3) |
s(x) | → | h(0,x) | (4) |
f(g(x)) | → | g(g(f(x))) | (5) |
g(s(x)) | → | s(s(g(x))) | (6) |
h(f(x),g(x)) | → | f(s(x)) | (7) |
s(0) | → | k(0) | (8) |
s(k(0)) | → | 0 | (9) |
s(s(0)) | → | k(s(0)) | (10) |
k(s(0)) | → | 0 | (11) |
s(s(s(s(s(s(s(0))))))) | → | k(s(s(0))) | (12) |
k(s(s(0))) | → | s(s(s(s(s(0))))) | (13) |
h(k(x),g(x)) | → | k(s(x)) | (14) |
s#(s(0)) | → | k#(s(0)) | (28) |
[h(x1, x2)] | = |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[s(x1)] | = |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[g(x1)] | = |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[k(x1)] | = |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[k#(x1)] | = |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[0] | = |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[s#(x1)] | = |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[f(x1)] | = |
|
s(s(0)) | → | f(s(0)) | (1) |
g(x) | → | h(x,x) | (2) |
s(x) | → | h(x,0) | (3) |
s(x) | → | h(0,x) | (4) |
f(g(x)) | → | g(g(f(x))) | (5) |
g(s(x)) | → | s(s(g(x))) | (6) |
h(f(x),g(x)) | → | f(s(x)) | (7) |
s(0) | → | k(0) | (8) |
s(k(0)) | → | 0 | (9) |
s(s(0)) | → | k(s(0)) | (10) |
k(s(0)) | → | 0 | (11) |
s(s(s(s(s(s(s(0))))))) | → | k(s(s(0))) | (12) |
k(s(s(0))) | → | s(s(s(s(s(0))))) | (13) |
h(k(x),g(x)) | → | k(s(x)) | (14) |
k#(s(s(0))) | → | s#(s(s(0))) | (30) |
[h(x1, x2)] | = |
|
|||||||||||||||||||||
[s(x1)] | = |
|
|||||||||||||||||||||
[g(x1)] | = |
|
|||||||||||||||||||||
[k(x1)] | = |
|
|||||||||||||||||||||
[k#(x1)] | = |
|
|||||||||||||||||||||
[0] | = |
|
|||||||||||||||||||||
[s#(x1)] | = |
|
|||||||||||||||||||||
[f(x1)] | = |
|
s(s(0)) | → | f(s(0)) | (1) |
g(x) | → | h(x,x) | (2) |
s(x) | → | h(x,0) | (3) |
s(x) | → | h(0,x) | (4) |
f(g(x)) | → | g(g(f(x))) | (5) |
g(s(x)) | → | s(s(g(x))) | (6) |
h(f(x),g(x)) | → | f(s(x)) | (7) |
s(0) | → | k(0) | (8) |
s(k(0)) | → | 0 | (9) |
s(s(0)) | → | k(s(0)) | (10) |
k(s(0)) | → | 0 | (11) |
s(s(s(s(s(s(s(0))))))) | → | k(s(s(0))) | (12) |
k(s(s(0))) | → | s(s(s(s(s(0))))) | (13) |
h(k(x),g(x)) | → | k(s(x)) | (14) |
s#(s(s(s(s(s(s(0))))))) | → | k#(s(s(0))) | (29) |
k#(s(s(0))) | → | s#(s(s(s(0)))) | (31) |
The dependency pairs are split into 0 components.