Term Rewriting System R:
[X, Y]
ackin(0, X) -> ackout(s(X))
ackin(s(X), 0) -> u11(ackin(X, s(0)))
ackin(s(X), s(Y)) -> u21(ackin(s(X), Y), X)
u11(ackout(X)) -> ackout(X)
u21(ackout(X), Y) -> u22(ackin(Y, X))
u22(ackout(X)) -> ackout(X)

Termination of R to be shown.



   R
Dependency Pair Analysis



R contains the following Dependency Pairs:

ACKIN(s(X), 0) -> U11(ackin(X, s(0)))
ACKIN(s(X), 0) -> ACKIN(X, s(0))
ACKIN(s(X), s(Y)) -> U21(ackin(s(X), Y), X)
ACKIN(s(X), s(Y)) -> ACKIN(s(X), Y)
U21(ackout(X), Y) -> U22(ackin(Y, X))
U21(ackout(X), Y) -> ACKIN(Y, X)

Furthermore, R contains one SCC.


   R
DPs
       →DP Problem 1
Argument Filtering and Ordering


Dependency Pairs:

ACKIN(s(X), s(Y)) -> ACKIN(s(X), Y)
U21(ackout(X), Y) -> ACKIN(Y, X)
ACKIN(s(X), s(Y)) -> U21(ackin(s(X), Y), X)
ACKIN(s(X), 0) -> ACKIN(X, s(0))


Rules:


ackin(0, X) -> ackout(s(X))
ackin(s(X), 0) -> u11(ackin(X, s(0)))
ackin(s(X), s(Y)) -> u21(ackin(s(X), Y), X)
u11(ackout(X)) -> ackout(X)
u21(ackout(X), Y) -> u22(ackin(Y, X))
u22(ackout(X)) -> ackout(X)





The following dependency pairs can be strictly oriented:

U21(ackout(X), Y) -> ACKIN(Y, X)
ACKIN(s(X), s(Y)) -> U21(ackin(s(X), Y), X)
ACKIN(s(X), 0) -> ACKIN(X, s(0))


The following rules can be oriented:

ackin(0, X) -> ackout(s(X))
ackin(s(X), 0) -> u11(ackin(X, s(0)))
ackin(s(X), s(Y)) -> u21(ackin(s(X), Y), X)
u11(ackout(X)) -> ackout(X)
u21(ackout(X), Y) -> u22(ackin(Y, X))
u22(ackout(X)) -> ackout(X)


Used ordering: Lexicographic Path Order with Non-Strict Precedence with Quasi Precedence:
u21 > {ackin, ackout}
ACKIN > {ackin, ackout}
0 > {ackin, ackout}
u11 > {ackin, ackout}
s > U21 > {ackin, ackout}
u22 > {ackin, ackout}

resulting in one new DP problem.
Used Argument Filtering System:
ACKIN(x1, x2) -> x1
s(x1) -> s(x1)
U21(x1, x2) -> U21(x1, x2)
ackin(x1, x2) -> ackin
ackout(x1) -> ackout
u11(x1) -> x1
u21(x1, x2) -> x1
u22(x1) -> x1


   R
DPs
       →DP Problem 1
AFS
           →DP Problem 2
Argument Filtering and Ordering


Dependency Pair:

ACKIN(s(X), s(Y)) -> ACKIN(s(X), Y)


Rules:


ackin(0, X) -> ackout(s(X))
ackin(s(X), 0) -> u11(ackin(X, s(0)))
ackin(s(X), s(Y)) -> u21(ackin(s(X), Y), X)
u11(ackout(X)) -> ackout(X)
u21(ackout(X), Y) -> u22(ackin(Y, X))
u22(ackout(X)) -> ackout(X)





The following dependency pair can be strictly oriented:

ACKIN(s(X), s(Y)) -> ACKIN(s(X), Y)


The following rules can be oriented:

ackin(0, X) -> ackout(s(X))
ackin(s(X), 0) -> u11(ackin(X, s(0)))
ackin(s(X), s(Y)) -> u21(ackin(s(X), Y), X)
u11(ackout(X)) -> ackout(X)
u21(ackout(X), Y) -> u22(ackin(Y, X))
u22(ackout(X)) -> ackout(X)


Used ordering: Lexicographic Path Order with Non-Strict Precedence with Quasi Precedence:
ackin > {u21, u22} > ackout > 0
ackin > u11 > 0
ACKIN > 0
s > 0

resulting in one new DP problem.
Used Argument Filtering System:
ACKIN(x1, x2) -> ACKIN(x1, x2)
s(x1) -> s(x1)
ackin(x1, x2) -> ackin(x1, x2)
ackout(x1) -> ackout
u11(x1) -> u11(x1)
u21(x1, x2) -> u21(x1, x2)
u22(x1) -> u22


   R
DPs
       →DP Problem 1
AFS
           →DP Problem 2
AFS
             ...
               →DP Problem 3
Dependency Graph


Dependency Pair:


Rules:


ackin(0, X) -> ackout(s(X))
ackin(s(X), 0) -> u11(ackin(X, s(0)))
ackin(s(X), s(Y)) -> u21(ackin(s(X), Y), X)
u11(ackout(X)) -> ackout(X)
u21(ackout(X), Y) -> u22(ackin(Y, X))
u22(ackout(X)) -> ackout(X)





Using the Dependency Graph resulted in no new DP problems.

Termination of R successfully shown.
Duration:
0:01 minutes