(0) Obligation:

Q restricted rewrite system:
The TRS R consists of the following rules:

ack_in(0, n) → ack_out(s(n))
ack_in(s(m), 0) → u11(ack_in(m, s(0)))
u11(ack_out(n)) → ack_out(n)
ack_in(s(m), s(n)) → u21(ack_in(s(m), n), m)
u21(ack_out(n), m) → u22(ack_in(m, n))
u22(ack_out(n)) → ack_out(n)

Q is empty.

(1) QTRSRRRProof (EQUIVALENT transformation)

Used ordering:
Combined order from the following AFS and order.
ack_in(x1, x2)  =  ack_in(x1, x2)
0  =  0
ack_out(x1)  =  ack_out(x1)
s(x1)  =  s(x1)
u11(x1)  =  x1
u21(x1, x2)  =  u21(x1, x2)
u22(x1)  =  u22(x1)

Recursive path order with status [RPO].
Quasi-Precedence:
[ackin2, u212] > [0, s1] > ackout1
[ackin2, u212] > u221 > ackout1

Status:
ackin2: [1,2]
u221: multiset
u212: [2,1]
s1: [1]
0: multiset
ackout1: multiset

With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly:

ack_in(0, n) → ack_out(s(n))
ack_in(s(m), 0) → u11(ack_in(m, s(0)))
ack_in(s(m), s(n)) → u21(ack_in(s(m), n), m)
u21(ack_out(n), m) → u22(ack_in(m, n))
u22(ack_out(n)) → ack_out(n)


(2) Obligation:

Q restricted rewrite system:
The TRS R consists of the following rules:

u11(ack_out(n)) → ack_out(n)

Q is empty.

(3) QTRSRRRProof (EQUIVALENT transformation)

Used ordering:
Polynomial interpretation [POLO]:

POL(ack_out(x1)) = x1   
POL(u11(x1)) = 1 + x1   
With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly:

u11(ack_out(n)) → ack_out(n)


(4) Obligation:

Q restricted rewrite system:
R is empty.
Q is empty.

(5) RisEmptyProof (EQUIVALENT transformation)

The TRS R is empty. Hence, termination is trivially proven.

(6) TRUE