(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) =
x1
Recursive path order with status [RPO].
Quasi-Precedence:
[ackin2, u212] > 0 > ackout1
[ackin2, u212] > 0 > s1
Status:
ackin2: [1,2]
0: multiset
ackout1: multiset
s1: multiset
u212: [2,1]
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))
(2) Obligation:
Q restricted rewrite system:
The TRS R consists of the following rules:
u11(ack_out(n)) → ack_out(n)
u22(ack_out(n)) → ack_out(n)
Q is empty.
(3) QTRSRRRProof (EQUIVALENT transformation)
Used ordering:
Knuth-Bendix order [KBO] with precedence:
u221 > u111 > ackout1
and weight map:
u11_1=1
ack_out_1=1
u22_1=0
The variable weight is 1With 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)
u22(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) YES