(VAR x y z t) (THEORY (AC app plus)) (RULES if(true, x, y) -> x if(false, x, y) -> y eq(0, 0) -> true eq(0, s(x)) -> false eq(s(x), s(y)) -> eq(x, y) plus(empty, x) -> x app(x, empty) -> empty app(x, app(empty, z)) -> app(empty, z) app(x, plus(y, z)) -> plus(app(x, y), app(x, z)) app(x, app(plus(y, z), t)) -> app(plus(app(x, y), app(x, z)), t) app(singl(x), singl(y)) -> if(eq(x, y), singl(x), empty) )