Certification Problem

Input (TPDB SRS_Relative/Waldmann_06_relative/r4)

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

a(b(a(b(a(x1))))) → x1 (1)

and S is the following TRS.

a(b(x1)) → b(b(a(a(x1)))) (2)

Property / Task

Prove or disprove termination.

Answer / Result

Yes.

Proof (by matchbox @ termCOMP 2023)

1 Closure Under Flat Contexts

Using the flat contexts

{b(☐), a(☐)}

We obtain the transformed TRS
b(a(b(a(b(a(x1)))))) → b(x1) (3)
a(a(b(a(b(a(x1)))))) → a(x1) (4)
b(a(b(x1))) → b(b(b(a(a(x1))))) (5)
a(a(b(x1))) → a(b(b(a(a(x1))))) (6)

1.1 Closure Under Flat Contexts

Using the flat contexts

{b(☐), a(☐)}

We obtain the transformed TRS
b(b(a(b(a(b(a(x1))))))) → b(b(x1)) (7)
b(a(a(b(a(b(a(x1))))))) → b(a(x1)) (8)
a(b(a(b(a(b(a(x1))))))) → a(b(x1)) (9)
a(a(a(b(a(b(a(x1))))))) → a(a(x1)) (10)
b(b(a(b(x1)))) → b(b(b(b(a(a(x1)))))) (11)
b(a(a(b(x1)))) → b(a(b(b(a(a(x1)))))) (12)
a(b(a(b(x1)))) → a(b(b(b(a(a(x1)))))) (13)
a(a(a(b(x1)))) → a(a(b(b(a(a(x1)))))) (14)

1.1.1 Closure Under Flat Contexts

Using the flat contexts

{b(☐), a(☐)}

We obtain the transformed TRS
b(b(b(a(b(a(b(a(x1)))))))) → b(b(b(x1))) (15)
b(b(a(a(b(a(b(a(x1)))))))) → b(b(a(x1))) (16)
b(a(b(a(b(a(b(a(x1)))))))) → b(a(b(x1))) (17)
b(a(a(a(b(a(b(a(x1)))))))) → b(a(a(x1))) (18)
a(b(b(a(b(a(b(a(x1)))))))) → a(b(b(x1))) (19)
a(b(a(a(b(a(b(a(x1)))))))) → a(b(a(x1))) (20)
a(a(b(a(b(a(b(a(x1)))))))) → a(a(b(x1))) (21)
a(a(a(a(b(a(b(a(x1)))))))) → a(a(a(x1))) (22)
b(b(b(a(b(x1))))) → b(b(b(b(b(a(a(x1))))))) (23)
b(b(a(a(b(x1))))) → b(b(a(b(b(a(a(x1))))))) (24)
b(a(b(a(b(x1))))) → b(a(b(b(b(a(a(x1))))))) (25)
b(a(a(a(b(x1))))) → b(a(a(b(b(a(a(x1))))))) (26)
a(b(b(a(b(x1))))) → a(b(b(b(b(a(a(x1))))))) (27)
a(b(a(a(b(x1))))) → a(b(a(b(b(a(a(x1))))))) (28)
a(a(b(a(b(x1))))) → a(a(b(b(b(a(a(x1))))))) (29)
a(a(a(a(b(x1))))) → a(a(a(b(b(a(a(x1))))))) (30)

1.1.1.1 Semantic Labeling

The following interpretations form a model of the rules.

As carrier we take the set {0,...,7}. Symbols are labeled by the interpretation of their arguments using the interpretations (modulo 8):

[b(x1)] = 2x1 + 0
[a(x1)] = 2x1 + 1

We obtain the labeled TRS

There are 128 ruless (increase limit for explicit display).

1.1.1.1.1 Rule Removal

