MAYBE MAYBE TRS: { isEmpty(empty()) -> true(), isEmpty(node(l, r)) -> false(), left(empty()) -> empty(), left(node(l, r)) -> l, right(empty()) -> empty(), right(node(l, r)) -> r, inc(s(x)) -> s(inc(x)), inc(0()) -> s(0()), if(true(), b, n, m, x, y) -> x, if(false(), true(), n, m, x, y) -> count(n, y), if(false(), false(), n, m, x, y) -> count(m, x), count(n, x) -> if( isEmpty(n), isEmpty(left(n)), right(n), node(left(left(n)), node(right(left(n)), right(n))), x, inc(x) ), nrOfNodes(n) -> count(n, 0()) } DUP: We consider a duplicating system. Trs: { isEmpty(empty()) -> true(), isEmpty(node(l, r)) -> false(), left(empty()) -> empty(), left(node(l, r)) -> l, right(empty()) -> empty(), right(node(l, r)) -> r, inc(s(x)) -> s(inc(x)), inc(0()) -> s(0()), if(true(), b, n, m, x, y) -> x, if(false(), true(), n, m, x, y) -> count(n, y), if(false(), false(), n, m, x, y) -> count(m, x), count(n, x) -> if( isEmpty(n), isEmpty(left(n)), right(n), node(left(left(n)), node(right(left(n)), right(n))), x, inc(x) ), nrOfNodes(n) -> count(n, 0()) } Fail