Term Rewriting System R:
[Z, X, Y]
fst(0, Z) -> nil
fst(s(X), cons(Y, Z)) -> cons(Y, fst(X, Z))
from(X) -> cons(X, from(s(X)))
add(0, X) -> X
add(s(X), Y) -> s(add(X, Y))
len(nil) -> 0
len(cons(X, Z)) -> s(len(Z))
Termination of R to be shown.
R
↳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
↳OC
→TRS2
↳Dependency Pair Analysis
R contains the following Dependency Pairs:
FST(s(X), cons(Y, Z)) -> FST(X, Z)
FROM(X) -> FROM(s(X))
ADD(s(X), Y) -> ADD(X, Y)
LEN(cons(X, Z)) -> LEN(Z)
Furthermore, R contains four SCCs.
R
↳OC
→TRS2
↳DPs
→DP Problem 1
↳Usable Rules (Innermost)
→DP Problem 2
↳UsableRules
Dependency Pair:
FST(s(X), cons(Y, Z)) -> FST(X, Z)
Rules:
fst(0, Z) -> nil
fst(s(X), cons(Y, Z)) -> cons(Y, fst(X, Z))
from(X) -> cons(X, from(s(X)))
add(0, X) -> X
add(s(X), Y) -> s(add(X, Y))
len(nil) -> 0
len(cons(X, Z)) -> s(len(Z))
Strategy:
innermost
As we are in the innermost case, we can delete all 7 non-usable-rules.
R
↳OC
→TRS2
↳DPs
→DP Problem 1
↳UsableRules
...
→DP Problem 5
↳Size-Change Principle
→DP Problem 2
↳UsableRules
Dependency Pair:
FST(s(X), cons(Y, Z)) -> FST(X, Z)
Rule:
none
Strategy:
innermost
We number the DPs as follows:
- FST(s(X), cons(Y, Z)) -> FST(X, Z)
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)
s(x1) -> s(x1)
We obtain no new DP problems.
R
↳OC
→TRS2
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳Usable Rules (Innermost)
Dependency Pair:
FROM(X) -> FROM(s(X))
Rules:
fst(0, Z) -> nil
fst(s(X), cons(Y, Z)) -> cons(Y, fst(X, Z))
from(X) -> cons(X, from(s(X)))
add(0, X) -> X
add(s(X), Y) -> s(add(X, Y))
len(nil) -> 0
len(cons(X, Z)) -> s(len(Z))
Strategy:
innermost
As we are in the innermost case, we can delete all 7 non-usable-rules.
R
↳OC
→TRS2
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
...
→DP Problem 6
↳Non Termination
Dependency Pair:
FROM(X) -> FROM(s(X))
Rule:
none
Strategy:
innermost
Found an infinite P-chain over R:
P =
FROM(X) -> FROM(s(X))
R = none
s = FROM(X)
evaluates to t =FROM(s(X))
Thus, s starts an infinite chain as s matches t.
Non-Termination of R could be shown.
Duration:
0:02 minutes