Certification Problem

Input (TPDB SRS_Standard/ICFP_2010/3268)

The rewrite relation of the following TRS is considered.

1(4(x1)) → 3(1(1(2(2(4(x1)))))) (1)
5(4(x1)) → 4(2(3(1(1(1(x1)))))) (2)
0(3(0(x1))) → 2(1(1(0(2(0(x1)))))) (3)
0(5(5(x1))) → 1(0(1(3(4(2(x1)))))) (4)
1(5(4(x1))) → 0(2(5(2(0(4(x1)))))) (5)
3(5(4(x1))) → 4(1(3(4(2(3(x1)))))) (6)
4(1(4(x1))) → 3(3(2(2(3(1(x1)))))) (7)
5(4(0(x1))) → 2(4(0(4(4(0(x1)))))) (8)
5(4(0(x1))) → 5(1(5(2(1(0(x1)))))) (9)
5(4(4(x1))) → 4(1(1(3(2(4(x1)))))) (10)
5(5(4(x1))) → 3(4(4(1(2(2(x1)))))) (11)
0(5(5(0(x1)))) → 0(2(0(0(3(0(x1)))))) (12)
0(5(5(4(x1)))) → 0(1(3(4(3(4(x1)))))) (13)
1(4(5(4(x1)))) → 0(4(5(0(2(1(x1)))))) (14)
1(4(5(5(x1)))) → 0(0(1(3(4(1(x1)))))) (15)
2(5(4(0(x1)))) → 0(4(1(2(4(0(x1)))))) (16)
4(3(0(5(x1)))) → 3(3(2(3(5(5(x1)))))) (17)
5(4(0(0(x1)))) → 1(0(4(0(2(2(x1)))))) (18)
5(4(0(2(x1)))) → 3(0(4(5(0(2(x1)))))) (19)

Property / Task

Prove or disprove termination.

Answer / Result

Yes.

Proof (by AProVE @ termCOMP 2023)

1 String Reversal

Since only unary symbols occur, one can reverse all terms and obtains the TRS
4(1(x1)) → 4(2(2(1(1(3(x1)))))) (20)
4(5(x1)) → 1(1(1(3(2(4(x1)))))) (21)
0(3(0(x1))) → 0(2(0(1(1(2(x1)))))) (22)
5(5(0(x1))) → 2(4(3(1(0(1(x1)))))) (23)
4(5(1(x1))) → 4(0(2(5(2(0(x1)))))) (24)
4(5(3(x1))) → 3(2(4(3(1(4(x1)))))) (25)
4(1(4(x1))) → 1(3(2(2(3(3(x1)))))) (26)
0(4(5(x1))) → 0(4(4(0(4(2(x1)))))) (27)
0(4(5(x1))) → 0(1(2(5(1(5(x1)))))) (28)
4(4(5(x1))) → 4(2(3(1(1(4(x1)))))) (29)
4(5(5(x1))) → 2(2(1(4(4(3(x1)))))) (30)
0(5(5(0(x1)))) → 0(3(0(0(2(0(x1)))))) (31)
4(5(5(0(x1)))) → 4(3(4(3(1(0(x1)))))) (32)
4(5(4(1(x1)))) → 1(2(0(5(4(0(x1)))))) (33)
5(5(4(1(x1)))) → 1(4(3(1(0(0(x1)))))) (34)
0(4(5(2(x1)))) → 0(4(2(1(4(0(x1)))))) (35)
5(0(3(4(x1)))) → 5(5(3(2(3(3(x1)))))) (36)
0(0(4(5(x1)))) → 2(2(0(4(0(1(x1)))))) (37)
2(0(4(5(x1)))) → 2(0(5(4(0(3(x1)))))) (38)

1.1 Closure Under Flat Contexts

Using the flat contexts

{4(☐), 1(☐), 2(☐), 3(☐), 5(☐), 0(☐)}

