Certification Problem

Input (TPDB SRS_Standard/Secret_06_SRS/aprove04)

The rewrite relation of the following TRS is considered.

sq(0(x1)) p(s(p(s(p(p(p(p(s(s(s(s(0(p(s(p(s(x1))))))))))))))))) (1)
sq(s(x1)) s(p(s(p(s(p(p(s(s(twice(p(s(p(s(p(p(p(s(s(s(sq(p(p(p(p(p(p(s(s(s(s(s(s(x1))))))))))))))))))))))))))))))))) (2)
twice(0(x1)) p(p(p(p(s(s(p(s(s(s(0(p(p(p(s(s(s(p(p(s(s(p(s(p(s(p(s(x1))))))))))))))))))))))))))) (3)
twice(s(x1)) p(p(s(s(s(p(p(s(s(s(twice(p(s(p(s(x1))))))))))))))) (4)
p(p(s(x1))) p(x1) (5)
p(s(x1)) x1 (6)
p(0(x1)) 0(s(s(s(s(s(s(s(s(s(s(s(x1)))))))))))) (7)
0(x1) x1 (8)

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
[sq(x1)] = 1 · x1 + 1
[0(x1)] = 1 · x1 + 1
[p(x1)] = 1 · x1
[s(x1)] = 1 · x1
[twice(x1)] = 1 · x1
all of the following rules can be deleted.
sq(0(x1)) p(s(p(s(p(p(p(p(s(s(s(s(0(p(s(p(s(x1))))))))))))))))) (1)
0(x1) x1 (8)

1.1 Dependency Pair Transformation

The following set of initial dependency pairs has been identified.
sq#(s(x1)) p#(s(p(s(p(p(s(s(twice(p(s(p(s(p(p(p(s(s(s(sq(p(p(p(p(p(p(s(s(s(s(s(s(x1)))))))))))))))))))))))))))))))) (9)
sq#(s(x1)) p#(s(p(p(s(s(twice(p(s(p(s(p(p(p(s(s(s(sq(p(p(p(p(p(p(s(s(s(s(s(s(x1)))))))))))))))))))))))))))))) (10)
sq#(s(x1)) p#(p(s(s(twice(p(s(p(s(p(p(p(s(s(s(sq(p(p(p(p(p(p(s(s(s(s(s(s(x1)))))))))))))))))))))))))))) (11)
sq#(s(x1)) p#(s(s(twice(p(s(p(s(p(p(p(s(s(s(sq(p(p(p(p(p(p(s(s(s(s(s(s(x1))))))))))))))))))))))))))) (12)
sq#(s(x1)) twice#(p(s(p(s(p(p(p(s(s(s(sq(p(p(p(p(p(p(s(s(s(s(s(s(x1)))))))))))))))))))))))) (13)
sq#(s(x1)) p#(s(p(s(p(p(p(s(s(s(sq(p(p(p(p(p(p(s(s(s(s(s(s(x1))))))))))))))))))))))) (14)
sq#(s(x1)) p#(s(p(p(p(s(s(s(sq(p(p(p(p(p(p(s(s(s(s(s(s(x1))))))))))))))))))))) (15)
sq#(s(x1)) p#(p(p(s(s(s(sq(p(p(p(p(p(p(s(s(s(s(s(s(x1))))))))))))))))))) (16)
sq#(s(x1)) p#(p(s(s(s(sq(p(p(p(p(p(p(s(s(s(s(s(s(x1)))))))))))))))))) (17)
sq#(s(x1)) p#(s(s(s(sq(p(p(p(p(p(p(s(s(s(s(s(s(x1))))))))))))))))) (18)
sq#(s(x1)) sq#(p(p(p(p(p(p(s(s(s(s(s(s(x1))))))))))))) (19)
sq#(s(x1)) p#(p(p(p(p(p(s(s(s(s(s(s(x1)))))))))))) (20)
sq#(s(x1)) p#(p(p(p(p(s(s(s(s(s(s(x1))))))))))) (21)
sq#(s(x1)) p#(p(p(p(s(s(s(s(s(s(x1)))))))))) (22)
sq#(s(x1)) p#(p(p(s(s(s(s(s(s(x1))))))))) (23)
sq#(s(x1)) p#(p(s(s(s(s(s(s(x1)))))))) (24)
sq#(s(x1)) p#(s(s(s(s(s(s(x1))))))) (25)
twice#(0(x1)) p#(p(p(p(s(s(p(s(s(s(0(p(p(p(s(s(s(p(p(s(s(p(s(p(s(p(s(x1))))))))))))))))))))))))))) (26)
twice#(0(x1)) p#(p(p(s(s(p(s(s(s(0(p(p(p(s(s(s(p(p(s(s(p(s(p(s(p(s(x1)))))))))))))))))))))))))) (27)
twice#(0(x1)) p#(p(s(s(p(s(s(s(0(p(p(p(s(s(s(p(p(s(s(p(s(p(s(p(s(x1))))))))))))))))))))))))) (28)
twice#(0(x1)) p#(s(s(p(s(s(s(0(p(p(p(s(s(s(p(p(s(s(p(s(p(s(p(s(x1)))))))))))))))))))))))) (29)
twice#(0(x1)) p#(s(s(s(0(p(p(p(s(s(s(p(p(s(s(p(s(p(s(p(s(x1))))))))))))))))))))) (30)
twice#(0(x1)) p#(p(p(s(s(s(p(p(s(s(p(s(p(s(p(s(x1)))))))))))))))) (31)
twice#(0(x1)) p#(p(s(s(s(p(p(s(s(p(s(p(s(p(s(x1))))))))))))))) (32)
twice#(0(x1)) p#(s(s(s(p(p(s(s(p(s(p(s(p(s(x1)))))))))))))) (33)
twice#(0(x1)) p#(p(s(s(p(s(p(s(p(s(x1)))))))))) (34)
twice#(0(x1)) p#(s(s(p(s(p(s(p(s(x1))))))))) (35)
twice#(0(x1)) p#(s(p(s(p(s(x1)))))) (36)
twice#(0(x1)) p#(s(p(s(x1)))) (37)
twice#(0(x1)) p#(s(x1)) (38)
twice#(s(x1)) p#(p(s(s(s(p(p(s(s(s(twice(p(s(p(s(x1))))))))))))))) (39)
twice#(s(x1)) p#(s(s(s(p(p(s(s(s(twice(p(s(p(s(x1)))))))))))))) (40)
twice#(s(x1)) p#(p(s(s(s(twice(p(s(p(s(x1)))))))))) (41)
twice#(s(x1)) p#(s(s(s(twice(p(s(p(s(x1))))))))) (42)
twice#(s(x1)) twice#(p(s(p(s(x1))))) (43)
twice#(s(x1)) p#(s(p(s(x1)))) (44)
twice#(s(x1)) p#(s(x1)) (45)
p#(p(s(x1))) p#(x1) (46)

1.1.1 Dependency Graph Processor

The dependency pairs are split into 3 components.