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:

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


The following usable rules w.r.t. to the AFS 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)
u21(ackout(X), Y) -> u22(ackin(Y, X))
u11(ackout(X)) -> ackout(X)
u22(ackout(X)) -> ackout(X)


Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(u11(x1))=  x1  
  POL(u22(x1))=  x1  
  POL(U21(x1, x2))=  x1 + x2  
  POL(ackin)=  0  
  POL(s(x1))=  1 + x1  
  POL(ackout)=  0  

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) -> u11(x1)
u21(x1, x2) -> x1
u22(x1) -> u22(x1)


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


Dependency Pairs:

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


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 the DP problem was split into 1 DP problems.


   R
DPs
       →DP Problem 1
AFS
           →DP Problem 2
DGraph
             ...
               →DP Problem 3
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)


There are no usable rules w.r.t. to the AFS that need to be oriented.
Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(s(x1))=  1 + x1  
  POL(ACKIN(x1, x2))=  x1 + x2  

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


   R
DPs
       →DP Problem 1
AFS
           →DP Problem 2
DGraph
             ...
               →DP Problem 4
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