Certification Problem
Input (TPDB TRS_Standard/TCT_12/recursion-5)
The rewrite relation of the following TRS is considered.
f_0(x) |
→ |
a |
(1) |
f_1(x) |
→ |
g_1(x,x) |
(2) |
g_1(s(x),y) |
→ |
b(f_0(y),g_1(x,y)) |
(3) |
f_2(x) |
→ |
g_2(x,x) |
(4) |
g_2(s(x),y) |
→ |
b(f_1(y),g_2(x,y)) |
(5) |
f_3(x) |
→ |
g_3(x,x) |
(6) |
g_3(s(x),y) |
→ |
b(f_2(y),g_3(x,y)) |
(7) |
f_4(x) |
→ |
g_4(x,x) |
(8) |
g_4(s(x),y) |
→ |
b(f_3(y),g_4(x,y)) |
(9) |
f_5(x) |
→ |
g_5(x,x) |
(10) |
g_5(s(x),y) |
→ |
b(f_4(y),g_5(x,y)) |
(11) |
Property / Task
Prove or disprove termination.Answer / Result
Yes.Proof (by NaTT @ termCOMP 2023)
1 Dependency Pair Transformation
The following set of initial dependency pairs has been identified.
f_3#(x) |
→ |
g_3#(x,x) |
(12) |
g_5#(s(x),y) |
→ |
g_5#(x,y) |
(13) |
g_1#(s(x),y) |
→ |
g_1#(x,y) |
(14) |
f_5#(x) |
→ |
g_5#(x,x) |
(15) |
g_2#(s(x),y) |
→ |
g_2#(x,y) |
(16) |
g_1#(s(x),y) |
→ |
f_0#(y) |
(17) |
f_4#(x) |
→ |
g_4#(x,x) |
(18) |
g_3#(s(x),y) |
→ |
f_2#(y) |
(19) |
g_2#(s(x),y) |
→ |
f_1#(y) |
(20) |
g_5#(s(x),y) |
→ |
f_4#(y) |
(21) |
g_4#(s(x),y) |
→ |
f_3#(y) |
(22) |
f_1#(x) |
→ |
g_1#(x,x) |
(23) |
g_3#(s(x),y) |
→ |
g_3#(x,y) |
(24) |
f_2#(x) |
→ |
g_2#(x,x) |
(25) |
g_4#(s(x),y) |
→ |
g_4#(x,y) |
(26) |
1.1 Dependency Graph Processor
The dependency pairs are split into 5
components.
-
The
1st
component contains the
pair
g_5#(s(x),y) |
→ |
g_5#(x,y) |
(13) |
1.1.1 Reduction Pair Processor with Usable Rules
Using the Max-polynomial interpretation
[a] |
=
|
0 |
[g_5(x1, x2)] |
=
|
0 |
[g_1#(x1, x2)] |
=
|
0 |
[s(x1)] |
=
|
x1 + 1 |
[g_4#(x1, x2)] |
=
|
0 |
[f_4#(x1)] |
=
|
0 |
[b(x1, x2)] |
=
|
0 |
[g_3(x1, x2)] |
=
|
0 |
[f_5(x1)] |
=
|
0 |
[f_2(x1)] |
=
|
0 |
[g_3#(x1, x2)] |
=
|
0 |
[f_2#(x1)] |
=
|
0 |
[g_1(x1, x2)] |
=
|
0 |
[g_2(x1, x2)] |
=
|
0 |
[g_2#(x1, x2)] |
=
|
0 |
[f_1(x1)] |
=
|
0 |
[g_5#(x1, x2)] |
=
|
x1 + 0 |
[g_4(x1, x2)] |
=
|
0 |
[f_0#(x1)] |
=
|
0 |
[f_0(x1)] |
=
|
0 |
[f_3#(x1)] |
=
|
0 |
[f_4(x1)] |
=
|
0 |
[f_1#(x1)] |
=
|
0 |
[f_5#(x1)] |
=
|
0 |
[f_3(x1)] |
=
|
0 |
having no usable rules (w.r.t. the implicit argument filter of the
reduction pair),
the
pair
g_5#(s(x),y) |
→ |
g_5#(x,y) |
(13) |
could be deleted.
1.1.1.1 Dependency Graph Processor
The dependency pairs are split into 0
components.
-
The
2nd
component contains the
pair
g_4#(s(x),y) |
→ |
g_4#(x,y) |
(26) |
1.1.2 Reduction Pair Processor with Usable Rules
Using the Max-polynomial interpretation
[a] |
=
|
0 |
[g_5(x1, x2)] |
=
|
0 |
[g_1#(x1, x2)] |
=
|
0 |
[s(x1)] |
=
|
x1 + 1 |
[g_4#(x1, x2)] |
=
|
x1 + 0 |
[f_4#(x1)] |
=
|
0 |
[b(x1, x2)] |
=
|
0 |
[g_3(x1, x2)] |
=
|
0 |
[f_5(x1)] |
=
|
0 |
[f_2(x1)] |
=
|
0 |
[g_3#(x1, x2)] |
=
|
0 |
[f_2#(x1)] |
=
|
0 |
[g_1(x1, x2)] |
=
|
0 |
[g_2(x1, x2)] |
=
|
0 |
[g_2#(x1, x2)] |
=
|
0 |
[f_1(x1)] |
=
|
0 |
[g_5#(x1, x2)] |
=
|
0 |
[g_4(x1, x2)] |
=
|
0 |
[f_0#(x1)] |
=
|
0 |
[f_0(x1)] |
=
|
0 |
[f_3#(x1)] |
=
|
0 |
[f_4(x1)] |
=
|
0 |
[f_1#(x1)] |
=
|
0 |
[f_5#(x1)] |
=
|
0 |
[f_3(x1)] |
=
|
0 |
having no usable rules (w.r.t. the implicit argument filter of the
reduction pair),
the
pair
g_4#(s(x),y) |
→ |
g_4#(x,y) |
(26) |
could be deleted.
1.1.2.1 Dependency Graph Processor
The dependency pairs are split into 0
components.
-
The
3rd
component contains the
pair
g_3#(s(x),y) |
→ |
g_3#(x,y) |
(24) |
1.1.3 Reduction Pair Processor with Usable Rules
Using the Max-polynomial interpretation
[a] |
=
|
0 |
[g_5(x1, x2)] |
=
|
0 |
[g_1#(x1, x2)] |
=
|
0 |
[s(x1)] |
=
|
x1 + 1 |
[g_4#(x1, x2)] |
=
|
0 |
[f_4#(x1)] |
=
|
0 |
[b(x1, x2)] |
=
|
0 |
[g_3(x1, x2)] |
=
|
0 |
[f_5(x1)] |
=
|
0 |
[f_2(x1)] |
=
|
0 |
[g_3#(x1, x2)] |
=
|
x1 + 0 |
[f_2#(x1)] |
=
|
0 |
[g_1(x1, x2)] |
=
|
0 |
[g_2(x1, x2)] |
=
|
0 |
[g_2#(x1, x2)] |
=
|
0 |
[f_1(x1)] |
=
|
0 |
[g_5#(x1, x2)] |
=
|
0 |
[g_4(x1, x2)] |
=
|
0 |
[f_0#(x1)] |
=
|
0 |
[f_0(x1)] |
=
|
0 |
[f_3#(x1)] |
=
|
0 |
[f_4(x1)] |
=
|
0 |
[f_1#(x1)] |
=
|
0 |
[f_5#(x1)] |
=
|
0 |
[f_3(x1)] |
=
|
0 |
having no usable rules (w.r.t. the implicit argument filter of the
reduction pair),
the
pair
g_3#(s(x),y) |
→ |
g_3#(x,y) |
(24) |
could be deleted.
1.1.3.1 Dependency Graph Processor
The dependency pairs are split into 0
components.
-
The
4th
component contains the
pair
g_2#(s(x),y) |
→ |
g_2#(x,y) |
(16) |
1.1.4 Reduction Pair Processor with Usable Rules
Using the Max-polynomial interpretation
[a] |
=
|
0 |
[g_5(x1, x2)] |
=
|
0 |
[g_1#(x1, x2)] |
=
|
0 |
[s(x1)] |
=
|
x1 + 1 |
[g_4#(x1, x2)] |
=
|
0 |
[f_4#(x1)] |
=
|
0 |
[b(x1, x2)] |
=
|
0 |
[g_3(x1, x2)] |
=
|
0 |
[f_5(x1)] |
=
|
0 |
[f_2(x1)] |
=
|
0 |
[g_3#(x1, x2)] |
=
|
0 |
[f_2#(x1)] |
=
|
0 |
[g_1(x1, x2)] |
=
|
0 |
[g_2(x1, x2)] |
=
|
0 |
[g_2#(x1, x2)] |
=
|
x1 + 0 |
[f_1(x1)] |
=
|
0 |
[g_5#(x1, x2)] |
=
|
0 |
[g_4(x1, x2)] |
=
|
0 |
[f_0#(x1)] |
=
|
0 |
[f_0(x1)] |
=
|
0 |
[f_3#(x1)] |
=
|
0 |
[f_4(x1)] |
=
|
0 |
[f_1#(x1)] |
=
|
0 |
[f_5#(x1)] |
=
|
0 |
[f_3(x1)] |
=
|
0 |
having no usable rules (w.r.t. the implicit argument filter of the
reduction pair),
the
pair
g_2#(s(x),y) |
→ |
g_2#(x,y) |
(16) |
could be deleted.
1.1.4.1 Dependency Graph Processor
The dependency pairs are split into 0
components.
-
The
5th
component contains the
pair
g_1#(s(x),y) |
→ |
g_1#(x,y) |
(14) |
1.1.5 Reduction Pair Processor with Usable Rules
Using the Max-polynomial interpretation
[a] |
=
|
0 |
[g_5(x1, x2)] |
=
|
0 |
[g_1#(x1, x2)] |
=
|
x1 + 0 |
[s(x1)] |
=
|
x1 + 1 |
[g_4#(x1, x2)] |
=
|
0 |
[f_4#(x1)] |
=
|
0 |
[b(x1, x2)] |
=
|
0 |
[g_3(x1, x2)] |
=
|
0 |
[f_5(x1)] |
=
|
0 |
[f_2(x1)] |
=
|
0 |
[g_3#(x1, x2)] |
=
|
0 |
[f_2#(x1)] |
=
|
0 |
[g_1(x1, x2)] |
=
|
0 |
[g_2(x1, x2)] |
=
|
0 |
[g_2#(x1, x2)] |
=
|
0 |
[f_1(x1)] |
=
|
0 |
[g_5#(x1, x2)] |
=
|
0 |
[g_4(x1, x2)] |
=
|
0 |
[f_0#(x1)] |
=
|
0 |
[f_0(x1)] |
=
|
0 |
[f_3#(x1)] |
=
|
0 |
[f_4(x1)] |
=
|
0 |
[f_1#(x1)] |
=
|
0 |
[f_5#(x1)] |
=
|
0 |
[f_3(x1)] |
=
|
0 |
having no usable rules (w.r.t. the implicit argument filter of the
reduction pair),
the
pair
g_1#(s(x),y) |
→ |
g_1#(x,y) |
(14) |
could be deleted.
1.1.5.1 Dependency Graph Processor
The dependency pairs are split into 0
components.