Certification Problem

Input (TPDB SRS_Standard/ICFP_2010/4046)

The rewrite relation of the following TRS is considered.

4(2(4(x1))) → 2(0(0(5(3(3(5(2(0(4(x1)))))))))) (1)
4(4(2(4(2(x1))))) → 2(0(5(2(1(4(0(2(0(1(x1)))))))))) (2)
0(5(4(2(4(3(x1)))))) → 5(1(5(5(3(5(3(0(0(0(x1)))))))))) (3)
1(1(4(5(3(3(x1)))))) → 1(3(1(1(3(0(1(2(2(1(x1)))))))))) (4)
3(1(4(3(1(2(x1)))))) → 0(0(1(1(4(2(3(0(0(3(x1)))))))))) (5)
3(2(4(2(4(1(x1)))))) → 0(2(1(1(1(5(3(1(3(3(x1)))))))))) (6)
3(3(0(4(1(2(x1)))))) → 3(5(1(2(0(2(0(5(3(1(x1)))))))))) (7)
4(1(4(5(0(5(4(x1))))))) → 4(1(5(3(1(0(5(3(1(0(x1)))))))))) (8)
4(4(0(5(4(2(2(x1))))))) → 4(0(4(3(4(4(4(5(4(1(x1)))))))))) (9)
5(4(5(3(2(4(3(x1))))))) → 2(5(5(5(0(4(5(0(1(4(x1)))))))))) (10)

Property / Task

Prove or disprove termination.

Answer / Result

Yes.

Proof (by matchbox @ termCOMP 2023)

1 Closure Under Flat Contexts

Using the flat contexts

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

