Certification Problem

Input (TPDB SRS_Standard/Secret_05_SRS/torpa4)

The rewrite relation of the following TRS is considered.

a(b(c(a(x1)))) → b(a(c(b(a(b(x1)))))) (1)
a(d(x1)) → c(x1) (2)
a(f(f(x1))) → g(x1) (3)
b(g(x1)) → g(b(x1)) (4)
c(x1) → f(f(x1)) (5)
c(a(c(x1))) → b(c(a(b(c(x1))))) (6)
c(d(x1)) → a(a(x1)) (7)
g(x1) → c(a(x1)) (8)
g(x1) → d(d(d(d(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
[g(x1)] = x1 +
25
[f(x1)] = x1 +
15/2
[d(x1)] = x1 +
6
[c(x1)] = x1 +
15
[b(x1)] = x1 +
0
[a(x1)] = x1 +
10
all of the following rules can be deleted.
a(d(x1)) → c(x1) (2)
c(d(x1)) → a(a(x1)) (7)
g(x1) → d(d(d(d(x1)))) (9)

1.1 String Reversal

Since only unary symbols occur, one can reverse all terms and obtains the TRS
a(c(b(a(x1)))) → b(a(b(c(a(b(x1)))))) (10)
f(f(a(x1))) → g(x1) (11)
g(b(x1)) → b(g(x1)) (12)
c(x1) → f(f(x1)) (5)
c(a(c(x1))) → c(b(a(c(b(x1))))) (13)
g(x1) → a(c(x1)) (14)

1.1.1 Dependency Pair Transformation

The following set of initial dependency pairs has been identified.
g#(x1) → c#(x1) (15)
g#(x1) → a#(c(x1)) (16)
g#(b(x1)) → g#(x1) (17)
f#(f(a(x1))) → g#(x1) (18)
c#(x1) → f#(x1) (19)
c#(x1) → f#(f(x1)) (20)
c#(a(c(x1))) → c#(b(x1)) (21)
c#(a(c(x1))) → c#(b(a(c(b(x1))))) (22)
c#(a(c(x1))) → a#(c(b(x1))) (23)
a#(c(b(a(x1)))) → c#(a(b(x1))) (24)
a#(c(b(a(x1)))) → a#(b(x1)) (25)
a#(c(b(a(x1)))) → a#(b(c(a(b(x1))))) (26)

1.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
[g(x1)] = x1 +
4
[f(x1)] = x1 +
0
[c(x1)] = x1 +
0
[b(x1)] = x1 +
0
[a(x1)] = x1 +
4
[g#(x1)] = x1 +
4
[f#(x1)] = x1 +
1
[c#(x1)] = x1 +
2
[a#(x1)] = x1 +
3
together with the usable rules
a(c(b(a(x1)))) → b(a(b(c(a(b(x1)))))) (10)
f(f(a(x1))) → g(x1) (11)
g(b(x1)) → b(g(x1)) (12)
c(x1) → f(f(x1)) (5)
c(a(c(x1))) → c(b(a(c(b(x1))))) (13)
g(x1) → a(c(x1)) (14)
(w.r.t. the implicit argument filter of the reduction pair), the pairs
g#(x1) → c#(x1) (15)
g#(x1) → a#(c(x1)) (16)
f#(f(a(x1))) → g#(x1) (18)
c#(x1) → f#(x1) (19)
c#(x1) → f#(f(x1)) (20)
c#(a(c(x1))) → c#(b(x1)) (21)
c#(a(c(x1))) → a#(c(b(x1))) (23)
a#(c(b(a(x1)))) → c#(a(b(x1))) (24)
a#(c(b(a(x1)))) → a#(b(x1)) (25)
and no rules could be deleted.

1.1.1.1.1 Dependency Graph Processor

The dependency pairs are split into 1 component.