The rewrite relation of the following TRS is considered.
| app(app(F,app(app(F,f),x)),x) | → | app(app(F,app(G,app(app(F,f),x))),app(f,x)) | (1) |
We uncurry the binary symbol app in combination with the following symbol map which also determines the applicative arities of these symbols.
| F | is mapped to | F, | F1(x1), | F2(x1, x2) |
| G | is mapped to | G, | G1(x1) |
| F2(F2(f,x),x) | → | F2(G1(F2(f,x)),app(f,x)) | (5) |
| app(F,y1) | → | F1(y1) | (2) |
| app(F1(x0),y1) | → | F2(x0,y1) | (3) |
| app(G,y1) | → | G1(y1) | (4) |
| F2#(F2(f,x),x) | → | F2#(G1(F2(f,x)),app(f,x)) | (6) |
| F2#(F2(f,x),x) | → | app#(f,x) | (7) |
| app#(F1(x0),y1) | → | F2#(x0,y1) | (8) |
The dependency pairs are split into 1 component.
| F2#(F2(f,x),x) | → | app#(f,x) | (7) |
| app#(F1(x0),y1) | → | F2#(x0,y1) | (8) |
| [F2(x1, x2)] | = | 1 · x1 + 1 · x2 |
| [F1(x1)] | = | 1 · x1 |
| [app#(x1, x2)] | = | 1 · x1 + 1 · x2 |
| [F2#(x1, x2)] | = | 1 · x1 + 1 · x2 |
Using size-change termination in combination with the subterm criterion one obtains the following initial size-change graphs.
| app#(F1(x0),y1) | → | F2#(x0,y1) | (8) |
| 1 | > | 1 | |
| 2 | ≥ | 2 | |
| F2#(F2(f,x),x) | → | app#(f,x) | (7) |
| 1 | > | 1 | |
| 1 | > | 2 | |
| 2 | ≥ | 2 |
As there is no critical graph in the transitive closure, there are no infinite chains.