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 matchbox @ termCOMP 2023)

1 Rule Removal

Using the matrix interpretations of dimension 1 with strict dimension 1 over the rationals with delta = 1
[0(x1)] = x1 +
0
[s(x1)] = x1 +
0
[p(x1)] = x1 +
0
[tower(x1)] = x1 +
1
[twoto(x1)] = x1 +
0
[twice(x1)] = x1 +
0
all of the following rules can be deleted.
tower(0(x1)) s(0(p(s(p(s(x1)))))) (1)

1.1 Dependency Pair Transformation

The following set of initial dependency pairs has been identified.
p#(p(s(x1))) p#(x1) (10)
tower#(s(x1)) p#(s(x1)) (11)
tower#(s(x1)) p#(s(p(s(x1)))) (12)
tower#(s(x1)) p#(s(p(s(tower(p(s(p(s(x1))))))))) (13)
tower#(s(x1)) p#(s(p(s(twoto(p(s(p(s(tower(p(s(p(s(x1)))))))))))))) (14)
tower#(s(x1)) p#(s(tower(p(s(p(s(x1))))))) (15)
tower#(s(x1)) p#(s(twoto(p(s(p(s(tower(p(s(p(s(x1)))))))))))) (16)
tower#(s(x1)) tower#(p(s(p(s(x1))))) (17)
tower#(s(x1)) twoto#(p(s(p(s(tower(p(s(p(s(x1)))))))))) (18)
twoto#(s(x1)) p#(s(x1)) (19)
twoto#(s(x1)) p#(s(s(s(twoto(p(s(p(s(x1))))))))) (20)
twoto#(s(x1)) 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))))))))))))))))))))))))))) (21)
twoto#(s(x1)) 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)))))))))))))))))))))))) (22)
twoto#(s(x1)) p#(s(s(p(s(twice(p(s(p(s(p(p(p(s(s(s(twoto(p(s(p(s(x1))))))))))))))))))))) (23)
twoto#(s(x1)) p#(s(p(s(x1)))) (24)
twoto#(s(x1)) p#(s(p(s(p(p(p(s(s(s(twoto(p(s(p(s(x1))))))))))))))) (25)
twoto#(s(x1)) p#(s(p(p(p(s(s(s(twoto(p(s(p(s(x1))))))))))))) (26)
twoto#(s(x1)) 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))))))))))))))))))))))))))))))) (27)
twoto#(s(x1)) p#(s(twice(p(s(p(s(p(p(p(s(s(s(twoto(p(s(p(s(x1)))))))))))))))))) (28)
twoto#(s(x1)) p#(p(s(s(s(twoto(p(s(p(s(x1)))))))))) (29)
twoto#(s(x1)) 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)))))))))))))))))))))))))))) (30)
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)))))))))))))))))))))))))))))))) (31)
twoto#(s(x1)) p#(p(p(s(s(s(twoto(p(s(p(s(x1))))))))))) (32)
twoto#(s(x1)) 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))))))))))))))))))))))))))))) (33)
twoto#(s(x1)) twoto#(p(s(p(s(x1))))) (34)
twoto#(s(x1)) twice#(p(s(p(s(p(p(p(s(s(s(twoto(p(s(p(s(x1)))))))))))))))) (35)
twice#(s(x1)) p#(s(s(s(x1)))) (36)
twice#(s(x1)) p#(s(s(s(s(s(twice(p(p(p(s(s(s(x1))))))))))))) (37)
twice#(s(x1)) p#(p(s(s(s(x1))))) (38)
twice#(s(x1)) p#(p(s(s(s(s(s(twice(p(p(p(s(s(s(x1)))))))))))))) (39)
twice#(s(x1)) p#(p(p(s(s(s(x1)))))) (40)
twice#(s(x1)) p#(p(p(s(s(s(s(s(twice(p(p(p(s(s(s(x1))))))))))))))) (41)
twice#(s(x1)) twice#(p(p(p(s(s(s(x1))))))) (42)

