Term Rewriting System R: [x, y] f(0) -> true f(1) -> false f(s(x)) -> f(x) if(true, x, y) -> x if(false, x, y) -> y g(s(x), s(y)) -> if(f(x), s(x), s(y)) g(x, c(y)) -> g(x, g(s(c(y)), y)) Innermost Termination of R to be shown. R contains the following Dependency Pairs: F(s(x)) -> F(x) G(s(x), s(y)) -> IF(f(x), s(x), s(y)) G(s(x), s(y)) -> F(x) G(x, c(y)) -> G(x, g(s(c(y)), y)) G(x, c(y)) -> G(s(c(y)), y) Furthermore, R contains two SCCs. SCC1: F(s(x)) -> F(x) 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(F(x_1)) = 1 + x_1 The following Dependency Pairs can be deleted: F(s(x)) -> F(x) This transformation is resulting in no new subcycles. SCC2: G(x, c(y)) -> G(s(c(y)), y) G(x, c(y)) -> G(x, g(s(c(y)), y)) 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(s(x), s(y)) -> if(f(x), s(x), s(y)) g(x, c(y)) -> g(x, g(s(c(y)), y)) if(true, x, y) -> x if(false, x, y) -> y Used ordering: Polynomial ordering with Polynomial interpretation: POL(g(x_1, x_2)) = 0 POL(s(x_1)) = 0 POL(1) = 0 POL(G(x_1, x_2)) = x_2 POL(true) = 0 POL(f(x_1)) = 0 POL(c(x_1)) = 1 + x_1 POL(if(x_1, x_2, x_3)) = x_2 + x_3 POL(0) = 0 POL(false) = 0 resulting in no subcycles. Innermost Termination of R successfully shown. Duration: 0.694 seconds.