We obtain the transformed TRS
5(4(2(4(x1)))) → 5(2(0(0(5(3(3(5(2(0(4(x1))))))))))) (11)
5(4(4(2(4(2(x1)))))) → 5(2(0(5(2(1(4(0(2(0(1(x1))))))))))) (12)
5(0(5(4(2(4(3(x1))))))) → 5(5(1(5(5(3(5(3(0(0(0(x1))))))))))) (13)
5(1(1(4(5(3(3(x1))))))) → 5(1(3(1(1(3(0(1(2(2(1(x1))))))))))) (14)
5(3(1(4(3(1(2(x1))))))) → 5(0(0(1(1(4(2(3(0(0(3(x1))))))))))) (15)
5(3(2(4(2(4(1(x1))))))) → 5(0(2(1(1(1(5(3(1(3(3(x1))))))))))) (16)
5(3(3(0(4(1(2(x1))))))) → 5(3(5(1(2(0(2(0(5(3(1(x1))))))))))) (17)
5(4(1(4(5(0(5(4(x1)))))))) → 5(4(1(5(3(1(0(5(3(1(0(x1))))))))))) (18)
5(4(4(0(5(4(2(2(x1)))))))) → 5(4(0(4(3(4(4(4(5(4(1(x1))))))))))) (19)
5(5(4(5(3(2(4(3(x1)))))))) → 5(2(5(5(5(0(4(5(0(1(4(x1))))))))))) (20)
4(4(2(4(x1)))) → 4(2(0(0(5(3(3(5(2(0(4(x1))))))))))) (21)
4(4(4(2(4(2(x1)))))) → 4(2(0(5(2(1(4(0(2(0(1(x1))))))))))) (22)
4(0(5(4(2(4(3(x1))))))) → 4(5(1(5(5(3(5(3(0(0(0(x1))))))))))) (23)
4(1(1(4(5(3(3(x1))))))) → 4(1(3(1(1(3(0(1(2(2(1(x1))))))))))) (24)
4(3(1(4(3(1(2(x1))))))) → 4(0(0(1(1(4(2(3(0(0(3(x1))))))))))) (25)
4(3(2(4(2(4(1(x1))))))) → 4(0(2(1(1(1(5(3(1(3(3(x1))))))))))) (26)
4(3(3(0(4(1(2(x1))))))) → 4(3(5(1(2(0(2(0(5(3(1(x1))))))))))) (27)
4(4(1(4(5(0(5(4(x1)))))))) → 4(4(1(5(3(1(0(5(3(1(0(x1))))))))))) (28)
4(4(4(0(5(4(2(2(x1)))))))) → 4(4(0(4(3(4(4(4(5(4(1(x1))))))))))) (29)
4(5(4(5(3(2(4(3(x1)))))))) → 4(2(5(5(5(0(4(5(0(1(4(x1))))))))))) (30)
3(4(2(4(x1)))) → 3(2(0(0(5(3(3(5(2(0(4(x1))))))))))) (31)
3(4(4(2(4(2(x1)))))) → 3(2(0(5(2(1(4(0(2(0(1(x1))))))))))) (32)
3(0(5(4(2(4(3(x1))))))) → 3(5(1(5(5(3(5(3(0(0(0(x1))))))))))) (33)
3(1(1(4(5(3(3(x1))))))) → 3(1(3(1(1(3(0(1(2(2(1(x1))))))))))) (34)
3(3(1(4(3(1(2(x1))))))) → 3(0(0(1(1(4(2(3(0(0(3(x1))))))))))) (35)
3(3(2(4(2(4(1(x1))))))) → 3(0(2(1(1(1(5(3(1(3(3(x1))))))))))) (36)
3(3(3(0(4(1(2(x1))))))) → 3(3(5(1(2(0(2(0(5(3(1(x1))))))))))) (37)
3(4(1(4(5(0(5(4(x1)))))))) → 3(4(1(5(3(1(0(5(3(1(0(x1))))))))))) (38)
3(4(4(0(5(4(2(2(x1)))))))) → 3(4(0(4(3(4(4(4(5(4(1(x1))))))))))) (39)
3(5(4(5(3(2(4(3(x1)))))))) → 3(2(5(5(5(0(4(5(0(1(4(x1))))))))))) (40)
2(4(2(4(x1)))) → 2(2(0(0(5(3(3(5(2(0(4(x1))))))))))) (41)
2(4(4(2(4(2(x1)))))) → 2(2(0(5(2(1(4(0(2(0(1(x1))))))))))) (42)
2(0(5(4(2(4(3(x1))))))) → 2(5(1(5(5(3(5(3(0(0(0(x1))))))))))) (43)
2(1(1(4(5(3(3(x1))))))) → 2(1(3(1(1(3(0(1(2(2(1(x1))))))))))) (44)
2(3(1(4(3(1(2(x1))))))) → 2(0(0(1(1(4(2(3(0(0(3(x1))))))))))) (45)
2(3(2(4(2(4(1(x1))))))) → 2(0(2(1(1(1(5(3(1(3(3(x1))))))))))) (46)
2(3(3(0(4(1(2(x1))))))) → 2(3(5(1(2(0(2(0(5(3(1(x1))))))))))) (47)
2(4(1(4(5(0(5(4(x1)))))))) → 2(4(1(5(3(1(0(5(3(1(0(x1))))))))))) (48)
2(4(4(0(5(4(2(2(x1)))))))) → 2(4(0(4(3(4(4(4(5(4(1(x1))))))))))) (49)
2(5(4(5(3(2(4(3(x1)))))))) → 2(2(5(5(5(0(4(5(0(1(4(x1))))))))))) (50)
1(4(2(4(x1)))) → 1(2(0(0(5(3(3(5(2(0(4(x1))))))))))) (51)
1(4(4(2(4(2(x1)))))) → 1(2(0(5(2(1(4(0(2(0(1(x1))))))))))) (52)
1(0(5(4(2(4(3(x1))))))) → 1(5(1(5(5(3(5(3(0(0(0(x1))))))))))) (53)
1(1(1(4(5(3(3(x1))))))) → 1(1(3(1(1(3(0(1(2(2(1(x1))))))))))) (54)
1(3(1(4(3(1(2(x1))))))) → 1(0(0(1(1(4(2(3(0(0(3(x1))))))))))) (55)
1(3(2(4(2(4(1(x1))))))) → 1(0(2(1(1(1(5(3(1(3(3(x1))))))))))) (56)
1(3(3(0(4(1(2(x1))))))) → 1(3(5(1(2(0(2(0(5(3(1(x1))))))))))) (57)
1(4(1(4(5(0(5(4(x1)))))))) → 1(4(1(5(3(1(0(5(3(1(0(x1))))))))))) (58)
1(4(4(0(5(4(2(2(x1)))))))) → 1(4(0(4(3(4(4(4(5(4(1(x1))))))))))) (59)
1(5(4(5(3(2(4(3(x1)))))))) → 1(2(5(5(5(0(4(5(0(1(4(x1))))))))))) (60)
0(4(2(4(x1)))) → 0(2(0(0(5(3(3(5(2(0(4(x1))))))))))) (61)
0(4(4(2(4(2(x1)))))) → 0(2(0(5(2(1(4(0(2(0(1(x1))))))))))) (62)
0(0(5(4(2(4(3(x1))))))) → 0(5(1(5(5(3(5(3(0(0(0(x1))))))))))) (63)
0(1(1(4(5(3(3(x1))))))) → 0(1(3(1(1(3(0(1(2(2(1(x1))))))))))) (64)
0(3(1(4(3(1(2(x1))))))) → 0(0(0(1(1(4(2(3(0(0(3(x1))))))))))) (65)
0(3(2(4(2(4(1(x1))))))) → 0(0(2(1(1(1(5(3(1(3(3(x1))))))))))) (66)
0(3(3(0(4(1(2(x1))))))) → 0(3(5(1(2(0(2(0(5(3(1(x1))))))))))) (67)
0(4(1(4(5(0(5(4(x1)))))))) → 0(4(1(5(3(1(0(5(3(1(0(x1))))))))))) (68)
0(4(4(0(5(4(2(2(x1)))))))) → 0(4(0(4(3(4(4(4(5(4(1(x1))))))))))) (69)
0(5(4(5(3(2(4(3(x1)))))))) → 0(2(5(5(5(0(4(5(0(1(4(x1))))))))))) (70)