We obtain the transformed TRS
4(1(x1)) → 4(2(2(1(1(3(x1)))))) (20)
0(3(0(x1))) → 0(2(0(1(1(2(x1)))))) (22)
4(5(1(x1))) → 4(0(2(5(2(0(x1)))))) (24)
0(4(5(x1))) → 0(4(4(0(4(2(x1)))))) (27)
0(4(5(x1))) → 0(1(2(5(1(5(x1)))))) (28)
4(4(5(x1))) → 4(2(3(1(1(4(x1)))))) (29)
0(5(5(0(x1)))) → 0(3(0(0(2(0(x1)))))) (31)
4(5(5(0(x1)))) → 4(3(4(3(1(0(x1)))))) (32)
0(4(5(2(x1)))) → 0(4(2(1(4(0(x1)))))) (35)
5(0(3(4(x1)))) → 5(5(3(2(3(3(x1)))))) (36)
2(0(4(5(x1)))) → 2(0(5(4(0(3(x1)))))) (38)
4(4(5(x1))) → 4(1(1(1(3(2(4(x1))))))) (39)
1(4(5(x1))) → 1(1(1(1(3(2(4(x1))))))) (40)
2(4(5(x1))) → 2(1(1(1(3(2(4(x1))))))) (41)
3(4(5(x1))) → 3(1(1(1(3(2(4(x1))))))) (42)
5(4(5(x1))) → 5(1(1(1(3(2(4(x1))))))) (43)
0(4(5(x1))) → 0(1(1(1(3(2(4(x1))))))) (44)
4(5(5(0(x1)))) → 4(2(4(3(1(0(1(x1))))))) (45)
1(5(5(0(x1)))) → 1(2(4(3(1(0(1(x1))))))) (46)
2(5(5(0(x1)))) → 2(2(4(3(1(0(1(x1))))))) (47)
3(5(5(0(x1)))) → 3(2(4(3(1(0(1(x1))))))) (48)
5(5(5(0(x1)))) → 5(2(4(3(1(0(1(x1))))))) (49)
0(5(5(0(x1)))) → 0(2(4(3(1(0(1(x1))))))) (50)
4(4(5(3(x1)))) → 4(3(2(4(3(1(4(x1))))))) (51)
1(4(5(3(x1)))) → 1(3(2(4(3(1(4(x1))))))) (52)
2(4(5(3(x1)))) → 2(3(2(4(3(1(4(x1))))))) (53)
3(4(5(3(x1)))) → 3(3(2(4(3(1(4(x1))))))) (54)
5(4(5(3(x1)))) → 5(3(2(4(3(1(4(x1))))))) (55)
0(4(5(3(x1)))) → 0(3(2(4(3(1(4(x1))))))) (56)
4(4(1(4(x1)))) → 4(1(3(2(2(3(3(x1))))))) (57)
1(4(1(4(x1)))) → 1(1(3(2(2(3(3(x1))))))) (58)
2(4(1(4(x1)))) → 2(1(3(2(2(3(3(x1))))))) (59)
3(4(1(4(x1)))) → 3(1(3(2(2(3(3(x1))))))) (60)
5(4(1(4(x1)))) → 5(1(3(2(2(3(3(x1))))))) (61)
0(4(1(4(x1)))) → 0(1(3(2(2(3(3(x1))))))) (62)
4(4(5(5(x1)))) → 4(2(2(1(4(4(3(x1))))))) (63)
1(4(5(5(x1)))) → 1(2(2(1(4(4(3(x1))))))) (64)
2(4(5(5(x1)))) → 2(2(2(1(4(4(3(x1))))))) (65)
3(4(5(5(x1)))) → 3(2(2(1(4(4(3(x1))))))) (66)
5(4(5(5(x1)))) → 5(2(2(1(4(4(3(x1))))))) (67)
0(4(5(5(x1)))) → 0(2(2(1(4(4(3(x1))))))) (68)
4(4(5(4(1(x1))))) → 4(1(2(0(5(4(0(x1))))))) (69)
1(4(5(4(1(x1))))) → 1(1(2(0(5(4(0(x1))))))) (70)
2(4(5(4(1(x1))))) → 2(1(2(0(5(4(0(x1))))))) (71)
3(4(5(4(1(x1))))) → 3(1(2(0(5(4(0(x1))))))) (72)
5(4(5(4(1(x1))))) → 5(1(2(0(5(4(0(x1))))))) (73)
0(4(5(4(1(x1))))) → 0(1(2(0(5(4(0(x1))))))) (74)
4(5(5(4(1(x1))))) → 4(1(4(3(1(0(0(x1))))))) (75)
1(5(5(4(1(x1))))) → 1(1(4(3(1(0(0(x1))))))) (76)
2(5(5(4(1(x1))))) → 2(1(4(3(1(0(0(x1))))))) (77)
3(5(5(4(1(x1))))) → 3(1(4(3(1(0(0(x1))))))) (78)
5(5(5(4(1(x1))))) → 5(1(4(3(1(0(0(x1))))))) (79)
0(5(5(4(1(x1))))) → 0(1(4(3(1(0(0(x1))))))) (80)
4(0(0(4(5(x1))))) → 4(2(2(0(4(0(1(x1))))))) (81)
1(0(0(4(5(x1))))) → 1(2(2(0(4(0(1(x1))))))) (82)
2(0(0(4(5(x1))))) → 2(2(2(0(4(0(1(x1))))))) (83)
3(0(0(4(5(x1))))) → 3(2(2(0(4(0(1(x1))))))) (84)
5(0(0(4(5(x1))))) → 5(2(2(0(4(0(1(x1))))))) (85)
0(0(0(4(5(x1))))) → 0(2(2(0(4(0(1(x1))))))) (86)

