Certification Problem

Input (TPDB TRS_Standard/CiME_04/ack_prolog)

The rewrite relation of the following TRS is considered.

ack_in(0,n) ack_out(s(n)) (1)
ack_in(s(m),0) u11(ack_in(m,s(0))) (2)
u11(ack_out(n)) ack_out(n) (3)
ack_in(s(m),s(n)) u21(ack_in(s(m),n),m) (4)
u21(ack_out(n),m) u22(ack_in(m,n)) (5)
u22(ack_out(n)) ack_out(n) (6)

Property / Task

Prove or disprove termination.

Answer / Result

Yes.

Proof (by AProVE @ termCOMP 2023)

1 Rule Removal

Using the
prec(ack_in) = 2 stat(ack_in) = lex
prec(0) = 1 stat(0) = lex
prec(ack_out) = 1 stat(ack_out) = lex
prec(s) = 1 stat(s) = lex
prec(u11) = 0 stat(u11) = lex
prec(u21) = 2 stat(u21) = lex

π(ack_in) = [1,2]
π(0) = []
π(ack_out) = [1]
π(s) = [1]
π(u11) = [1]
π(u21) = [2,1]
π(u22) = 1

all of the following rules can be deleted.
ack_in(0,n) ack_out(s(n)) (1)
ack_in(s(m),0) u11(ack_in(m,s(0))) (2)
u11(ack_out(n)) ack_out(n) (3)
ack_in(s(m),s(n)) u21(ack_in(s(m),n),m) (4)
u21(ack_out(n),m) u22(ack_in(m,n)) (5)

1.1 Rule Removal

Using the Knuth Bendix order with w0 = 1 and the following precedence and weight functions
prec(u22) = 1 weight(u22) = 0
prec(ack_out) = 0 weight(ack_out) = 1
all of the following rules can be deleted.
u22(ack_out(n)) ack_out(n) (6)

1.1.1 R is empty

There are no rules in the TRS. Hence, it is terminating.