Certification Problem

Input (TPDB SRS_Relative/Waldmann_19/random-10)

The relative rewrite relation R/S is considered where R is the following TRS

a(c(b(x1))) c(c(c(x1))) (1)
b(c(c(x1))) a(a(b(x1))) (2)

and S is the following TRS.

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

Property / Task

Prove or disprove termination.

Answer / Result

Yes.

Proof (by AProVE @ termCOMP 2023)

1 Closure Under Flat Contexts

Using the flat contexts

{a(), c(), b()}

We obtain the transformed TRS
a(a(c(b(x1)))) a(c(c(c(x1)))) (6)
c(a(c(b(x1)))) c(c(c(c(x1)))) (7)
b(a(c(b(x1)))) b(c(c(c(x1)))) (8)
a(b(c(c(x1)))) a(a(a(b(x1)))) (9)
c(b(c(c(x1)))) c(a(a(b(x1)))) (10)
b(b(c(c(x1)))) b(a(a(b(x1)))) (11)
c(c(c(x1))) c(c(b(x1))) (3)
a(c(a(c(x1)))) a(b(a(b(x1)))) (12)
c(c(a(c(x1)))) c(b(a(b(x1)))) (13)
b(c(a(c(x1)))) b(b(a(b(x1)))) (14)
a(b(c(a(x1)))) a(a(b(c(x1)))) (15)
c(b(c(a(x1)))) c(a(b(c(x1)))) (16)
b(b(c(a(x1)))) b(a(b(c(x1)))) (17)

1.1 Semantic Labeling

Root-labeling is applied.

We obtain the labeled TRS
aa(ac(cb(ba(x1)))) ac(cc(cc(ca(x1)))) (18)
aa(ac(cb(bc(x1)))) ac(cc(cc(cc(x1)))) (19)
aa(ac(cb(bb(x1)))) ac(cc(cc(cb(x1)))) (20)
ca(ac(cb(ba(x1)))) cc(cc(cc(ca(x1)))) (21)
ca(ac(cb(bc(x1)))) cc(cc(cc(cc(x1)))) (22)
ca(ac(cb(bb(x1)))) cc(cc(cc(cb(x1)))) (23)
ba(ac(cb(ba(x1)))) bc(cc(cc(ca(x1)))) (24)
ba(ac(cb(bc(x1)))) bc(cc(cc(cc(x1)))) (25)
ba(ac(cb(bb(x1)))) bc(cc(cc(cb(x1)))) (26)
ab(bc(cc(ca(x1)))) aa(aa(ab(ba(x1)))) (27)
ab(bc(cc(cc(x1)))) aa(aa(ab(bc(x1)))) (28)
ab(bc(cc(cb(x1)))) aa(aa(ab(bb(x1)))) (29)
cb(bc(cc(ca(x1)))) ca(aa(ab(ba(x1)))) (30)
cb(bc(cc(cc(x1)))) ca(aa(ab(bc(x1)))) (31)
cb(bc(cc(cb(x1)))) ca(aa(ab(bb(x1)))) (32)
bb(bc(cc(ca(x1)))) ba(aa(ab(ba(x1)))) (33)
bb(bc(cc(cc(x1)))) ba(aa(ab(bc(x1)))) (34)
bb(bc(cc(cb(x1)))) ba(aa(ab(bb(x1)))) (35)
cc(cc(ca(x1))) cc(cb(ba(x1))) (36)
cc(cc(cc(x1))) cc(cb(bc(x1))) (37)
cc(cc(cb(x1))) cc(cb(bb(x1))) (38)
ac(ca(ac(ca(x1)))) ab(ba(ab(ba(x1)))) (39)
ac(ca(ac(cc(x1)))) ab(ba(ab(bc(x1)))) (40)
ac(ca(ac(cb(x1)))) ab(ba(ab(bb(x1)))) (41)
cc(ca(ac(ca(x1)))) cb(ba(ab(ba(x1)))) (42)
cc(ca(ac(cc(x1)))) cb(ba(ab(bc(x1)))) (43)
cc(ca(ac(cb(x1)))) cb(ba(ab(bb(x1)))) (44)
bc(ca(ac(ca(x1)))) bb(ba(ab(ba(x1)))) (45)
bc(ca(ac(cc(x1)))) bb(ba(ab(bc(x1)))) (46)
bc(ca(ac(cb(x1)))) bb(ba(ab(bb(x1)))) (47)
ab(bc(ca(aa(x1)))) aa(ab(bc(ca(x1)))) (48)
ab(bc(ca(ac(x1)))) aa(ab(bc(cc(x1)))) (49)
ab(bc(ca(ab(x1)))) aa(ab(bc(cb(x1)))) (50)
cb(bc(ca(aa(x1)))) ca(ab(bc(ca(x1)))) (51)
cb(bc(ca(ac(x1)))) ca(ab(bc(cc(x1)))) (52)
cb(bc(ca(ab(x1)))) ca(ab(bc(cb(x1)))) (53)
bb(bc(ca(aa(x1)))) ba(ab(bc(ca(x1)))) (54)
bb(bc(ca(ac(x1)))) ba(ab(bc(cc(x1)))) (55)
bb(bc(ca(ab(x1)))) ba(ab(bc(cb(x1)))) (56)

