NO Rewrite Rules: [ delete(?x,nil) -> nil, delete(?x,cons(?y,?ys)) -> ifList(eq(?x,?y),cons(?y,delete(?x,?ys)),delete(?x,?ys)), elimdup(nil) -> nil, elimdup(cons(?x,?xs)) -> cons(?x,delete(?x,elimdup(?xs))), elimdup(cons(?x,?xs)) -> ifList(member(?x,?xs),elimdup(?xs),cons(?x,elimdup(?xs))), member(?x,nil) -> false, member(?x,cons(?y,?ys)) -> ifBool(eq(?x,?y),true,member(?x,?ys)), eq(0,0) -> true, eq(0,s(?y)) -> false, eq(s(?x),0) -> false, eq(s(?x),s(?y)) -> eq(?x,?y), ifBool(true,?y,?z) -> ?y, ifBool(false,?y,?z) -> ?z, ifList(true,?ys,?zs) -> ?ys, ifList(false,?ys,?zs) -> ?zs ] Apply Direct Methods... Inner CPs: [ ] Outer CPs: [ cons(?x_2,delete(?x_2,elimdup(?xs_2))) = ifList(member(?x_2,?xs_2),elimdup(?xs_2),cons(?x_2,elimdup(?xs_2))) ] Overlay, check Innermost Termination... Innermost Terminating (hence Terminating), not WCR Knuth & Bendix Direct Methods: not CR Final result: not CR new/elimdup.trs: Success(not CR) (22 msec.)