Certification Problem

Input (TPDB SRS_Standard/Secret_06_SRS/aprove03)

The rewrite relation of the following TRS is considered.

thrice(0(x1)) p(s(p(p(p(s(s(s(0(p(s(p(s(x1))))))))))))) (1)
thrice(s(x1)) p(p(s(s(half(p(p(s(s(p(s(sixtimes(p(s(p(p(s(s(x1)))))))))))))))))) (2)
half(0(x1)) p(p(s(s(p(s(0(p(s(s(s(s(x1)))))))))))) (3)
half(s(x1)) p(s(p(p(s(s(p(p(s(s(half(p(p(s(s(p(s(x1))))))))))))))))) (4)
half(s(s(x1))) p(s(p(s(s(p(p(s(s(half(p(p(s(s(p(s(x1)))))))))))))))) (5)
sixtimes(0(x1)) p(s(p(s(0(s(s(s(s(s(p(s(p(s(x1)))))))))))))) (6)
sixtimes(s(x1)) p(p(s(s(s(s(s(s(s(p(p(s(p(s(s(s(sixtimes(p(s(p(p(p(s(s(s(x1))))))))))))))))))))))))) (7)
p(p(s(x1))) p(x1) (8)
p(s(x1)) x1 (9)
p(0(x1)) 0(s(s(s(s(x1))))) (10)
0(x1) x1 (11)

Property / Task

Prove or disprove termination.

Answer / Result

Yes.

Proof (by AProVE @ termCOMP 2023)

1 Rule Removal

Using the linear polynomial interpretation over the naturals
[thrice(x1)] = 1 · x1 + 3
[0(x1)] = 1 · x1 + 1
[p(x1)] = 1 · x1
[s(x1)] = 1 · x1
[half(x1)] = 1 · x1 + 1
[sixtimes(x1)] = 1 · x1 + 1
all of the following rules can be deleted.
thrice(0(x1)) p(s(p(p(p(s(s(s(0(p(s(p(s(x1))))))))))))) (1)
thrice(s(x1)) p(p(s(s(half(p(p(s(s(p(s(sixtimes(p(s(p(p(s(s(x1)))))))))))))))))) (2)
half(0(x1)) p(p(s(s(p(s(0(p(s(s(s(s(x1)))))))))))) (3)
sixtimes(0(x1)) p(s(p(s(0(s(s(s(s(s(p(s(p(s(x1)))))))))))))) (6)
0(x1) x1 (11)

1.1 Dependency Pair Transformation

The following set of initial dependency pairs has been identified.
half#(s(x1)) p#(s(p(p(s(s(p(p(s(s(half(p(p(s(s(p(s(x1))))))))))))))))) (12)
half#(s(x1)) p#(p(s(s(p(p(s(s(half(p(p(s(s(p(s(x1))))))))))))))) (13)
half#(s(x1)) p#(s(s(p(p(s(s(half(p(p(s(s(p(s(x1)))))))))))))) (14)
half#(s(x1)) p#(p(s(s(half(p(p(s(s(p(s(x1))))))))))) (15)
half#(s(x1)) p#(s(s(half(p(p(s(s(p(s(x1)))))))))) (16)
half#(s(x1)) half#(p(p(s(s(p(s(x1))))))) (17)
half#(s(x1)) p#(p(s(s(p(s(x1)))))) (18)
half#(s(x1)) p#(s(s(p(s(x1))))) (19)
half#(s(x1)) p#(s(x1)) (20)
half#(s(s(x1))) p#(s(p(s(s(p(p(s(s(half(p(p(s(s(p(s(x1)))))))))))))))) (21)
half#(s(s(x1))) p#(s(s(p(p(s(s(half(p(p(s(s(p(s(x1)))))))))))))) (22)
half#(s(s(x1))) p#(p(s(s(half(p(p(s(s(p(s(x1))))))))))) (23)
half#(s(s(x1))) p#(s(s(half(p(p(s(s(p(s(x1)))))))))) (24)
half#(s(s(x1))) half#(p(p(s(s(p(s(x1))))))) (25)
half#(s(s(x1))) p#(p(s(s(p(s(x1)))))) (26)
half#(s(s(x1))) p#(s(s(p(s(x1))))) (27)
half#(s(s(x1))) p#(s(x1)) (28)
sixtimes#(s(x1)) p#(p(s(s(s(s(s(s(s(p(p(s(p(s(s(s(sixtimes(p(s(p(p(p(s(s(s(x1))))))))))))))))))))))))) (29)
sixtimes#(s(x1)) p#(s(s(s(s(s(s(s(p(p(s(p(s(s(s(sixtimes(p(s(p(p(p(s(s(s(x1)))))))))))))))))))))))) (30)
sixtimes#(s(x1)) p#(p(s(p(s(s(s(sixtimes(p(s(p(p(p(s(s(s(x1)))))))))))))))) (31)
sixtimes#(s(x1)) p#(s(p(s(s(s(sixtimes(p(s(p(p(p(s(s(s(x1))))))))))))))) (32)
sixtimes#(s(x1)) p#(s(s(s(sixtimes(p(s(p(p(p(s(s(s(x1))))))))))))) (33)
sixtimes#(s(x1)) sixtimes#(p(s(p(p(p(s(s(s(x1))))))))) (34)
sixtimes#(s(x1)) p#(s(p(p(p(s(s(s(x1)))))))) (35)
sixtimes#(s(x1)) p#(p(p(s(s(s(x1)))))) (36)
sixtimes#(s(x1)) p#(p(s(s(s(x1))))) (37)
sixtimes#(s(x1)) p#(s(s(s(x1)))) (38)
p#(p(s(x1))) p#(x1) (39)

1.1.1 Dependency Graph Processor

The dependency pairs are split into 3 components.