Term Rewriting System R: [x, y] plus(s(s(x)), y) -> s(plus(x, s(y))) plus(x, s(s(y))) -> s(plus(s(x), y)) plus(s(0), y) -> s(y) plus(0, y) -> y ack(0, y) -> s(y) ack(s(x), 0) -> ack(x, s(0)) ack(s(x), s(y)) -> ack(x, plus(y, ack(s(x), y))) Termination of R to be shown. R contains the following Dependency Pairs: PLUS(s(s(x)), y) -> PLUS(x, s(y)) PLUS(x, s(s(y))) -> PLUS(s(x), y) ACK(s(x), 0) -> ACK(x, s(0)) ACK(s(x), s(y)) -> ACK(x, plus(y, ack(s(x), y))) ACK(s(x), s(y)) -> PLUS(y, ack(s(x), y)) ACK(s(x), s(y)) -> ACK(s(x), y) Furthermore, R contains two SCCs. SCC1: PLUS(x, s(s(y))) -> PLUS(s(x), y) PLUS(s(s(x)), y) -> PLUS(x, s(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)) = x_1 + x_2 POL(s(x_1)) = x_1 No Dependency Pairs can be deleted. The following rules of R can be deleted: plus(s(0), y) -> s(y) plus(s(s(x)), y) -> s(plus(x, s(y))) plus(x, s(s(y))) -> s(plus(s(x), y)) plus(0, y) -> y ack(s(x), 0) -> ack(x, s(0)) ack(s(x), s(y)) -> ack(x, plus(y, ack(s(x), y))) ack(0, y) -> s(y) This transformation is resulting in one new subcycle: SCC1.MRR1: PLUS(s(s(x)), y) -> PLUS(x, s(y)) PLUS(x, s(s(y))) -> PLUS(s(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)) = 1 + x_1 The following Dependency Pairs can be deleted: PLUS(s(s(x)), y) -> PLUS(x, s(y)) PLUS(x, s(s(y))) -> PLUS(s(x), y) This transformation is resulting in no new subcycles. SCC2: ACK(s(x), s(y)) -> ACK(s(x), y) ACK(s(x), s(y)) -> ACK(x, plus(y, ack(s(x), y))) ACK(s(x), 0) -> ACK(x, s(0)) By using a polynomial ordering, at least one Dependency Pair of this SCC can be strictly oriented. No rules need to be oriented. Used ordering: Polynomial ordering with Polynomial interpretation: POL(plus(x_1, x_2)) = 0 POL(s(x_1)) = 1 + x_1 POL(ack(x_1, x_2)) = 0 POL(ACK(x_1, x_2)) = x_1 POL(0) = 0 resulting in one subcycle. SCC2.Polo1: ACK(s(x), s(y)) -> ACK(s(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(ACK(x_1, x_2)) = 1 + x_1 + x_2 The following Dependency Pairs can be deleted: ACK(s(x), s(y)) -> ACK(s(x), y) This transformation is resulting in no new subcycles. Termination of R successfully shown. Duration: 0.819 seconds.