1.1.1 Rule Removal

Using the Knuth Bendix order with w0 = 1 and the following precedence and weight functions
prec(aa) = 7 weight(aa) = 5
prec(ac) = 5 weight(ac) = 4
prec(cb) = 4 weight(cb) = 3
prec(ba) = 0 weight(ba) = 9
prec(cc) = 6 weight(cc) = 5
prec(ca) = 3 weight(ca) = 7
prec(bc) = 2 weight(bc) = 7
prec(bb) = 1 weight(bb) = 5
prec(ab) = 8 weight(ab) = 1
all of the following rules can be deleted.
aa(ac(cb(ba(x1)))) ac(cc(cc(ca(x1)))) (18)
aa(ac(cb(bc(x1)))) ac(cc(cc(cc(x1)))) (19)
aa(ac(cb(bb(x1)))) ac(cc(cc(cb(x1)))) (20)
ca(ac(cb(ba(x1)))) cc(cc(cc(ca(x1)))) (21)
ca(ac(cb(bc(x1)))) cc(cc(cc(cc(x1)))) (22)
ca(ac(cb(bb(x1)))) cc(cc(cc(cb(x1)))) (23)
ba(ac(cb(ba(x1)))) bc(cc(cc(ca(x1)))) (24)
ba(ac(cb(bc(x1)))) bc(cc(cc(cc(x1)))) (25)
ba(ac(cb(bb(x1)))) bc(cc(cc(cb(x1)))) (26)
ab(bc(cc(ca(x1)))) aa(aa(ab(ba(x1)))) (27)
ab(bc(cc(cc(x1)))) aa(aa(ab(bc(x1)))) (28)
ab(bc(cc(cb(x1)))) aa(aa(ab(bb(x1)))) (29)
cb(bc(cc(ca(x1)))) ca(aa(ab(ba(x1)))) (30)
cb(bc(cc(cc(x1)))) ca(aa(ab(bc(x1)))) (31)
cb(bc(cc(cb(x1)))) ca(aa(ab(bb(x1)))) (32)
bb(bc(cc(ca(x1)))) ba(aa(ab(ba(x1)))) (33)
bb(bc(cc(cc(x1)))) ba(aa(ab(bc(x1)))) (34)
bb(bc(cc(cb(x1)))) ba(aa(ab(bb(x1)))) (35)
cc(cc(ca(x1))) cc(cb(ba(x1))) (36)
cc(cc(cc(x1))) cc(cb(bc(x1))) (37)
cc(cc(cb(x1))) cc(cb(bb(x1))) (38)
ac(ca(ac(ca(x1)))) ab(ba(ab(ba(x1)))) (39)
ac(ca(ac(cc(x1)))) ab(ba(ab(bc(x1)))) (40)
ac(ca(ac(cb(x1)))) ab(ba(ab(bb(x1)))) (41)
cc(ca(ac(ca(x1)))) cb(ba(ab(ba(x1)))) (42)
cc(ca(ac(cc(x1)))) cb(ba(ab(bc(x1)))) (43)
cc(ca(ac(cb(x1)))) cb(ba(ab(bb(x1)))) (44)
bc(ca(ac(ca(x1)))) bb(ba(ab(ba(x1)))) (45)
bc(ca(ac(cc(x1)))) bb(ba(ab(bc(x1)))) (46)
bc(ca(ac(cb(x1)))) bb(ba(ab(bb(x1)))) (47)
ab(bc(ca(aa(x1)))) aa(ab(bc(ca(x1)))) (48)
ab(bc(ca(ac(x1)))) aa(ab(bc(cc(x1)))) (49)
ab(bc(ca(ab(x1)))) aa(ab(bc(cb(x1)))) (50)
cb(bc(ca(aa(x1)))) ca(ab(bc(ca(x1)))) (51)
cb(bc(ca(ac(x1)))) ca(ab(bc(cc(x1)))) (52)
cb(bc(ca(ab(x1)))) ca(ab(bc(cb(x1)))) (53)
bb(bc(ca(aa(x1)))) ba(ab(bc(ca(x1)))) (54)
bb(bc(ca(ac(x1)))) ba(ab(bc(cc(x1)))) (55)
bb(bc(ca(ab(x1)))) ba(ab(bc(cb(x1)))) (56)

1.1.1.1 R is empty

There are no rules in the TRS. Hence, it is terminating.