MAYBE Trs: { plus(0(), y) -> y, plus(s(x), y) -> s(plus(x, y)), fac(x) -> loop(x, s(0()), s(0())), lt(0(), s(x)) -> true(), lt(s(x), s(y)) -> lt(x, y), lt(x, 0()) -> false(), times(0(), y) -> 0(), times(s(x), y) -> plus(y, times(x, y)), loop(x, c, y) -> if(lt(x, c), x, c, y), if(false(), x, c, y) -> loop(x, s(c), times(y, s(c))), if(true(), x, c, y) -> y} Comment: We consider a duplicating trs. FAIL: Open