Term Rewriting System R: [x, y] -(x, 0) -> x -(0, s(y)) -> 0 -(s(x), s(y)) -> -(x, y) f(0) -> 0 f(s(x)) -> -(s(x), g(f(x))) g(0) -> s(0) g(s(x)) -> -(s(x), f(g(x))) Termination of R to be shown. This program has no overlaps, so it is sufficient to show innermost termination. R contains the following Dependency Pairs: F(s(x)) -> -'(s(x), g(f(x))) F(s(x)) -> G(f(x)) F(s(x)) -> F(x) -'(s(x), s(y)) -> -'(x, y) G(s(x)) -> -'(s(x), f(g(x))) G(s(x)) -> F(g(x)) G(s(x)) -> G(x) Furthermore, R contains two SCCs. SCC1: -'(s(x), s(y)) -> -'(x, y) Removing rules from R by ordering and analyzing Dependency Pairs, Usable Rules, and Usable Equations. This is possible by using the following (C_E-compatible) Polynomial ordering. Polynomial interpretation: POL(s(x_1)) = 1 + x_1 POL(-'(x_1, x_2)) = 1 + x_1 + x_2 The following Dependency Pairs can be deleted: -'(s(x), s(y)) -> -'(x, y) This transformation is resulting in no new subcycles. SCC2: G(s(x)) -> G(x) F(s(x)) -> F(x) G(s(x)) -> F(g(x)) F(s(x)) -> G(f(x)) By using a polynomial ordering, at least one Dependency Pair of this SCC can be strictly oriented. Additionally, the following rules can be oriented: g(0) -> s(0) g(s(x)) -> -(s(x), f(g(x))) f(0) -> 0 f(s(x)) -> -(s(x), g(f(x))) -(s(x), s(y)) -> -(x, y) -(x, 0) -> x -(0, s(y)) -> 0 Used ordering: Polynomial ordering with Polynomial interpretation: POL(g(x_1)) = 1 + x_1 POL(s(x_1)) = 1 + x_1 POL(G(x_1)) = x_1 POL(-(x_1, x_2)) = x_1 POL(F(x_1)) = x_1 POL(f(x_1)) = x_1 POL(0) = 0 resulting in no subcycles. Termination of R successfully shown. Duration: 0.873 seconds.