Term Rewriting System R:
[x, y, z]
purge(nil) -> nil
purge(.(x, y)) -> .(x, purge(remove(x, y)))
remove(x, nil) -> nil
remove(x, .(y, z)) -> if(=(x, y), remove(x, z), .(y, remove(x, 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:
PURGE(.(x, y)) -> PURGE(remove(x, y))
PURGE(.(x, y)) -> REMOVE(x, y)
REMOVE(x, .(y, z)) -> REMOVE(x, z)
Furthermore, R contains one SCC.
R
↳OC
→TRS2
↳DPs
→DP Problem 1
↳Usable Rules (Innermost)
Dependency Pair:
REMOVE(x, .(y, z)) -> REMOVE(x, z)
Rules:
purge(nil) -> nil
purge(.(x, y)) -> .(x, purge(remove(x, y)))
remove(x, nil) -> nil
remove(x, .(y, z)) -> if(=(x, y), remove(x, z), .(y, remove(x, z)))
Strategy:
innermost
As we are in the innermost case, we can delete all 4 non-usable-rules.
R
↳OC
→TRS2
↳DPs
→DP Problem 1
↳UsableRules
...
→DP Problem 2
↳Size-Change Principle
Dependency Pair:
REMOVE(x, .(y, z)) -> REMOVE(x, z)
Rule:
none
Strategy:
innermost
We number the DPs as follows:
- REMOVE(x, .(y, z)) -> REMOVE(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:
.(x1, x2) -> .(x1, x2)
We obtain no new DP problems.
Termination of R successfully shown.
Duration:
0:00 minutes