Term Rewriting System R:
[X, Y]
nats -> adx(zeros)
zeros -> cons(0, zeros)
incr(cons(X, Y)) -> cons(s(X), incr(Y))
adx(cons(X, Y)) -> incr(cons(X, adx(Y)))
hd(cons(X, Y)) -> X
tl(cons(X, Y)) -> Y
Termination of R to be shown.
R
↳Removing Redundant Rules
Removing the following rules from R which fullfill a polynomial ordering:
nats -> adx(zeros)
hd(cons(X, Y)) -> X
where the Polynomial interpretation:
POL(0) | = 0 |
POL(adx(x1)) | = x1 |
POL(cons(x1, x2)) | = x1 + x2 |
POL(hd(x1)) | = 1 + x1 |
POL(nats) | = 1 |
POL(incr(x1)) | = x1 |
POL(s(x1)) | = x1 |
POL(zeros) | = 0 |
POL(tl(x1)) | = x1 |
was used.
Not all Rules of R can be deleted, so we still have to regard a part of R.
R
↳RRRPolo
→TRS2
↳Removing Redundant Rules
Removing the following rules from R which fullfill a polynomial ordering:
tl(cons(X, Y)) -> Y
where the Polynomial interpretation:
POL(adx(x1)) | = x1 |
POL(0) | = 0 |
POL(cons(x1, x2)) | = x1 + x2 |
POL(incr(x1)) | = x1 |
POL(s(x1)) | = x1 |
POL(zeros) | = 0 |
POL(tl(x1)) | = 1 + x1 |
was used.
Not all Rules of R can be deleted, so we still have to regard a part of R.
R
↳RRRPolo
→TRS2
↳RRRPolo
→TRS3
↳Overlay and local confluence Check
The TRS is overlay and locally confluent (all critical pairs are trivially joinable).Hence, we can switch to innermost.
R
↳RRRPolo
→TRS2
↳RRRPolo
→TRS3
↳OC
...
→TRS4
↳Dependency Pair Analysis
R contains the following Dependency Pairs:
INCR(cons(X, Y)) -> INCR(Y)
ADX(cons(X, Y)) -> INCR(cons(X, adx(Y)))
ADX(cons(X, Y)) -> ADX(Y)
ZEROS -> ZEROS
Furthermore, R contains three SCCs.
R
↳RRRPolo
→TRS2
↳RRRPolo
→TRS3
↳OC
...
→DP Problem 1
↳Usable Rules (Innermost)
Dependency Pair:
INCR(cons(X, Y)) -> INCR(Y)
Rules:
incr(cons(X, Y)) -> cons(s(X), incr(Y))
adx(cons(X, Y)) -> incr(cons(X, adx(Y)))
zeros -> cons(0, zeros)
Strategy:
innermost
As we are in the innermost case, we can delete all 3 non-usable-rules.
R
↳RRRPolo
→TRS2
↳RRRPolo
→TRS3
↳OC
...
→DP Problem 4
↳Size-Change Principle
Dependency Pair:
INCR(cons(X, Y)) -> INCR(Y)
Rule:
none
Strategy:
innermost
We number the DPs as follows:
- INCR(cons(X, Y)) -> INCR(Y)
and get the following Size-Change Graph(s):
which lead(s) to this/these maximal multigraph(s):
DP: empty set
Oriented Rules: none
We used the order Homeomorphic Embedding Order with Non-Strict Precedence.
trivial
with Argument Filtering System:
cons(x1, x2) -> cons(x1, x2)
We obtain no new DP problems.
R
↳RRRPolo
→TRS2
↳RRRPolo
→TRS3
↳OC
...
→DP Problem 2
↳Usable Rules (Innermost)
Dependency Pair:
ZEROS -> ZEROS
Rules:
incr(cons(X, Y)) -> cons(s(X), incr(Y))
adx(cons(X, Y)) -> incr(cons(X, adx(Y)))
zeros -> cons(0, zeros)
Strategy:
innermost
As we are in the innermost case, we can delete all 3 non-usable-rules.
R
↳RRRPolo
→TRS2
↳RRRPolo
→TRS3
↳OC
...
→DP Problem 5
↳Non Termination
Dependency Pair:
ZEROS -> ZEROS
Rule:
none
Strategy:
innermost
Found an infinite P-chain over R:
P =
ZEROS -> ZEROS
R = none
s = ZEROS
evaluates to t =ZEROS
Thus, s starts an infinite chain.
Non-Termination of R could be shown.
Duration:
0:03 minutes