Using the matrix interpretations of dimension 1 with strict dimension 1 over the rationals with delta = 1
[b0(x1)] = x1 +
0
[b4(x1)] = x1 +
0
[b2(x1)] = x1 +
0
[b6(x1)] = x1 +
0
[b1(x1)] = x1 +
0
[b5(x1)] = x1 +
1
[b3(x1)] = x1 +
0
[b7(x1)] = x1 +
0
[a0(x1)] = x1 +
0
[a4(x1)] = x1 +
0
[a2(x1)] = x1 +
0
[a6(x1)] = x1 +
0
[a1(x1)] = x1 +
0
[a5(x1)] = x1 +
0
[a3(x1)] = x1 +
0
[a7(x1)] = x1 +
0
all of the following rules can be deleted.
a7(a3(a5(a2(b5(a6(b7(a7(x1)))))))) → a7(a7(a7(x1))) (31)
a7(a3(a5(a2(b5(a6(b7(a3(x1)))))))) → a7(a7(a3(x1))) (32)
a7(a3(a5(a2(b5(a6(b3(a5(x1)))))))) → a7(a3(a5(x1))) (33)
a7(a3(a5(a2(b5(a6(b3(a1(x1)))))))) → a7(a3(a1(x1))) (34)
a7(a3(a5(a2(b5(a2(b5(a6(x1)))))))) → a3(a5(a6(x1))) (35)
a7(a3(a5(a2(b5(a2(b5(a2(x1)))))))) → a3(a5(a2(x1))) (36)
a7(a3(a5(a2(b5(a2(b1(a4(x1)))))))) → a3(a1(a4(x1))) (37)
a7(a3(a5(a2(b5(a2(b1(a0(x1)))))))) → a3(a1(a0(x1))) (38)
a5(a2(b5(a2(b5(a6(b7(a7(x1)))))))) → a5(a6(b7(x1))) (39)
a5(a2(b5(a2(b5(a6(b7(a3(x1)))))))) → a5(a6(b3(x1))) (40)
a5(a2(b5(a2(b5(a6(b3(a5(x1)))))))) → a5(a2(b5(x1))) (41)
a5(a2(b5(a2(b5(a6(b3(a1(x1)))))))) → a5(a2(b1(x1))) (42)
a5(a2(b5(a2(b5(a2(b5(a6(x1)))))))) → a1(a4(b6(x1))) (43)
a5(a2(b5(a2(b5(a2(b5(a2(x1)))))))) → a1(a4(b2(x1))) (44)
a5(a2(b5(a2(b5(a2(b1(a4(x1)))))))) → a1(a0(b4(x1))) (45)
a5(a2(b5(a2(b5(a2(b1(a0(x1)))))))) → a1(a0(b0(x1))) (46)
a6(b3(a5(a2(b5(a6(b7(a7(x1)))))))) → a6(b7(a7(x1))) (47)
a6(b3(a5(a2(b5(a6(b7(a3(x1)))))))) → a6(b7(a3(x1))) (48)
a6(b3(a5(a2(b5(a6(b3(a5(x1)))))))) → a6(b3(a5(x1))) (49)
a6(b3(a5(a2(b5(a6(b3(a1(x1)))))))) → a6(b3(a1(x1))) (50)
a6(b3(a5(a2(b5(a2(b5(a6(x1)))))))) → a2(b5(a6(x1))) (51)
a6(b3(a5(a2(b5(a2(b5(a2(x1)))))))) → a2(b5(a2(x1))) (52)
a6(b3(a5(a2(b5(a2(b1(a4(x1)))))))) → a2(b1(a4(x1))) (53)
a6(b3(a5(a2(b5(a2(b1(a0(x1)))))))) → a2(b1(a0(x1))) (54)
a4(b2(b5(a2(b5(a6(b7(a7(x1)))))))) → a4(b6(b7(x1))) (55)
a4(b2(b5(a2(b5(a6(b7(a3(x1)))))))) → a4(b6(b3(x1))) (56)
a4(b2(b5(a2(b5(a6(b3(a5(x1)))))))) → a4(b2(b5(x1))) (57)
a4(b2(b5(a2(b5(a6(b3(a1(x1)))))))) → a4(b2(b1(x1))) (58)
a4(b2(b5(a2(b5(a2(b5(a6(x1)))))))) → a0(b4(b6(x1))) (59)
a4(b2(b5(a2(b5(a2(b5(a2(x1)))))))) → a0(b4(b2(x1))) (60)
a4(b2(b5(a2(b5(a2(b1(a4(x1)))))))) → a0(b0(b4(x1))) (61)
a4(b2(b5(a2(b5(a2(b1(a0(x1)))))))) → a0(b0(b0(x1))) (62)
b7(a3(a5(a2(b5(a6(b7(a7(x1)))))))) → b7(a7(a7(x1))) (63)
b7(a3(a5(a2(b5(a6(b7(a3(x1)))))))) → b7(a7(a3(x1))) (64)
b7(a3(a5(a2(b5(a6(b3(a5(x1)))))))) → b7(a3(a5(x1))) (65)
b7(a3(a5(a2(b5(a6(b3(a1(x1)))))))) → b7(a3(a1(x1))) (66)
b7(a3(a5(a2(b5(a2(b5(a6(x1)))))))) → b3(a5(a6(x1))) (67)
b7(a3(a5(a2(b5(a2(b5(a2(x1)))))))) → b3(a5(a2(x1))) (68)
b7(a3(a5(a2(b5(a2(b1(a4(x1)))))))) → b3(a1(a4(x1))) (69)
b7(a3(a5(a2(b5(a2(b1(a0(x1)))))))) → b3(a1(a0(x1))) (70)
b5(a2(b5(a2(b5(a6(b7(a7(x1)))))))) → b5(a6(b7(x1))) (71)
b5(a2(b5(a2(b5(a6(b7(a3(x1)))))))) → b5(a6(b3(x1))) (72)
b5(a2(b5(a2(b5(a6(b3(a5(x1)))))))) → b5(a2(b5(x1))) (73)
b5(a2(b5(a2(b5(a6(b3(a1(x1)))))))) → b5(a2(b1(x1))) (74)
b5(a2(b5(a2(b5(a2(b5(a6(x1)))))))) → b1(a4(b6(x1))) (75)
b5(a2(b5(a2(b5(a2(b5(a2(x1)))))))) → b1(a4(b2(x1))) (76)
b5(a2(b5(a2(b5(a2(b1(a4(x1)))))))) → b1(a0(b4(x1))) (77)
b5(a2(b5(a2(b5(a2(b1(a0(x1)))))))) → b1(a0(b0(x1))) (78)
b6(b3(a5(a2(b5(a6(b7(a7(x1)))))))) → b6(b7(a7(x1))) (79)
b6(b3(a5(a2(b5(a6(b7(a3(x1)))))))) → b6(b7(a3(x1))) (80)
b6(b3(a5(a2(b5(a6(b3(a5(x1)))))))) → b6(b3(a5(x1))) (81)
b6(b3(a5(a2(b5(a6(b3(a1(x1)))))))) → b6(b3(a1(x1))) (82)
b6(b3(a5(a2(b5(a2(b5(a6(x1)))))))) → b2(b5(a6(x1))) (83)
b6(b3(a5(a2(b5(a2(b5(a2(x1)))))))) → b2(b5(a2(x1))) (84)
b6(b3(a5(a2(b5(a2(b1(a4(x1)))))))) → b2(b1(a4(x1))) (85)
b6(b3(a5(a2(b5(a2(b1(a0(x1)))))))) → b2(b1(a0(x1))) (86)
b4(b2(b5(a2(b5(a6(b7(a7(x1)))))))) → b4(b6(b7(x1))) (87)
b4(b2(b5(a2(b5(a6(b7(a3(x1)))))))) → b4(b6(b3(x1))) (88)
b4(b2(b5(a2(b5(a6(b3(a5(x1)))))))) → b4(b2(b5(x1))) (89)
b4(b2(b5(a2(b5(a6(b3(a1(x1)))))))) → b4(b2(b1(x1))) (90)
b4(b2(b5(a2(b5(a2(b5(a6(x1)))))))) → b0(b4(b6(x1))) (91)
b4(b2(b5(a2(b5(a2(b5(a2(x1)))))))) → b0(b4(b2(x1))) (92)
b4(b2(b5(a2(b5(a2(b1(a4(x1)))))))) → b0(b0(b4(x1))) (93)
b4(b2(b5(a2(b5(a2(b1(a0(x1)))))))) → b0(b0(b0(x1))) (94)
a7(a3(a5(a2(b5(x1))))) → a3(a1(a4(b6(b7(a3(a5(x1))))))) (97)
a5(a2(b5(a6(b7(x1))))) → a1(a0(b4(b6(b7(a7(a7(x1))))))) (103)
a5(a2(b5(a6(b3(x1))))) → a1(a0(b4(b6(b7(a7(a3(x1))))))) (104)
a5(a2(b5(a2(b5(x1))))) → a1(a0(b4(b6(b7(a3(a5(x1))))))) (105)
a5(a2(b5(a2(b1(x1))))) → a1(a0(b4(b6(b7(a3(a1(x1))))))) (106)
a6(b3(a5(a2(b5(x1))))) → a2(b1(a4(b6(b7(a3(a5(x1))))))) (113)
a4(b2(b5(a6(b7(x1))))) → a0(b0(b4(b6(b7(a7(a7(x1))))))) (119)
a4(b2(b5(a6(b3(x1))))) → a0(b0(b4(b6(b7(a7(a3(x1))))))) (120)
a4(b2(b5(a2(b5(x1))))) → a0(b0(b4(b6(b7(a3(a5(x1))))))) (121)
a4(b2(b5(a2(b1(x1))))) → a0(b0(b4(b6(b7(a3(a1(x1))))))) (122)
b7(a3(a5(a2(b5(x1))))) → b3(a1(a4(b6(b7(a3(a5(x1))))))) (129)
b5(a2(b5(a6(b7(x1))))) → b1(a0(b4(b6(b7(a7(a7(x1))))))) (135)
b5(a2(b5(a6(b3(x1))))) → b1(a0(b4(b6(b7(a7(a3(x1))))))) (136)
b5(a2(b5(a2(b5(x1))))) → b1(a0(b4(b6(b7(a3(a5(x1))))))) (137)
b5(a2(b5(a2(b1(x1))))) → b1(a0(b4(b6(b7(a3(a1(x1))))))) (138)
b5(a2(b1(a4(b6(x1))))) → b1(a0(b4(b6(b3(a5(a6(x1))))))) (139)
b5(a2(b1(a4(b2(x1))))) → b1(a0(b4(b6(b3(a5(a2(x1))))))) (140)
b5(a2(b1(a0(b4(x1))))) → b1(a0(b4(b6(b3(a1(a4(x1))))))) (141)
b5(a2(b1(a0(b0(x1))))) → b1(a0(b4(b6(b3(a1(a0(x1))))))) (142)
b6(b3(a5(a2(b5(x1))))) → b2(b1(a4(b6(b7(a3(a5(x1))))))) (145)
b4(b2(b5(a6(b7(x1))))) → b0(b0(b4(b6(b7(a7(a7(x1))))))) (151)
b4(b2(b5(a6(b3(x1))))) → b0(b0(b4(b6(b7(a7(a3(x1))))))) (152)
b4(b2(b5(a2(b5(x1))))) → b0(b0(b4(b6(b7(a3(a5(x1))))))) (153)
b4(b2(b5(a2(b1(x1))))) → b0(b0(b4(b6(b7(a3(a1(x1))))))) (154)

1.1.1.1.1.1 R is empty

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