Term Rewriting System R:
[X, Y]
f(X) -> if(X, c, f(true))
if(true, X, Y) -> X
if(false, X, Y) -> Y
Termination of R to be shown.
R
↳Removing Redundant Rules
Removing the following rules from R which fullfill a polynomial ordering:
if(false, X, Y) -> Y
where the Polynomial interpretation:
POL(if(x1, x2, x3)) | = x1 + x2 + x3 |
POL(c) | = 0 |
POL(false) | = 1 |
POL(true) | = 0 |
POL(f(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
↳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
↳OC
→TRS3
↳Dependency Pair Analysis
R contains the following Dependency Pairs:
F(X) -> IF(X, c, f(true))
F(X) -> F(true)
Furthermore, R contains one SCC.
R
↳RRRPolo
→TRS2
↳OC
→TRS3
↳DPs
...
→DP Problem 1
↳Usable Rules (Innermost)
Dependency Pair:
F(X) -> F(true)
Rules:
f(X) -> if(X, c, f(true))
if(true, X, Y) -> X
Strategy:
innermost
As we are in the innermost case, we can delete all 2 non-usable-rules.
R
↳RRRPolo
→TRS2
↳OC
→TRS3
↳DPs
...
→DP Problem 2
↳Non Termination
Dependency Pair:
F(X) -> F(true)
Rule:
none
Strategy:
innermost
Found an infinite P-chain over R:
P =
F(X) -> F(true)
R = none
s = F(true)
evaluates to t =F(true)
Thus, s starts an infinite chain.
Non-Termination of R could be shown.
Duration:
0:02 minutes