Term Rewriting System R: [x, y, z] minus(x, 0) -> x minus(s(x), s(y)) -> minus(x, y) quot(0, s(y)) -> 0 quot(s(x), s(y)) -> s(quot(minus(x, y), s(y))) plus(0, y) -> y plus(s(x), y) -> s(plus(x, y)) plus(minus(x, s(0)), minus(y, s(s(z)))) -> plus(minus(y, s(s(z))), minus(x, s(0))) plus(plus(x, s(0)), plus(y, s(s(z)))) -> plus(plus(y, s(s(z))), plus(x, s(0))) Termination of R to be shown. R contains the following Dependency Pairs: QUOT(s(x), s(y)) -> QUOT(minus(x, y), s(y)) QUOT(s(x), s(y)) -> MINUS(x, y) MINUS(s(x), s(y)) -> MINUS(x, y) PLUS(s(x), y) -> PLUS(x, y) PLUS(plus(x, s(0)), plus(y, s(s(z)))) -> PLUS(plus(y, s(s(z))), plus(x, s(0))) PLUS(minus(x, s(0)), minus(y, s(s(z)))) -> PLUS(minus(y, s(s(z))), minus(x, s(0))) Furthermore, R contains three SCCs. SCC1: MINUS(s(x), s(y)) -> MINUS(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(MINUS(x_1, x_2)) = 1 + x_1 + x_2 The following Dependency Pairs can be deleted: MINUS(s(x), s(y)) -> MINUS(x, y) This transformation is resulting in no new subcycles. SCC2: QUOT(s(x), s(y)) -> QUOT(minus(x, y), s(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: minus(s(x), s(y)) -> minus(x, y) minus(x, 0) -> x Used ordering: Polynomial ordering with Polynomial interpretation: POL(s(x_1)) = 1 + x_1 POL(minus(x_1, x_2)) = x_1 POL(QUOT(x_1, x_2)) = x_1 + x_2 POL(0) = 1 resulting in no subcycles. SCC3: PLUS(minus(x, s(0)), minus(y, s(s(z)))) -> PLUS(minus(y, s(s(z))), minus(x, s(0))) PLUS(plus(x, s(0)), plus(y, s(s(z)))) -> PLUS(plus(y, s(s(z))), plus(x, s(0))) PLUS(s(x), y) -> PLUS(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(PLUS(x_1, x_2)) = 1 + x_1 + x_2 POL(s(x_1)) = x_1 POL(plus(x_1, x_2)) = x_1 + x_2 POL(minus(x_1, x_2)) = 1 + x_1 + x_2 POL(0) = 0 No Dependency Pairs can be deleted. The following rules of R can be deleted: quot(0, s(y)) -> 0 quot(s(x), s(y)) -> s(quot(minus(x, y), s(y))) minus(x, 0) -> x This transformation is resulting in one new subcycle: SCC3.MRR1: PLUS(plus(x, s(0)), plus(y, s(s(z)))) -> PLUS(plus(y, s(s(z))), plus(x, s(0))) PLUS(s(x), y) -> PLUS(x, y) PLUS(minus(x, s(0)), minus(y, s(s(z)))) -> PLUS(minus(y, s(s(z))), minus(x, s(0))) 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(PLUS(x_1, x_2)) = 1 + x_1 + x_2 POL(plus(x_1, x_2)) = 1 + x_1 + x_2 POL(s(x_1)) = x_1 POL(minus(x_1, x_2)) = 1 + x_1 + x_2 POL(0) = 0 No Dependency Pairs can be deleted. The following rules of R can be deleted: plus(0, y) -> y This transformation is resulting in one new subcycle: SCC3.MRR1.MRR1: PLUS(minus(x, s(0)), minus(y, s(s(z)))) -> PLUS(minus(y, s(s(z))), minus(x, s(0))) PLUS(s(x), y) -> PLUS(x, y) PLUS(plus(x, s(0)), plus(y, s(s(z)))) -> PLUS(plus(y, s(s(z))), plus(x, s(0))) 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(PLUS(x_1, x_2)) = 1 + x_1 + x_2 POL(s(x_1)) = 1 + x_1 POL(plus(x_1, x_2)) = x_1 + x_2 POL(minus(x_1, x_2)) = 1 + x_1 + x_2 POL(0) = 0 The following Dependency Pairs can be deleted: PLUS(s(x), y) -> PLUS(x, y) The following rules of R can be deleted: minus(s(x), s(y)) -> minus(x, y) This transformation is resulting in one new subcycle: SCC3.MRR1.MRR1.MRR1: PLUS(plus(x, s(0)), plus(y, s(s(z)))) -> PLUS(plus(y, s(s(z))), plus(x, s(0))) On this Scc, a Narrowing SCC transformation can be performed. As a result of transforming the rule PLUS(plus(x, s(0)), plus(y, s(s(z)))) -> PLUS(plus(y, s(s(z))), plus(x, s(0))) two new Dependency Pairs are created: PLUS(plus(x, s(0)), plus(s(x''), s(s(z')))) -> PLUS(s(plus(x'', s(s(z')))), plus(x, s(0))) PLUS(plus(s(x''), s(0)), plus(y, s(s(z)))) -> PLUS(plus(y, s(s(z))), s(plus(x'', s(0)))) The transformation is resulting in no subcycles. Termination of R successfully shown. Duration: 1.20 seconds.