Certification Problem

Input (TPDB SRS_Standard/Trafo_06/dup17)

The rewrite relation of the following TRS is considered.

a(a(a(a(x1)))) b(b(x1)) (1)
b(b(a(a(x1)))) a(a(b(b(x1)))) (2)
b(b(b(b(c(c(x1)))))) c(c(a(a(x1)))) (3)
b(b(b(b(x1)))) a(a(a(a(a(a(x1)))))) (4)
c(c(a(a(x1)))) b(b(a(a(c(c(x1)))))) (5)

Property / Task

Prove or disprove termination.

Answer / Result

Yes.

Proof (by AProVE @ termCOMP 2023)

1 Dependency Pair Transformation

The following set of initial dependency pairs has been identified.
a#(a(a(a(x1)))) b#(b(x1)) (6)
a#(a(a(a(x1)))) b#(x1) (7)
b#(b(a(a(x1)))) a#(a(b(b(x1)))) (8)
b#(b(a(a(x1)))) a#(b(b(x1))) (9)
b#(b(a(a(x1)))) b#(b(x1)) (10)
b#(b(a(a(x1)))) b#(x1) (11)
b#(b(b(b(c(c(x1)))))) c#(c(a(a(x1)))) (12)
b#(b(b(b(c(c(x1)))))) c#(a(a(x1))) (13)
b#(b(b(b(c(c(x1)))))) a#(a(x1)) (14)
b#(b(b(b(c(c(x1)))))) a#(x1) (15)
b#(b(b(b(x1)))) a#(a(a(a(a(a(x1)))))) (16)
b#(b(b(b(x1)))) a#(a(a(a(a(x1))))) (17)
b#(b(b(b(x1)))) a#(a(a(a(x1)))) (18)
b#(b(b(b(x1)))) a#(a(a(x1))) (19)
b#(b(b(b(x1)))) a#(a(x1)) (20)
b#(b(b(b(x1)))) a#(x1) (21)
c#(c(a(a(x1)))) b#(b(a(a(c(c(x1)))))) (22)
c#(c(a(a(x1)))) b#(a(a(c(c(x1))))) (23)
c#(c(a(a(x1)))) a#(a(c(c(x1)))) (24)
c#(c(a(a(x1)))) a#(c(c(x1))) (25)
c#(c(a(a(x1)))) c#(c(x1)) (26)
c#(c(a(a(x1)))) c#(x1) (27)

1.1 Reduction Pair Processor

Using the linear polynomial interpretation over the naturals
[a#(x1)] = 1 · x1
[a(x1)] = 1 · x1
[b#(x1)] = 1 · x1
[b(x1)] = 1 · x1
[c(x1)] = 1 + 1 · x1
[c#(x1)] = 1 + 1 · x1
the pairs
b#(b(b(b(c(c(x1)))))) c#(a(a(x1))) (13)
b#(b(b(b(c(c(x1)))))) a#(a(x1)) (14)
b#(b(b(b(c(c(x1)))))) a#(x1) (15)
c#(c(a(a(x1)))) c#(x1) (27)
could be deleted.

1.1.1 Monotonic Reduction Pair Processor

Using the linear polynomial interpretation over the naturals
[a(x1)] = 1 + 1 · x1
[b(x1)] = 2 + 1 · x1
[c(x1)] = 2 · x1
[a#(x1)] = 1 + 1 · x1
[b#(x1)] = 2 + 1 · x1
[c#(x1)] = 2 · x1
the pairs
a#(a(a(a(x1)))) b#(x1) (7)
b#(b(a(a(x1)))) a#(b(b(x1))) (9)
b#(b(a(a(x1)))) b#(b(x1)) (10)
b#(b(a(a(x1)))) b#(x1) (11)
b#(b(b(b(x1)))) a#(a(a(a(a(a(x1)))))) (16)
b#(b(b(b(x1)))) a#(a(a(a(a(x1))))) (17)
b#(b(b(b(x1)))) a#(a(a(a(x1)))) (18)
b#(b(b(b(x1)))) a#(a(a(x1))) (19)
b#(b(b(b(x1)))) a#(a(x1)) (20)
b#(b(b(b(x1)))) a#(x1) (21)
c#(c(a(a(x1)))) b#(b(a(a(c(c(x1)))))) (22)
c#(c(a(a(x1)))) b#(a(a(c(c(x1))))) (23)
c#(c(a(a(x1)))) a#(a(c(c(x1)))) (24)
c#(c(a(a(x1)))) a#(c(c(x1))) (25)
c#(c(a(a(x1)))) c#(c(x1)) (26)
and the rules
b(b(b(b(x1)))) a(a(a(a(a(a(x1)))))) (4)
c(c(a(a(x1)))) b(b(a(a(c(c(x1)))))) (5)
could be deleted.

1.1.1.1 Dependency Graph Processor

The dependency pairs are split into 1 component.