Certification Problem

Input (TPDB SRS_Standard/Secret_06_SRS/aprove05)

The rewrite relation of the following TRS is considered.

twoto(0(x1)) p(p(s(s(s(p(p(p(s(s(s(0(p(p(s(s(x1)))))))))))))))) (1)
twoto(s(x1)) p(p(s(s(p(p(p(s(s(s(twice(p(p(s(s(p(p(p(s(s(s(twoto(p(s(p(s(x1)))))))))))))))))))))))))) (2)
twice(0(x1)) p(s(p(s(0(s(p(s(s(s(s(p(s(x1))))))))))))) (3)
twice(s(x1)) s(p(p(p(p(s(s(s(s(s(twice(p(s(p(s(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(p(s(x1))))))) (7)
0(x1) x1 (8)

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

1.1 Dependency Pair Transformation

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

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 +
2
[s(x1)] = x1 +
0
[p(x1)] = x1 +
0
[twoto(x1)] = x1 +
0
[twice(x1)] = x1 +
0
[p#(x1)] = x1 +
0
[twoto#(x1)] = x1 +
2
[twice#(x1)] = x1 +
1
together with the usable rules
twoto(s(x1)) p(p(s(s(p(p(p(s(s(s(twice(p(p(s(s(p(p(p(s(s(s(twoto(p(s(p(s(x1)))))))))))))))))))))))))) (2)
twice(0(x1)) p(s(p(s(0(s(p(s(s(s(s(p(s(x1))))))))))))) (3)
twice(s(x1)) s(p(p(p(p(s(s(s(s(s(twice(p(s(p(s(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(p(s(x1))))))) (7)
(w.r.t. the implicit argument filter of the reduction pair), the pairs
p#(0(x1)) p#(s(x1)) (9)
twoto#(s(x1)) p#(s(x1)) (11)
twoto#(s(x1)) p#(s(s(s(twoto(p(s(p(s(x1))))))))) (12)
twoto#(s(x1)) p#(s(s(s(twice(p(p(s(s(p(p(p(s(s(s(twoto(p(s(p(s(x1)))))))))))))))))))) (13)
twoto#(s(x1)) p#(s(s(p(p(p(s(s(s(twoto(p(s(p(s(x1)))))))))))))) (14)
twoto#(s(x1)) p#(s(s(p(p(p(s(s(s(twice(p(p(s(s(p(p(p(s(s(s(twoto(p(s(p(s(x1))))))))))))))))))))))))) (15)
twoto#(s(x1)) p#(s(p(s(x1)))) (16)
twoto#(s(x1)) p#(p(s(s(s(twoto(p(s(p(s(x1)))))))))) (17)
twoto#(s(x1)) p#(p(s(s(s(twice(p(p(s(s(p(p(p(s(s(s(twoto(p(s(p(s(x1))))))))))))))))))))) (18)
twoto#(s(x1)) p#(p(s(s(p(p(p(s(s(s(twoto(p(s(p(s(x1))))))))))))))) (19)
twoto#(s(x1)) p#(p(s(s(p(p(p(s(s(s(twice(p(p(s(s(p(p(p(s(s(s(twoto(p(s(p(s(x1)))))))))))))))))))))))))) (20)
twoto#(s(x1)) p#(p(p(s(s(s(twoto(p(s(p(s(x1))))))))))) (21)
twoto#(s(x1)) p#(p(p(s(s(s(twice(p(p(s(s(p(p(p(s(s(s(twoto(p(s(p(s(x1)))))))))))))))))))))) (22)
twoto#(s(x1)) twice#(p(p(s(s(p(p(p(s(s(s(twoto(p(s(p(s(x1)))))))))))))))) (24)
twice#(0(x1)) p#(s(x1)) (25)
twice#(0(x1)) p#(s(0(s(p(s(s(s(s(p(s(x1))))))))))) (26)
twice#(0(x1)) p#(s(s(s(s(p(s(x1))))))) (27)
twice#(0(x1)) p#(s(p(s(0(s(p(s(s(s(s(p(s(x1))))))))))))) (28)
twice#(s(x1)) p#(s(x1)) (29)
twice#(s(x1)) p#(s(s(s(s(s(twice(p(s(p(s(p(s(p(s(x1))))))))))))))) (30)
twice#(s(x1)) p#(s(p(s(x1)))) (31)
twice#(s(x1)) p#(s(p(s(p(s(x1)))))) (32)
twice#(s(x1)) p#(s(p(s(p(s(p(s(x1)))))))) (33)
twice#(s(x1)) p#(p(s(s(s(s(s(twice(p(s(p(s(p(s(p(s(x1)))))))))))))))) (34)
twice#(s(x1)) p#(p(p(s(s(s(s(s(twice(p(s(p(s(p(s(p(s(x1))))))))))))))))) (35)
twice#(s(x1)) p#(p(p(p(s(s(s(s(s(twice(p(s(p(s(p(s(p(s(x1)))))))))))))))))) (36)
and no rules could be deleted.

1.1.1.1 Dependency Graph Processor

The dependency pairs are split into 3 components.