1.1 Semantic Labeling

The following interpretations form a model of the rules.

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

[5(x1)] = 6x1 + 0
[4(x1)] = 6x1 + 1
[3(x1)] = 6x1 + 2
[2(x1)] = 6x1 + 3
[1(x1)] = 6x1 + 4
[0(x1)] = 6x1 + 5

We obtain the labeled TRS

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

1.1.1 Rule Removal

Using the matrix interpretations of dimension 1 with strict dimension 1 over the rationals with delta = 1
[50(x1)] = x1 +
0
[51(x1)] = x1 +
11
[52(x1)] = x1 +
3
[53(x1)] = x1 +
0
[54(x1)] = x1 +
0
[55(x1)] = x1 +
0
[40(x1)] = x1 +
0
[41(x1)] = x1 +
0
[42(x1)] = x1 +
3
[43(x1)] = x1 +
1
[44(x1)] = x1 +
0
[45(x1)] = x1 +
0
[30(x1)] = x1 +
0
[31(x1)] = x1 +
0
[32(x1)] = x1 +
4
[33(x1)] = x1 +
0
[34(x1)] = x1 +
0
[35(x1)] = x1 +
0
[20(x1)] = x1 +
3
[21(x1)] = x1 +
11
[22(x1)] = x1 +
1
[23(x1)] = x1 +
3
[24(x1)] = x1 +
0
[25(x1)] = x1 +
0
[10(x1)] = x1 +
0
[11(x1)] = x1 +
3
[12(x1)] = x1 +
0
[13(x1)] = x1 +
3
[14(x1)] = x1 +
0
[15(x1)] = x1 +
0
[00(x1)] = x1 +
0
[01(x1)] = x1 +
0
[02(x1)] = x1 +
0
[03(x1)] = x1 +
0
[04(x1)] = x1 +
0
[05(x1)] = x1 +
0
all of the following rules can be deleted.

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

1.1.1.1 R is empty

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