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.