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. This program has no overlaps, so it is sufficient to show innermost termination. R contains the following Dependency Pairs: REMOVE(x, .(y, z)) -> REMOVE(x, z) PURGE(.(x, y)) -> PURGE(remove(x, y)) PURGE(.(x, y)) -> REMOVE(x, y) Furthermore, R contains one SCC. SCC1: REMOVE(x, .(y, z)) -> REMOVE(x, z) Removing rules from R by ordering and analyzing Dependency Pairs, Usable Rules, and Usable Equations. This is possible by using the following (C_E-compatible) Polynomial ordering. Polynomial interpretation: POL(REMOVE(x_1, x_2)) = 1 + x_1 + x_2 POL(.(x_1, x_2)) = 1 + x_1 + x_2 The following Dependency Pairs can be deleted: REMOVE(x, .(y, z)) -> REMOVE(x, z) This transformation is resulting in no new subcycles. Termination of R successfully shown. Duration: 0.500 seconds.