Certification Problem
Input (TPDB SRS_Standard/ICFP_2010/212693)
The rewrite relation of the following TRS is considered.
0(1(2(x1))) |
→ |
0(0(2(1(x1)))) |
(1) |
0(1(2(x1))) |
→ |
0(2(1(3(x1)))) |
(2) |
0(1(2(x1))) |
→ |
0(0(2(1(4(4(x1)))))) |
(3) |
0(3(1(x1))) |
→ |
0(1(3(4(0(x1))))) |
(4) |
0(3(1(x1))) |
→ |
0(1(3(4(4(x1))))) |
(5) |
0(3(1(x1))) |
→ |
1(3(4(4(4(0(x1)))))) |
(6) |
0(3(2(x1))) |
→ |
0(2(1(3(x1)))) |
(7) |
0(3(2(x1))) |
→ |
0(2(3(4(x1)))) |
(8) |
0(3(2(x1))) |
→ |
0(0(2(4(3(x1))))) |
(9) |
0(3(2(x1))) |
→ |
0(2(1(4(3(x1))))) |
(10) |
0(3(2(x1))) |
→ |
0(2(4(3(3(x1))))) |
(11) |
0(3(2(x1))) |
→ |
0(2(1(3(3(4(x1)))))) |
(12) |
0(3(2(x1))) |
→ |
0(2(3(4(5(5(x1)))))) |
(13) |
0(3(2(x1))) |
→ |
2(4(4(3(4(0(x1)))))) |
(14) |
0(4(1(x1))) |
→ |
0(1(4(4(x1)))) |
(15) |
0(4(1(x1))) |
→ |
0(2(1(4(x1)))) |
(16) |
0(4(2(x1))) |
→ |
0(2(1(4(x1)))) |
(17) |
0(4(2(x1))) |
→ |
0(2(3(4(x1)))) |
(18) |
0(4(2(x1))) |
→ |
0(2(4(3(x1)))) |
(19) |
2(0(1(x1))) |
→ |
5(0(2(1(x1)))) |
(20) |
2(3(1(x1))) |
→ |
1(3(5(2(x1)))) |
(21) |
2(3(1(x1))) |
→ |
0(2(1(3(5(x1))))) |
(22) |
2(3(1(x1))) |
→ |
1(4(3(5(2(x1))))) |
(23) |
0(2(0(1(x1)))) |
→ |
5(0(0(2(1(x1))))) |
(24) |
0(3(1(1(x1)))) |
→ |
0(1(4(1(3(4(x1)))))) |
(25) |
0(3(2(1(x1)))) |
→ |
0(0(3(4(2(1(x1)))))) |
(26) |
0(3(2(2(x1)))) |
→ |
1(3(4(0(2(2(x1)))))) |
(27) |
0(4(1(2(x1)))) |
→ |
1(4(0(2(5(x1))))) |
(28) |
0(4(3(2(x1)))) |
→ |
2(3(4(4(0(0(x1)))))) |
(29) |
0(5(3(1(x1)))) |
→ |
0(1(4(3(5(4(x1)))))) |
(30) |
0(5(3(1(x1)))) |
→ |
0(1(5(3(4(0(x1)))))) |
(31) |
0(5(3(2(x1)))) |
→ |
0(2(4(5(3(x1))))) |
(32) |
0(5(3(2(x1)))) |
→ |
0(2(5(3(3(x1))))) |
(33) |
2(0(3(1(x1)))) |
→ |
2(0(1(3(5(2(x1)))))) |
(34) |
2(0(4(1(x1)))) |
→ |
2(0(1(4(5(x1))))) |
(35) |
2(5(3(2(x1)))) |
→ |
2(5(2(3(3(x1))))) |
(36) |
2(5(4(2(x1)))) |
→ |
0(2(5(2(4(x1))))) |
(37) |
0(0(3(2(1(x1))))) |
→ |
0(0(1(3(5(2(x1)))))) |
(38) |
0(1(0(3(2(x1))))) |
→ |
0(1(4(3(2(0(x1)))))) |
(39) |
0(1(0(3(2(x1))))) |
→ |
2(3(1(0(0(5(x1)))))) |
(40) |
0(3(2(5(1(x1))))) |
→ |
0(2(5(1(3(3(x1)))))) |
(41) |
0(5(1(1(2(x1))))) |
→ |
0(2(4(1(1(5(x1)))))) |
(42) |
0(5(1(2(2(x1))))) |
→ |
0(2(5(2(1(2(x1)))))) |
(43) |
0(5(3(2(1(x1))))) |
→ |
0(1(3(4(2(5(x1)))))) |
(44) |
0(5(5(3(2(x1))))) |
→ |
0(2(5(1(3(5(x1)))))) |
(45) |
2(0(3(1(1(x1))))) |
→ |
2(1(0(1(3(4(x1)))))) |
(46) |
2(2(0(3(1(x1))))) |
→ |
1(3(0(2(5(2(x1)))))) |
(47) |
2(2(0(5(1(x1))))) |
→ |
2(0(2(1(5(1(x1)))))) |
(48) |
2(5(5(4(1(x1))))) |
→ |
5(5(2(1(3(4(x1)))))) |
(49) |
Property / Task
Prove or disprove termination.Answer / Result
Yes.Proof (by ttt2 @ termCOMP 2023)
1 String Reversal
Since only unary symbols occur, one can reverse all terms and obtains the TRS
2(1(0(x1))) |
→ |
1(2(0(0(x1)))) |
(50) |
2(1(0(x1))) |
→ |
3(1(2(0(x1)))) |
(51) |
2(1(0(x1))) |
→ |
4(4(1(2(0(0(x1)))))) |
(52) |
1(3(0(x1))) |
→ |
0(4(3(1(0(x1))))) |
(53) |
1(3(0(x1))) |
→ |
4(4(3(1(0(x1))))) |
(54) |
1(3(0(x1))) |
→ |
0(4(4(4(3(1(x1)))))) |
(55) |
2(3(0(x1))) |
→ |
3(1(2(0(x1)))) |
(56) |
2(3(0(x1))) |
→ |
4(3(2(0(x1)))) |
(57) |
2(3(0(x1))) |
→ |
3(4(2(0(0(x1))))) |
(58) |
2(3(0(x1))) |
→ |
3(4(1(2(0(x1))))) |
(59) |
2(3(0(x1))) |
→ |
3(3(4(2(0(x1))))) |
(60) |
2(3(0(x1))) |
→ |
4(3(3(1(2(0(x1)))))) |
(61) |
2(3(0(x1))) |
→ |
5(5(4(3(2(0(x1)))))) |
(62) |
2(3(0(x1))) |
→ |
0(4(3(4(4(2(x1)))))) |
(63) |
1(4(0(x1))) |
→ |
4(4(1(0(x1)))) |
(64) |
1(4(0(x1))) |
→ |
4(1(2(0(x1)))) |
(65) |
2(4(0(x1))) |
→ |
4(1(2(0(x1)))) |
(66) |
2(4(0(x1))) |
→ |
4(3(2(0(x1)))) |
(67) |
2(4(0(x1))) |
→ |
3(4(2(0(x1)))) |
(68) |
1(0(2(x1))) |
→ |
1(2(0(5(x1)))) |
(69) |
1(3(2(x1))) |
→ |
2(5(3(1(x1)))) |
(70) |
1(3(2(x1))) |
→ |
5(3(1(2(0(x1))))) |
(71) |
1(3(2(x1))) |
→ |
2(5(3(4(1(x1))))) |
(72) |
1(0(2(0(x1)))) |
→ |
1(2(0(0(5(x1))))) |
(73) |
1(1(3(0(x1)))) |
→ |
4(3(1(4(1(0(x1)))))) |
(74) |
1(2(3(0(x1)))) |
→ |
1(2(4(3(0(0(x1)))))) |
(75) |
2(2(3(0(x1)))) |
→ |
2(2(0(4(3(1(x1)))))) |
(76) |
2(1(4(0(x1)))) |
→ |
5(2(0(4(1(x1))))) |
(77) |
2(3(4(0(x1)))) |
→ |
0(0(4(4(3(2(x1)))))) |
(78) |
1(3(5(0(x1)))) |
→ |
4(5(3(4(1(0(x1)))))) |
(79) |
1(3(5(0(x1)))) |
→ |
0(4(3(5(1(0(x1)))))) |
(80) |
2(3(5(0(x1)))) |
→ |
3(5(4(2(0(x1))))) |
(81) |
2(3(5(0(x1)))) |
→ |
3(3(5(2(0(x1))))) |
(82) |
1(3(0(2(x1)))) |
→ |
2(5(3(1(0(2(x1)))))) |
(83) |
1(4(0(2(x1)))) |
→ |
5(4(1(0(2(x1))))) |
(84) |
2(3(5(2(x1)))) |
→ |
3(3(2(5(2(x1))))) |
(85) |
2(4(5(2(x1)))) |
→ |
4(2(5(2(0(x1))))) |
(86) |
1(2(3(0(0(x1))))) |
→ |
2(5(3(1(0(0(x1)))))) |
(87) |
2(3(0(1(0(x1))))) |
→ |
0(2(3(4(1(0(x1)))))) |
(88) |
2(3(0(1(0(x1))))) |
→ |
5(0(0(1(3(2(x1)))))) |
(89) |
1(5(2(3(0(x1))))) |
→ |
3(3(1(5(2(0(x1)))))) |
(90) |
2(1(1(5(0(x1))))) |
→ |
5(1(1(4(2(0(x1)))))) |
(91) |
2(2(1(5(0(x1))))) |
→ |
2(1(2(5(2(0(x1)))))) |
(92) |
1(2(3(5(0(x1))))) |
→ |
5(2(4(3(1(0(x1)))))) |
(93) |
2(3(5(5(0(x1))))) |
→ |
5(3(1(5(2(0(x1)))))) |
(94) |
1(1(3(0(2(x1))))) |
→ |
4(3(1(0(1(2(x1)))))) |
(95) |
1(3(0(2(2(x1))))) |
→ |
2(5(2(0(3(1(x1)))))) |
(96) |
1(5(0(2(2(x1))))) |
→ |
1(5(1(2(0(2(x1)))))) |
(97) |
1(4(5(5(2(x1))))) |
→ |
4(3(1(2(5(5(x1)))))) |
(98) |
1.1 Dependency Pair Transformation
The following set of initial dependency pairs has been identified.
2#(1(0(x1))) |
→ |
2#(0(0(x1))) |
(99) |
2#(1(0(x1))) |
→ |
1#(2(0(0(x1)))) |
(100) |
2#(1(0(x1))) |
→ |
2#(0(x1)) |
(101) |
2#(1(0(x1))) |
→ |
1#(2(0(x1))) |
(102) |
1#(3(0(x1))) |
→ |
1#(0(x1)) |
(103) |
1#(3(0(x1))) |
→ |
1#(x1) |
(104) |
2#(3(0(x1))) |
→ |
2#(0(x1)) |
(105) |
2#(3(0(x1))) |
→ |
1#(2(0(x1))) |
(106) |
2#(3(0(x1))) |
→ |
2#(0(0(x1))) |
(107) |
2#(3(0(x1))) |
→ |
2#(x1) |
(108) |
1#(4(0(x1))) |
→ |
1#(0(x1)) |
(109) |
1#(4(0(x1))) |
→ |
2#(0(x1)) |
(110) |
1#(4(0(x1))) |
→ |
1#(2(0(x1))) |
(111) |
2#(4(0(x1))) |
→ |
2#(0(x1)) |
(112) |
2#(4(0(x1))) |
→ |
1#(2(0(x1))) |
(113) |
1#(0(2(x1))) |
→ |
2#(0(5(x1))) |
(114) |
1#(0(2(x1))) |
→ |
1#(2(0(5(x1)))) |
(115) |
1#(3(2(x1))) |
→ |
1#(x1) |
(116) |
1#(3(2(x1))) |
→ |
2#(5(3(1(x1)))) |
(117) |
1#(3(2(x1))) |
→ |
2#(0(x1)) |
(118) |
1#(3(2(x1))) |
→ |
1#(2(0(x1))) |
(119) |
1#(3(2(x1))) |
→ |
2#(5(3(4(1(x1))))) |
(120) |
1#(0(2(0(x1)))) |
→ |
2#(0(0(5(x1)))) |
(121) |
1#(0(2(0(x1)))) |
→ |
1#(2(0(0(5(x1))))) |
(122) |
1#(1(3(0(x1)))) |
→ |
1#(0(x1)) |
(123) |
1#(1(3(0(x1)))) |
→ |
1#(4(1(0(x1)))) |
(124) |
1#(2(3(0(x1)))) |
→ |
2#(4(3(0(0(x1))))) |
(125) |
1#(2(3(0(x1)))) |
→ |
1#(2(4(3(0(0(x1)))))) |
(126) |
2#(2(3(0(x1)))) |
→ |
1#(x1) |
(127) |
2#(2(3(0(x1)))) |
→ |
2#(0(4(3(1(x1))))) |
(128) |
2#(2(3(0(x1)))) |
→ |
2#(2(0(4(3(1(x1)))))) |
(129) |
2#(1(4(0(x1)))) |
→ |
1#(x1) |
(130) |
2#(1(4(0(x1)))) |
→ |
2#(0(4(1(x1)))) |
(131) |
2#(3(4(0(x1)))) |
→ |
2#(x1) |
(132) |
1#(3(5(0(x1)))) |
→ |
1#(0(x1)) |
(133) |
2#(3(5(0(x1)))) |
→ |
2#(0(x1)) |
(134) |
1#(3(0(2(x1)))) |
→ |
1#(0(2(x1))) |
(135) |
1#(3(0(2(x1)))) |
→ |
2#(5(3(1(0(2(x1)))))) |
(136) |
1#(4(0(2(x1)))) |
→ |
1#(0(2(x1))) |
(137) |
2#(3(5(2(x1)))) |
→ |
2#(5(2(x1))) |
(138) |
2#(4(5(2(x1)))) |
→ |
2#(0(x1)) |
(139) |
2#(4(5(2(x1)))) |
→ |
2#(5(2(0(x1)))) |
(140) |
1#(2(3(0(0(x1))))) |
→ |
1#(0(0(x1))) |
(141) |
1#(2(3(0(0(x1))))) |
→ |
2#(5(3(1(0(0(x1)))))) |
(142) |
2#(3(0(1(0(x1))))) |
→ |
2#(3(4(1(0(x1))))) |
(143) |
2#(3(0(1(0(x1))))) |
→ |
2#(x1) |
(144) |
2#(3(0(1(0(x1))))) |
→ |
1#(3(2(x1))) |
(145) |
1#(5(2(3(0(x1))))) |
→ |
2#(0(x1)) |
(146) |
1#(5(2(3(0(x1))))) |
→ |
1#(5(2(0(x1)))) |
(147) |
2#(1(1(5(0(x1))))) |
→ |
2#(0(x1)) |
(148) |
2#(1(1(5(0(x1))))) |
→ |
1#(4(2(0(x1)))) |
(149) |
2#(1(1(5(0(x1))))) |
→ |
1#(1(4(2(0(x1))))) |
(150) |
2#(2(1(5(0(x1))))) |
→ |
2#(0(x1)) |
(151) |
2#(2(1(5(0(x1))))) |
→ |
2#(5(2(0(x1)))) |
(152) |
2#(2(1(5(0(x1))))) |
→ |
1#(2(5(2(0(x1))))) |
(153) |
2#(2(1(5(0(x1))))) |
→ |
2#(1(2(5(2(0(x1)))))) |
(154) |
1#(2(3(5(0(x1))))) |
→ |
1#(0(x1)) |
(155) |
1#(2(3(5(0(x1))))) |
→ |
2#(4(3(1(0(x1))))) |
(156) |
2#(3(5(5(0(x1))))) |
→ |
2#(0(x1)) |
(157) |
2#(3(5(5(0(x1))))) |
→ |
1#(5(2(0(x1)))) |
(158) |
1#(1(3(0(2(x1))))) |
→ |
1#(2(x1)) |
(159) |
1#(1(3(0(2(x1))))) |
→ |
1#(0(1(2(x1)))) |
(160) |
1#(3(0(2(2(x1))))) |
→ |
1#(x1) |
(161) |
1#(3(0(2(2(x1))))) |
→ |
2#(0(3(1(x1)))) |
(162) |
1#(3(0(2(2(x1))))) |
→ |
2#(5(2(0(3(1(x1)))))) |
(163) |
1#(5(0(2(2(x1))))) |
→ |
2#(0(2(x1))) |
(164) |
1#(5(0(2(2(x1))))) |
→ |
1#(2(0(2(x1)))) |
(165) |
1#(5(0(2(2(x1))))) |
→ |
1#(5(1(2(0(2(x1)))))) |
(166) |
1#(4(5(5(2(x1))))) |
→ |
2#(5(5(x1))) |
(167) |
1#(4(5(5(2(x1))))) |
→ |
1#(2(5(5(x1)))) |
(168) |
1.1.1 Dependency Graph Processor
The dependency pairs are split into 2
components.
-
The
1st
component contains the
pair
2#(3(4(0(x1)))) |
→ |
2#(x1) |
(132) |
2#(3(0(1(0(x1))))) |
→ |
2#(x1) |
(144) |
2#(3(0(1(0(x1))))) |
→ |
2#(3(4(1(0(x1))))) |
(143) |
2#(3(0(x1))) |
→ |
2#(x1) |
(108) |
1.1.1.1 Subterm Criterion Processor
We use the projection to multisets
π(2#)
|
= |
{
1
}
|
π(4)
|
= |
{
1
}
|
π(3)
|
= |
{
1
}
|
to remove the pairs:
2#(3(4(0(x1)))) |
→ |
2#(x1) |
(132) |
2#(3(0(1(0(x1))))) |
→ |
2#(x1) |
(144) |
2#(3(0(1(0(x1))))) |
→ |
2#(3(4(1(0(x1))))) |
(143) |
2#(3(0(x1))) |
→ |
2#(x1) |
(108) |
1.1.1.1.1 P is empty
There are no pairs anymore.
-
The
2nd
component contains the
pair
1#(3(0(2(2(x1))))) |
→ |
1#(x1) |
(161) |
1#(1(3(0(2(x1))))) |
→ |
1#(2(x1)) |
(159) |
1#(3(2(x1))) |
→ |
1#(x1) |
(116) |
1#(3(0(x1))) |
→ |
1#(x1) |
(104) |
1.1.1.2 Size-Change Termination
Using size-change termination in combination with
the subterm criterion
one obtains the following initial size-change graphs.
1#(3(0(2(2(x1))))) |
→ |
1#(x1) |
(161) |
|
1 |
> |
1 |
1#(1(3(0(2(x1))))) |
→ |
1#(2(x1)) |
(159) |
|
1 |
> |
1 |
1#(3(2(x1))) |
→ |
1#(x1) |
(116) |
|
1 |
> |
1 |
1#(3(0(x1))) |
→ |
1#(x1) |
(104) |
|
1 |
> |
1 |
As there is no critical graph in the transitive closure, there are no infinite chains.