1.1.1 Monotonic Reduction Pair Processor with Usable Rules

Using the matrix interpretations of dimension 1 with strict dimension 1 over the rationals with delta = 1
[0(x1)] = x1 +
0
[s(x1)] = x1 +
0
[p(x1)] = x1 +
0
[tower(x1)] = x1 +
0
[twoto(x1)] = x1 +
0
[twice(x1)] = x1 +
0
[p#(x1)] = x1 +
0
[tower#(x1)] = x1 +
3
[twoto#(x1)] = x1 +
2
[twice#(x1)] = x1 +
1
together with the usable rules
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)
(w.r.t. the implicit argument filter of the reduction pair), the pairs
tower#(s(x1)) p#(s(x1)) (11)
tower#(s(x1)) p#(s(p(s(x1)))) (12)
tower#(s(x1)) p#(s(p(s(tower(p(s(p(s(x1))))))))) (13)
tower#(s(x1)) p#(s(p(s(twoto(p(s(p(s(tower(p(s(p(s(x1)))))))))))))) (14)
tower#(s(x1)) p#(s(tower(p(s(p(s(x1))))))) (15)
tower#(s(x1)) p#(s(twoto(p(s(p(s(tower(p(s(p(s(x1)))))))))))) (16)
tower#(s(x1)) twoto#(p(s(p(s(tower(p(s(p(s(x1)))))))))) (18)
twoto#(s(x1)) p#(s(x1)) (19)
twoto#(s(x1)) p#(s(s(s(twoto(p(s(p(s(x1))))))))) (20)
twoto#(s(x1)) 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))))))))))))))))))))))))))) (21)
twoto#(s(x1)) 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)))))))))))))))))))))))) (22)
twoto#(s(x1)) p#(s(s(p(s(twice(p(s(p(s(p(p(p(s(s(s(twoto(p(s(p(s(x1))))))))))))))))))))) (23)
twoto#(s(x1)) p#(s(p(s(x1)))) (24)
twoto#(s(x1)) p#(s(p(s(p(p(p(s(s(s(twoto(p(s(p(s(x1))))))))))))))) (25)
twoto#(s(x1)) p#(s(p(p(p(s(s(s(twoto(p(s(p(s(x1))))))))))))) (26)
twoto#(s(x1)) 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))))))))))))))))))))))))))))))) (27)
twoto#(s(x1)) p#(s(twice(p(s(p(s(p(p(p(s(s(s(twoto(p(s(p(s(x1)))))))))))))))))) (28)
twoto#(s(x1)) p#(p(s(s(s(twoto(p(s(p(s(x1)))))))))) (29)
twoto#(s(x1)) 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)))))))))))))))))))))))))))) (30)
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)))))))))))))))))))))))))))))))) (31)
twoto#(s(x1)) p#(p(p(s(s(s(twoto(p(s(p(s(x1))))))))))) (32)
twoto#(s(x1)) 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))))))))))))))))))))))))))))) (33)
twoto#(s(x1)) twice#(p(s(p(s(p(p(p(s(s(s(twoto(p(s(p(s(x1)))))))))))))))) (35)
twice#(s(x1)) p#(s(s(s(x1)))) (36)
twice#(s(x1)) p#(s(s(s(s(s(twice(p(p(p(s(s(s(x1))))))))))))) (37)
twice#(s(x1)) p#(p(s(s(s(x1))))) (38)
twice#(s(x1)) p#(p(s(s(s(s(s(twice(p(p(p(s(s(s(x1)))))))))))))) (39)
twice#(s(x1)) p#(p(p(s(s(s(x1)))))) (40)
twice#(s(x1)) p#(p(p(s(s(s(s(s(twice(p(p(p(s(s(s(x1))))))))))))))) (41)
and no rules could be deleted.

1.1.1.1 Dependency Graph Processor

The dependency pairs are split into 4 components.