1.1.1 Semantic Labeling

Root-labeling is applied.

We obtain the labeled TRS

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

1.1.1.1 Rule Removal

Using the linear polynomial interpretation over the naturals
[41(x1)] = 1 · x1 + 124
[14(x1)] = 1 · x1 + 1
[42(x1)] = 1 · x1 + 18
[22(x1)] = 1 · x1
[21(x1)] = 1 · x1
[11(x1)] = 1 · x1 + 9
[13(x1)] = 1 · x1 + 1
[34(x1)] = 1 · x1 + 23
[31(x1)] = 1 · x1 + 103
[12(x1)] = 1 · x1
[32(x1)] = 1 · x1
[33(x1)] = 1 · x1 + 3
[10(x1)] = 1 · x1 + 59
[30(x1)] = 1 · x1 + 35
[15(x1)] = 1 · x1 + 1
[35(x1)] = 1 · x1 + 96
[03(x1)] = 1 · x1
[04(x1)] = 1 · x1 + 1
[02(x1)] = 1 · x1
[20(x1)] = 1 · x1 + 15
[01(x1)] = 1 · x1 + 10
[24(x1)] = 1 · x1
[23(x1)] = 1 · x1 + 1
[00(x1)] = 1 · x1 + 60
[05(x1)] = 1 · x1 + 2
[25(x1)] = 1 · x1
[45(x1)] = 1 · x1 + 117
[51(x1)] = 1 · x1 + 107
[40(x1)] = 1 · x1 + 53
[52(x1)] = 1 · x1
[54(x1)] = 1 · x1 + 28
[44(x1)] = 1 · x1 + 44
[53(x1)] = 1 · x1 + 29
[50(x1)] = 1 · x1 + 93
[55(x1)] = 1 · x1 + 100
[43(x1)] = 1 · x1 + 20
all of the following rules can be deleted.

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

1.1.1.1.1 Rule Removal

