Certification Problem

Input (TPDB SRS_Standard/Secret_06_SRS/aprove06)

The rewrite relation of the following TRS is considered.

tower(0(x1)) s(0(p(s(p(s(x1)))))) (1)
tower(s(x1)) p(s(p(s(twoto(p(s(p(s(tower(p(s(p(s(x1)))))))))))))) (2)
twoto(0(x1)) s(0(x1)) (3)
twoto(s(x1)) p(p(s(p(p(p(s(s(p(s(s(p(s(s(p(s(twice(p(s(p(s(p(p(p(s(s(s(twoto(p(s(p(s(x1)))))))))))))))))))))))))))))))) (4)
twice(0(x1)) 0(x1) (5)
twice(s(x1)) p(p(p(s(s(s(s(s(twice(p(p(p(s(s(s(x1))))))))))))))) (6)
p(p(s(x1))) p(x1) (7)
p(s(x1)) x1 (8)
p(0(x1)) 0(s(s(s(s(s(s(s(s(x1))))))))) (9)

Property / Task

Prove or disprove termination.

Answer / Result

Yes.

Proof (by ttt2 @ termCOMP 2023)

1 String Reversal

Since only unary symbols occur, one can reverse all terms and obtains the TRS
0(tower(x1)) s(p(s(p(0(s(x1)))))) (10)
s(tower(x1)) s(p(s(p(tower(s(p(s(p(twoto(s(p(s(p(x1)))))))))))))) (11)
0(twoto(x1)) 0(s(x1)) (12)
s(twoto(x1)) s(p(s(p(twoto(s(s(s(p(p(p(s(p(s(p(twice(s(p(s(s(p(s(s(p(s(s(p(p(p(s(p(p(x1)))))))))))))))))))))))))))))))) (13)
0(twice(x1)) 0(x1) (14)
s(twice(x1)) s(s(s(p(p(p(twice(s(s(s(s(s(p(p(p(x1))))))))))))))) (15)
s(p(p(x1))) p(x1) (16)
s(p(x1)) x1 (17)
0(p(x1)) s(s(s(s(s(s(s(s(0(x1))))))))) (18)

1.1 Rule Removal

Using the linear polynomial interpretation over the arctic semiring over the integers
[twoto(x1)] = 0 · x1 + -∞
[tower(x1)] = 5 · x1 + -∞
[p(x1)] = 0 · x1 + -∞
[twice(x1)] = 0 · x1 + -∞
[0(x1)] = 0 · x1 + -∞
[s(x1)] = 0 · x1 + -∞
all of the following rules can be deleted.
0(tower(x1)) s(p(s(p(0(s(x1)))))) (10)

1.1.1 Dependency Pair Transformation

The following set of initial dependency pairs has been identified.
s#(tower(x1)) s#(p(x1)) (19)
s#(tower(x1)) s#(p(s(p(x1)))) (20)
s#(tower(x1)) s#(p(twoto(s(p(s(p(x1))))))) (21)
s#(tower(x1)) s#(p(s(p(twoto(s(p(s(p(x1))))))))) (22)
s#(tower(x1)) s#(p(tower(s(p(s(p(twoto(s(p(s(p(x1)))))))))))) (23)
s#(tower(x1)) s#(p(s(p(tower(s(p(s(p(twoto(s(p(s(p(x1)))))))))))))) (24)
0#(twoto(x1)) s#(x1) (25)
0#(twoto(x1)) 0#(s(x1)) (26)
s#(twoto(x1)) s#(p(p(x1))) (27)
s#(twoto(x1)) s#(p(p(p(s(p(p(x1))))))) (28)
s#(twoto(x1)) s#(s(p(p(p(s(p(p(x1)))))))) (29)
s#(twoto(x1)) s#(p(s(s(p(p(p(s(p(p(x1)))))))))) (30)
s#(twoto(x1)) s#(s(p(s(s(p(p(p(s(p(p(x1))))))))))) (31)
s#(twoto(x1)) s#(p(s(s(p(s(s(p(p(p(s(p(p(x1))))))))))))) (32)
s#(twoto(x1)) s#(s(p(s(s(p(s(s(p(p(p(s(p(p(x1)))))))))))))) (33)
s#(twoto(x1)) s#(p(s(s(p(s(s(p(s(s(p(p(p(s(p(p(x1)))))))))))))))) (34)
s#(twoto(x1)) s#(p(twice(s(p(s(s(p(s(s(p(s(s(p(p(p(s(p(p(x1))))))))))))))))))) (35)
s#(twoto(x1)) s#(p(s(p(twice(s(p(s(s(p(s(s(p(s(s(p(p(p(s(p(p(x1))))))))))))))))))))) (36)
s#(twoto(x1)) s#(p(p(p(s(p(s(p(twice(s(p(s(s(p(s(s(p(s(s(p(p(p(s(p(p(x1))))))))))))))))))))))))) (37)
s#(twoto(x1)) s#(s(p(p(p(s(p(s(p(twice(s(p(s(s(p(s(s(p(s(s(p(p(p(s(p(p(x1)))))))))))))))))))))))))) (38)
s#(twoto(x1)) s#(s(s(p(p(p(s(p(s(p(twice(s(p(s(s(p(s(s(p(s(s(p(p(p(s(p(p(x1))))))))))))))))))))))))))) (39)
s#(twoto(x1)) s#(p(twoto(s(s(s(p(p(p(s(p(s(p(twice(s(p(s(s(p(s(s(p(s(s(p(p(p(s(p(p(x1)))))))))))))))))))))))))))))) (40)
s#(twoto(x1)) s#(p(s(p(twoto(s(s(s(p(p(p(s(p(s(p(twice(s(p(s(s(p(s(s(p(s(s(p(p(p(s(p(p(x1)))))))))))))))))))))))))))))))) (41)
0#(twice(x1)) 0#(x1) (42)
s#(twice(x1)) s#(p(p(p(x1)))) (43)
s#(twice(x1)) s#(s(p(p(p(x1))))) (44)
s#(twice(x1)) s#(s(s(p(p(p(x1)))))) (45)
s#(twice(x1)) s#(s(s(s(p(p(p(x1))))))) (46)
s#(twice(x1)) s#(s(s(s(s(p(p(p(x1)))))))) (47)
s#(twice(x1)) s#(p(p(p(twice(s(s(s(s(s(p(p(p(x1))))))))))))) (48)
s#(twice(x1)) s#(s(p(p(p(twice(s(s(s(s(s(p(p(p(x1)))))))))))))) (49)
s#(twice(x1)) s#(s(s(p(p(p(twice(s(s(s(s(s(p(p(p(x1))))))))))))))) (50)
0#(p(x1)) 0#(x1) (51)
0#(p(x1)) s#(0(x1)) (52)
0#(p(x1)) s#(s(0(x1))) (53)
0#(p(x1)) s#(s(s(0(x1)))) (54)
0#(p(x1)) s#(s(s(s(0(x1))))) (55)
0#(p(x1)) s#(s(s(s(s(0(x1)))))) (56)
0#(p(x1)) s#(s(s(s(s(s(0(x1))))))) (57)
0#(p(x1)) s#(s(s(s(s(s(s(0(x1)))))))) (58)
0#(p(x1)) s#(s(s(s(s(s(s(s(0(x1))))))))) (59)

1.1.1.1 Dependency Graph Processor

The dependency pairs are split into 2 components.