NO Rewrite Rules: [ len(nil) -> 0, len(cons(?x,?xs)) -> s(len(?xs)), qrev(nil,?ys) -> ?ys, qrev(cons(?x,?xs),?ys) -> qrev(?xs,cons(?x,?ys)), +(0,?y) -> ?y, +(s(?x),?y) -> s(+(?x,?y)), len(qrev(?xs,?ys)) -> +(len(?xs),len(?ys)) ] Apply Direct Methods... Inner CPs: [ len(?ys_1) = +(len(nil),len(?ys_1)), len(qrev(?xs_2,cons(?x_2,?ys_2))) = +(len(cons(?x_2,?xs_2)),len(?ys_2)) ] Outer CPs: [ ] not Overlay, check Termination... Terminating, not WCR Knuth & Bendix Direct Methods: not CR Final result: not CR new/len-qrev.trs: Success(not CR) (19 msec.)