Certification Problem

Input (TPDB SRS_Standard/ICFP_2010/85650)

The rewrite relation of the following TRS is considered.

0(0(1(0(x1)))) → 2(3(4(x1))) (1)
3(5(1(1(2(1(x1)))))) → 3(3(3(1(3(1(x1)))))) (2)
0(0(3(3(5(5(4(x1))))))) → 2(3(3(0(3(4(x1)))))) (3)
0(4(0(0(4(4(5(x1))))))) → 3(5(4(1(2(4(x1)))))) (4)
5(5(5(2(5(2(4(4(3(x1))))))))) → 5(0(1(5(0(4(5(2(x1)))))))) (5)
0(4(3(0(1(1(1(4(1(0(x1)))))))))) → 2(5(0(2(2(1(0(5(1(3(x1)))))))))) (6)
0(4(5(2(1(5(3(0(1(1(x1)))))))))) → 5(3(0(2(3(0(5(0(0(0(x1)))))))))) (7)
3(3(1(4(2(0(3(5(0(0(x1)))))))))) → 0(1(1(2(5(3(1(2(2(2(x1)))))))))) (8)
4(5(2(2(1(5(2(4(5(0(x1)))))))))) → 4(2(5(4(1(4(5(5(5(0(x1)))))))))) (9)
0(1(1(3(4(4(0(4(1(5(5(x1))))))))))) → 0(2(4(4(5(5(5(3(2(4(0(x1))))))))))) (10)
2(1(1(3(5(5(4(1(0(4(4(1(x1)))))))))))) → 2(5(5(3(4(2(0(4(0(1(2(0(x1)))))))))))) (11)
4(4(5(1(1(1(3(2(5(5(4(1(x1)))))))))))) → 4(2(1(0(2(0(0(0(4(3(3(1(x1)))))))))))) (12)
4(5(2(1(0(5(2(0(2(5(0(4(x1)))))))))))) → 3(0(0(5(3(2(0(0(2(0(0(4(x1)))))))))))) (13)
5(2(2(4(2(5(1(4(5(4(0(4(x1)))))))))))) → 2(4(5(5(5(4(3(2(5(3(1(4(x1)))))))))))) (14)
0(4(1(5(4(3(5(5(0(0(5(1(2(x1))))))))))))) → 0(3(5(4(5(0(5(2(0(4(2(4(x1)))))))))))) (15)
2(2(2(1(0(2(2(5(1(0(1(5(1(x1))))))))))))) → 5(4(0(3(2(5(0(1(2(4(3(3(x1)))))))))))) (16)
0(2(5(5(1(2(2(5(5(0(5(2(1(0(x1)))))))))))))) → 2(0(5(5(5(0(1(2(3(4(0(1(1(x1))))))))))))) (17)
2(4(1(3(4(1(0(0(3(2(4(4(1(2(x1)))))))))))))) → 3(4(5(1(4(4(4(5(4(5(1(4(3(1(x1)))))))))))))) (18)
0(3(3(2(0(2(2(3(4(0(5(1(2(5(1(2(x1)))))))))))))))) → 0(1(0(1(3(0(1(1(2(2(4(0(3(4(4(x1))))))))))))))) (19)
2(2(0(0(2(0(5(2(4(0(4(3(2(5(2(0(x1)))))))))))))))) → 4(5(4(1(3(5(1(3(0(2(5(0(2(5(3(x1))))))))))))))) (20)
1(4(4(3(4(5(3(5(1(2(5(0(4(4(4(0(4(x1))))))))))))))))) → 1(2(3(3(1(0(1(1(1(0(3(3(3(3(5(3(4(x1))))))))))))))))) (21)
3(0(2(0(3(2(3(3(0(4(3(0(0(2(0(2(0(x1))))))))))))))))) → 3(5(5(3(2(1(2(2(2(0(3(0(4(5(1(1(x1)))))))))))))))) (22)
4(0(4(3(3(5(2(1(3(5(5(3(2(4(5(1(0(x1))))))))))))))))) → 4(4(5(5(4(2(2(0(2(1(5(2(1(5(4(5(0(x1))))))))))))))))) (23)
1(2(4(3(4(4(2(2(1(4(2(1(3(1(5(1(5(3(x1)))))))))))))))))) → 1(0(3(2(0(0(1(3(0(3(4(0(0(0(3(5(3(x1))))))))))))))))) (24)
4(5(5(5(4(0(0(3(3(4(4(3(3(5(5(3(1(0(x1)))))))))))))))))) → 3(3(2(5(1(1(5(4(1(5(1(2(5(4(1(2(1(x1))))))))))))))))) (25)
1(1(1(3(0(3(5(0(5(1(1(4(2(2(0(3(2(3(3(x1))))))))))))))))))) → 3(5(2(2(4(4(1(2(4(3(0(5(5(0(0(1(2(2(3(x1))))))))))))))))))) (26)
0(2(1(3(1(2(0(3(4(2(2(5(3(0(1(3(3(5(3(2(x1)))))))))))))))))))) → 1(3(1(0(2(5(3(1(1(3(1(5(0(1(1(0(3(0(3(x1))))))))))))))))))) (27)
1(0(0(3(2(0(4(5(1(1(2(5(0(1(0(2(1(4(3(2(x1)))))))))))))))))))) → 3(1(1(4(4(5(4(3(1(0(3(0(4(0(1(0(2(2(2(1(x1)))))))))))))))))))) (28)
0(0(3(3(3(1(1(0(0(2(5(0(4(5(1(4(2(4(1(0(5(x1))))))))))))))))))))) → 1(2(3(0(5(2(3(0(3(5(4(1(4(4(5(0(1(1(1(5(x1)))))))))))))))))))) (29)
0(5(3(1(0(2(1(4(5(1(1(0(1(1(3(2(5(4(3(0(4(x1))))))))))))))))))))) → 1(1(5(5(4(2(3(5(3(1(0(0(5(3(5(5(4(1(3(4(x1)))))))))))))))))))) (30)

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
0(1(0(0(x1)))) → 4(3(2(x1))) (31)
1(2(1(1(5(3(x1)))))) → 1(3(1(3(3(3(x1)))))) (32)
4(5(5(3(3(0(0(x1))))))) → 4(3(0(3(3(2(x1)))))) (33)
5(4(4(0(0(4(0(x1))))))) → 4(2(1(4(5(3(x1)))))) (34)
3(4(4(2(5(2(5(5(5(x1))))))))) → 2(5(4(0(5(1(0(5(x1)))))))) (35)
0(1(4(1(1(1(0(3(4(0(x1)))))))))) → 3(1(5(0(1(2(2(0(5(2(x1)))))))))) (36)
1(1(0(3(5(1(2(5(4(0(x1)))))))))) → 0(0(0(5(0(3(2(0(3(5(x1)))))))))) (37)
0(0(5(3(0(2(4(1(3(3(x1)))))))))) → 2(2(2(1(3(5(2(1(1(0(x1)))))))))) (38)
0(5(4(2(5(1(2(2(5(4(x1)))))))))) → 0(5(5(5(4(1(4(5(2(4(x1)))))))))) (39)
5(5(1(4(0(4(4(3(1(1(0(x1))))))))))) → 0(4(2(3(5(5(5(4(4(2(0(x1))))))))))) (40)
1(4(4(0(1(4(5(5(3(1(1(2(x1)))))))))))) → 0(2(1(0(4(0(2(4(3(5(5(2(x1)))))))))))) (41)
1(4(5(5(2(3(1(1(1(5(4(4(x1)))))))))))) → 1(3(3(4(0(0(0(2(0(1(2(4(x1)))))))))))) (42)
4(0(5(2(0(2(5(0(1(2(5(4(x1)))))))))))) → 4(0(0(2(0(0(2(3(5(0(0(3(x1)))))))))))) (43)
4(0(4(5(4(1(5(2(4(2(2(5(x1)))))))))))) → 4(1(3(5(2(3(4(5(5(5(4(2(x1)))))))))))) (44)
2(1(5(0(0(5(5(3(4(5(1(4(0(x1))))))))))))) → 4(2(4(0(2(5(0(5(4(5(3(0(x1)))))))))))) (45)
1(5(1(0(1(5(2(2(0(1(2(2(2(x1))))))))))))) → 3(3(4(2(1(0(5(2(3(0(4(5(x1)))))))))))) (46)
0(1(2(5(0(5(5(2(2(1(5(5(2(0(x1)))))))))))))) → 1(1(0(4(3(2(1(0(5(5(5(0(2(x1))))))))))))) (47)
2(1(4(4(2(3(0(0(1(4(3(1(4(2(x1)))))))))))))) → 1(3(4(1(5(4(5(4(4(4(1(5(4(3(x1)))))))))))))) (48)
2(1(5(2(1(5(0(4(3(2(2(0(2(3(3(0(x1)))))))))))))))) → 4(4(3(0(4(2(2(1(1(0(3(1(0(1(0(x1))))))))))))))) (49)
0(2(5(2(3(4(0(4(2(5(0(2(0(0(2(2(x1)))))))))))))))) → 3(5(2(0(5(2(0(3(1(5(3(1(4(5(4(x1))))))))))))))) (50)
4(0(4(4(4(0(5(2(1(5(3(5(4(3(4(4(1(x1))))))))))))))))) → 4(3(5(3(3(3(3(0(1(1(1(0(1(3(3(2(1(x1))))))))))))))))) (51)
0(2(0(2(0(0(3(4(0(3(3(2(3(0(2(0(3(x1))))))))))))))))) → 1(1(5(4(0(3(0(2(2(2(1(2(3(5(5(3(x1)))))))))))))))) (52)
0(1(5(4(2(3(5(5(3(1(2(5(3(3(4(0(4(x1))))))))))))))))) → 0(5(4(5(1(2(5(1(2(0(2(2(4(5(5(4(4(x1))))))))))))))))) (53)
3(5(1(5(1(3(1(2(4(1(2(2(4(4(3(4(2(1(x1)))))))))))))))))) → 3(5(3(0(0(0(4(3(0(3(1(0(0(2(3(0(1(x1))))))))))))))))) (54)
0(1(3(5(5(3(3(4(4(3(3(0(0(4(5(5(5(4(x1)))))))))))))))))) → 1(2(1(4(5(2(1(5(1(4(5(1(1(5(2(3(3(x1))))))))))))))))) (55)
3(3(2(3(0(2(2(4(1(1(5(0(5(3(0(3(1(1(1(x1))))))))))))))))))) → 3(2(2(1(0(0(5(5(0(3(4(2(1(4(4(2(2(5(3(x1))))))))))))))))))) (56)
2(3(5(3(3(1(0(3(5(2(2(4(3(0(2(1(3(1(2(0(x1)))))))))))))))))))) → 3(0(3(0(1(1(0(5(1(3(1(1(3(5(2(0(1(3(1(x1))))))))))))))))))) (57)
2(3(4(1(2(0(1(0(5(2(1(1(5(4(0(2(3(0(0(1(x1)))))))))))))))))))) → 1(2(2(2(0(1(0(4(0(3(0(1(3(4(5(4(4(1(1(3(x1)))))))))))))))))))) (58)
5(0(1(4(2(4(1(5(4(0(5(2(0(0(1(1(3(3(3(0(0(x1))))))))))))))))))))) → 5(1(1(1(0(5(4(4(1(4(5(3(0(3(2(5(0(3(2(1(x1)))))))))))))))))))) (59)
4(0(3(4(5(2(3(1(1(0(1(1(5(4(1(2(0(1(3(5(0(x1))))))))))))))))))))) → 4(3(1(4(5(5(3(5(0(0(1(3(5(3(2(4(5(5(1(1(x1)))))))))))))))))))) (60)

