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 AProVE @ 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))) |
→ |
1#(2(0(0(x1)))) |
(99) |
|
2#(1(0(x1))) |
→ |
2#(0(0(x1))) |
(100) |
|
2#(1(0(x1))) |
→ |
1#(2(0(x1))) |
(101) |
|
2#(1(0(x1))) |
→ |
2#(0(x1)) |
(102) |
|
1#(3(0(x1))) |
→ |
1#(0(x1)) |
(103) |
|
1#(3(0(x1))) |
→ |
1#(x1) |
(104) |
|
2#(3(0(x1))) |
→ |
1#(2(0(x1))) |
(105) |
|
2#(3(0(x1))) |
→ |
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))) |
→ |
1#(2(0(x1))) |
(110) |
|
1#(4(0(x1))) |
→ |
2#(0(x1)) |
(111) |
|
2#(4(0(x1))) |
→ |
1#(2(0(x1))) |
(112) |
|
2#(4(0(x1))) |
→ |
2#(0(x1)) |
(113) |
|
1#(0(2(x1))) |
→ |
1#(2(0(5(x1)))) |
(114) |
|
1#(0(2(x1))) |
→ |
2#(0(5(x1))) |
(115) |
|
1#(3(2(x1))) |
→ |
2#(5(3(1(x1)))) |
(116) |
|
1#(3(2(x1))) |
→ |
1#(x1) |
(117) |
|
1#(3(2(x1))) |
→ |
1#(2(0(x1))) |
(118) |
|
1#(3(2(x1))) |
→ |
2#(0(x1)) |
(119) |
|
1#(3(2(x1))) |
→ |
2#(5(3(4(1(x1))))) |
(120) |
|
1#(0(2(0(x1)))) |
→ |
1#(2(0(0(5(x1))))) |
(121) |
|
1#(0(2(0(x1)))) |
→ |
2#(0(0(5(x1)))) |
(122) |
|
1#(1(3(0(x1)))) |
→ |
1#(4(1(0(x1)))) |
(123) |
|
1#(1(3(0(x1)))) |
→ |
1#(0(x1)) |
(124) |
|
1#(2(3(0(x1)))) |
→ |
1#(2(4(3(0(0(x1)))))) |
(125) |
|
1#(2(3(0(x1)))) |
→ |
2#(4(3(0(0(x1))))) |
(126) |
|
2#(2(3(0(x1)))) |
→ |
2#(2(0(4(3(1(x1)))))) |
(127) |
|
2#(2(3(0(x1)))) |
→ |
2#(0(4(3(1(x1))))) |
(128) |
|
2#(2(3(0(x1)))) |
→ |
1#(x1) |
(129) |
|
2#(1(4(0(x1)))) |
→ |
2#(0(4(1(x1)))) |
(130) |
|
2#(1(4(0(x1)))) |
→ |
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)))) |
→ |
2#(5(3(1(0(2(x1)))))) |
(135) |
|
1#(3(0(2(x1)))) |
→ |
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#(5(2(0(x1)))) |
(139) |
|
2#(4(5(2(x1)))) |
→ |
2#(0(x1)) |
(140) |
|
1#(2(3(0(0(x1))))) |
→ |
2#(5(3(1(0(0(x1)))))) |
(141) |
|
1#(2(3(0(0(x1))))) |
→ |
1#(0(0(x1))) |
(142) |
|
2#(3(0(1(0(x1))))) |
→ |
2#(3(4(1(0(x1))))) |
(143) |
|
2#(3(0(1(0(x1))))) |
→ |
1#(3(2(x1))) |
(144) |
|
2#(3(0(1(0(x1))))) |
→ |
2#(x1) |
(145) |
|
1#(5(2(3(0(x1))))) |
→ |
1#(5(2(0(x1)))) |
(146) |
|
1#(5(2(3(0(x1))))) |
→ |
2#(0(x1)) |
(147) |
|
2#(1(1(5(0(x1))))) |
→ |
1#(1(4(2(0(x1))))) |
(148) |
|
2#(1(1(5(0(x1))))) |
→ |
1#(4(2(0(x1)))) |
(149) |
|
2#(1(1(5(0(x1))))) |
→ |
2#(0(x1)) |
(150) |
|
2#(2(1(5(0(x1))))) |
→ |
2#(1(2(5(2(0(x1)))))) |
(151) |
|
2#(2(1(5(0(x1))))) |
→ |
1#(2(5(2(0(x1))))) |
(152) |
|
2#(2(1(5(0(x1))))) |
→ |
2#(5(2(0(x1)))) |
(153) |
|
2#(2(1(5(0(x1))))) |
→ |
2#(0(x1)) |
(154) |
|
1#(2(3(5(0(x1))))) |
→ |
2#(4(3(1(0(x1))))) |
(155) |
|
1#(2(3(5(0(x1))))) |
→ |
1#(0(x1)) |
(156) |
|
2#(3(5(5(0(x1))))) |
→ |
1#(5(2(0(x1)))) |
(157) |
|
2#(3(5(5(0(x1))))) |
→ |
2#(0(x1)) |
(158) |
|
1#(1(3(0(2(x1))))) |
→ |
1#(0(1(2(x1)))) |
(159) |
|
1#(1(3(0(2(x1))))) |
→ |
1#(2(x1)) |
(160) |
|
1#(3(0(2(2(x1))))) |
→ |
2#(5(2(0(3(1(x1)))))) |
(161) |
|
1#(3(0(2(2(x1))))) |
→ |
2#(0(3(1(x1)))) |
(162) |
|
1#(3(0(2(2(x1))))) |
→ |
1#(x1) |
(163) |
|
1#(5(0(2(2(x1))))) |
→ |
1#(5(1(2(0(2(x1)))))) |
(164) |
|
1#(5(0(2(2(x1))))) |
→ |
1#(2(0(2(x1)))) |
(165) |
|
1#(5(0(2(2(x1))))) |
→ |
2#(0(2(x1))) |
(166) |
|
1#(4(5(5(2(x1))))) |
→ |
1#(2(5(5(x1)))) |
(167) |
|
1#(4(5(5(2(x1))))) |
→ |
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(x1))) |
→ |
2#(x1) |
(108) |
|
2#(3(0(1(0(x1))))) |
→ |
2#(3(4(1(0(x1))))) |
(143) |
|
2#(3(0(1(0(x1))))) |
→ |
2#(x1) |
(145) |
1.1.1.1 Monotonic Reduction Pair Processor with Usable Rules
Using the linear polynomial interpretation over the naturals
| [1(x1)] |
= |
1 · x1
|
| [0(x1)] |
= |
1 · x1
|
| [2(x1)] |
= |
1 · x1
|
| [5(x1)] |
= |
1 · x1
|
| [3(x1)] |
= |
1 · x1
|
| [4(x1)] |
= |
1 · x1
|
| [2#(x1)] |
= |
1 · x1
|
together with the usable
rules
|
1(0(2(x1))) |
→ |
1(2(0(5(x1)))) |
(69) |
|
1(0(2(0(x1)))) |
→ |
1(2(0(0(5(x1))))) |
(73) |
(w.r.t. the implicit argument filter of the reduction pair),
the
rule
could be deleted.
1.1.1.1.1 Dependency Graph Processor
The dependency pairs are split into 1
component.
-
The
1st
component contains the
pair
|
2#(3(0(x1))) |
→ |
2#(x1) |
(108) |
|
2#(3(4(0(x1)))) |
→ |
2#(x1) |
(132) |
|
2#(3(0(1(0(x1))))) |
→ |
2#(x1) |
(145) |
1.1.1.1.1.1 Monotonic Reduction Pair Processor with Usable Rules
Using the linear polynomial interpretation over the naturals
| [3(x1)] |
= |
1 · x1
|
| [0(x1)] |
= |
1 · x1
|
| [4(x1)] |
= |
1 · x1
|
| [1(x1)] |
= |
1 · x1
|
| [2#(x1)] |
= |
1 · x1
|
having no usable rules (w.r.t. the implicit argument filter of the
reduction pair),
the
rule
could be deleted.
1.1.1.1.1.1.1 Size-Change Termination
Using size-change termination in combination with
the subterm criterion
one obtains the following initial size-change graphs.
|
2#(3(0(x1))) |
→ |
2#(x1) |
(108) |
|
| 1 |
> |
1 |
|
2#(3(4(0(x1)))) |
→ |
2#(x1) |
(132) |
|
| 1 |
> |
1 |
|
2#(3(0(1(0(x1))))) |
→ |
2#(x1) |
(145) |
|
| 1 |
> |
1 |
As there is no critical graph in the transitive closure, there are no infinite chains.
-
The
2nd
component contains the
pair
|
1#(3(2(x1))) |
→ |
1#(x1) |
(117) |
|
1#(3(0(x1))) |
→ |
1#(x1) |
(104) |
|
1#(1(3(0(2(x1))))) |
→ |
1#(2(x1)) |
(160) |
|
1#(3(0(2(2(x1))))) |
→ |
1#(x1) |
(163) |
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(2(x1))) |
→ |
1#(x1) |
(117) |
|
| 1 |
> |
1 |
|
1#(3(0(x1))) |
→ |
1#(x1) |
(104) |
|
| 1 |
> |
1 |
|
1#(1(3(0(2(x1))))) |
→ |
1#(2(x1)) |
(160) |
|
| 1 |
> |
1 |
|
1#(3(0(2(2(x1))))) |
→ |
1#(x1) |
(163) |
|
| 1 |
> |
1 |
As there is no critical graph in the transitive closure, there are no infinite chains.