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