1.1 Rule Removal

Using the linear polynomial interpretation over the naturals
[0(x1)] = 1 · x1 + 1
[1(x1)] = 1 · x1 + 1
[4(x1)] = 1 · x1 + 1
[3(x1)] = 1 · x1 + 1
[2(x1)] = 1 · x1 + 1
[5(x1)] = 1 · x1 + 1
all of the following rules can be deleted.
0(1(0(0(x1)))) → 4(3(2(x1))) (31)
4(5(5(3(3(0(0(x1))))))) → 4(3(0(3(3(2(x1)))))) (33)
5(4(4(0(0(4(0(x1))))))) → 4(2(1(4(5(3(x1)))))) (34)
3(4(4(2(5(2(5(5(5(x1))))))))) → 2(5(4(0(5(1(0(5(x1)))))))) (35)
2(1(5(0(0(5(5(3(4(5(1(4(0(x1))))))))))))) → 4(2(4(0(2(5(0(5(4(5(3(0(x1)))))))))))) (45)
1(5(1(0(1(5(2(2(0(1(2(2(2(x1))))))))))))) → 3(3(4(2(1(0(5(2(3(0(4(5(x1)))))))))))) (46)
0(1(2(5(0(5(5(2(2(1(5(5(2(0(x1)))))))))))))) → 1(1(0(4(3(2(1(0(5(5(5(0(2(x1))))))))))))) (47)
2(1(5(2(1(5(0(4(3(2(2(0(2(3(3(0(x1)))))))))))))))) → 4(4(3(0(4(2(2(1(1(0(3(1(0(1(0(x1))))))))))))))) (49)
0(2(5(2(3(4(0(4(2(5(0(2(0(0(2(2(x1)))))))))))))))) → 3(5(2(0(5(2(0(3(1(5(3(1(4(5(4(x1))))))))))))))) (50)
0(2(0(2(0(0(3(4(0(3(3(2(3(0(2(0(3(x1))))))))))))))))) → 1(1(5(4(0(3(0(2(2(2(1(2(3(5(5(3(x1)))))))))))))))) (52)
3(5(1(5(1(3(1(2(4(1(2(2(4(4(3(4(2(1(x1)))))))))))))))))) → 3(5(3(0(0(0(4(3(0(3(1(0(0(2(3(0(1(x1))))))))))))))))) (54)
0(1(3(5(5(3(3(4(4(3(3(0(0(4(5(5(5(4(x1)))))))))))))))))) → 1(2(1(4(5(2(1(5(1(4(5(1(1(5(2(3(3(x1))))))))))))))))) (55)
2(3(5(3(3(1(0(3(5(2(2(4(3(0(2(1(3(1(2(0(x1)))))))))))))))))))) → 3(0(3(0(1(1(0(5(1(3(1(1(3(5(2(0(1(3(1(x1))))))))))))))))))) (57)
5(0(1(4(2(4(1(5(4(0(5(2(0(0(1(1(3(3(3(0(0(x1))))))))))))))))))))) → 5(1(1(1(0(5(4(4(1(4(5(3(0(3(2(5(0(3(2(1(x1)))))))))))))))))))) (59)
4(0(3(4(5(2(3(1(1(0(1(1(5(4(1(2(0(1(3(5(0(x1))))))))))))))))))))) → 4(3(1(4(5(5(3(5(0(0(1(3(5(3(2(4(5(5(1(1(x1)))))))))))))))))))) (60)

1.1.1 Dependency Pair Transformation

The following set of initial dependency pairs has been identified.

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

1.1.1.1 Dependency Graph Processor

The dependency pairs are split into 1 component.