Using the linear polynomial interpretation over the naturals
[03(x1)] = 1 · x1
[30(x1)] = 1 · x1 + 1
[02(x1)] = 1 · x1
[20(x1)] = 1 · x1
[01(x1)] = 1 · x1
[11(x1)] = 1 · x1
[12(x1)] = 1 · x1
[23(x1)] = 1 · x1
[04(x1)] = 1 · x1
[45(x1)] = 1 · x1
[54(x1)] = 1 · x1 + 1
[25(x1)] = 1 · x1
[51(x1)] = 1 · x1
[15(x1)] = 1 · x1
[52(x1)] = 1 · x1 + 1
[53(x1)] = 1 · x1 + 1
[50(x1)] = 1 · x1 + 2
[55(x1)] = 1 · x1
[42(x1)] = 1 · x1
[21(x1)] = 1 · x1
[14(x1)] = 1 · x1
[40(x1)] = 1 · x1
[00(x1)] = 1 · x1
[34(x1)] = 1 · x1
[43(x1)] = 1 · x1
[32(x1)] = 1 · x1
[33(x1)] = 1 · x1
[44(x1)] = 1 · x1
[41(x1)] = 1 · x1
[13(x1)] = 1 · x1
[24(x1)] = 1 · x1
[31(x1)] = 1 · x1
[22(x1)] = 1 · x1
[10(x1)] = 1 · x1 + 1
[35(x1)] = 1 · x1
[05(x1)] = 1 · x1
all of the following rules can be deleted.
03(30(03(x1))) → 02(20(01(11(12(23(x1)))))) (96)
04(45(52(20(x1)))) → 04(42(21(14(40(00(x1)))))) (139)
50(03(34(43(x1)))) → 55(53(32(23(33(33(x1)))))) (144)
44(45(52(x1))) → 41(11(11(13(32(24(42(x1))))))) (155)
34(45(52(x1))) → 31(11(11(13(32(24(42(x1))))))) (173)
25(55(50(03(x1)))) → 22(24(43(31(10(01(13(x1))))))) (204)
24(45(53(34(x1)))) → 23(32(24(43(31(14(44(x1))))))) (237)
24(45(53(31(x1)))) → 23(32(24(43(31(14(41(x1))))))) (238)
24(45(53(35(x1)))) → 23(32(24(43(31(14(45(x1))))))) (242)
54(45(53(34(x1)))) → 53(32(24(43(31(14(44(x1))))))) (249)
54(45(53(31(x1)))) → 53(32(24(43(31(14(41(x1))))))) (250)
54(45(53(35(x1)))) → 53(32(24(43(31(14(45(x1))))))) (254)
15(55(54(41(10(x1))))) → 11(14(43(31(10(00(00(x1))))))) (379)
05(55(54(41(10(x1))))) → 01(14(43(31(10(00(00(x1))))))) (403)

1.1.1.1.1.1 Rule Removal

Using the linear polynomial interpretation over the naturals
[04(x1)] = 1 · x1 + 1
[45(x1)] = 1 · x1
[54(x1)] = 1 · x1
[01(x1)] = 1 · x1
[12(x1)] = 1 · x1
[25(x1)] = 1 · x1
[51(x1)] = 1 · x1
[15(x1)] = 1 · x1
[52(x1)] = 1 · x1
[53(x1)] = 1 · x1
[50(x1)] = 1 · x1
[55(x1)] = 1 · x1
[41(x1)] = 1 · x1
[11(x1)] = 1 · x1
[14(x1)] = 1 · x1
[43(x1)] = 1 · x1
[31(x1)] = 1 · x1
[10(x1)] = 1 · x1
[00(x1)] = 1 · x1
[05(x1)] = 1 · x1
all of the following rules can be deleted.
04(45(54(x1))) → 01(12(25(51(15(54(x1)))))) (111)
04(45(51(x1))) → 01(12(25(51(15(51(x1)))))) (112)
04(45(52(x1))) → 01(12(25(51(15(52(x1)))))) (113)
04(45(53(x1))) → 01(12(25(51(15(53(x1)))))) (114)
04(45(50(x1))) → 01(12(25(51(15(50(x1)))))) (115)
04(45(55(x1))) → 01(12(25(51(15(55(x1)))))) (116)

1.1.1.1.1.1.1 Rule Removal

Using the linear polynomial interpretation over the naturals
[15(x1)] = 1 · x1 + 1
[55(x1)] = 1 · x1
[54(x1)] = 1 · x1
[41(x1)] = 1 · x1
[11(x1)] = 1 · x1 + 1
[14(x1)] = 1 · x1
[43(x1)] = 1 · x1
[31(x1)] = 1 · x1
[10(x1)] = 1 · x1
[00(x1)] = 1 · x1
[01(x1)] = 1 · x1
[05(x1)] = 1 · x1
all of the following rules can be deleted.
15(55(54(41(11(x1))))) → 11(14(43(31(10(00(01(x1))))))) (376)
15(55(54(41(15(x1))))) → 11(14(43(31(10(00(05(x1))))))) (380)
05(55(54(41(11(x1))))) → 01(14(43(31(10(00(01(x1))))))) (400)
05(55(54(41(15(x1))))) → 01(14(43(31(10(00(05(x1))))))) (404)

1.1.1.1.1.1.1.1 R is empty

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