Certification Problem
Input (TPDB TRS_Standard/AG01/#3.35)
The rewrite relation of the following TRS is considered.
g(s(x)) |
→ |
f(x) |
(1) |
f(0) |
→ |
s(0) |
(2) |
f(s(x)) |
→ |
s(s(g(x))) |
(3) |
g(0) |
→ |
0 |
(4) |
Property / Task
Prove or disprove termination.Answer / Result
Yes.Proof (by AProVE @ termCOMP 2023)
1 Constant to Unary
Every constant is turned into a unary function symbol to obtain the TRS
g(s(x)) |
→ |
f(x) |
(1) |
f(0'(x)) |
→ |
s(0'(x)) |
(5) |
f(s(x)) |
→ |
s(s(g(x))) |
(3) |
g(0'(x)) |
→ |
0'(x) |
(6) |
1.1 String Reversal
Since only unary symbols occur, one can reverse all terms and obtains the TRS
s(g(x)) |
→ |
f(x) |
(7) |
0'(f(x)) |
→ |
0'(s(x)) |
(8) |
s(f(x)) |
→ |
g(s(s(x))) |
(9) |
0'(g(x)) |
→ |
0'(x) |
(10) |
1.1.1 Rule Removal
Using the
linear polynomial interpretation over the naturals
[s(x1)] |
= |
1 · x1
|
[g(x1)] |
= |
1 · x1 + 1 |
[f(x1)] |
= |
1 · x1 + 1 |
[0'(x1)] |
= |
1 · x1
|
all of the following rules can be deleted.
0'(f(x)) |
→ |
0'(s(x)) |
(8) |
0'(g(x)) |
→ |
0'(x) |
(10) |
1.1.1.1 Switch to Innermost Termination
The TRS is overlay and locally confluent:
10Hence, it suffices to show innermost termination in the following.
1.1.1.1.1 Dependency Pair Transformation
The following set of initial dependency pairs has been identified.
s#(f(x)) |
→ |
s#(s(x)) |
(11) |
s#(f(x)) |
→ |
s#(x) |
(12) |
1.1.1.1.1.1 Monotonic Reduction Pair Processor
Using the linear polynomial interpretation over the naturals
[s(x1)] |
= |
1 · x1
|
[g(x1)] |
= |
2 + 1 · x1
|
[f(x1)] |
= |
2 + 1 · x1
|
[s#(x1)] |
= |
3 · x1
|
the
pairs
s#(f(x)) |
→ |
s#(s(x)) |
(11) |
s#(f(x)) |
→ |
s#(x) |
(12) |
and
no rules
could be deleted.
1.1.1.1.1.1.1 P is empty
There are no pairs anymore.