YES Problem: pred(s(x)) -> x minus(x,0()) -> x minus(x,s(y)) -> pred(minus(x,y)) quot(0(),s(y)) -> 0() quot(s(x),s(y)) -> s(quot(minus(x,y),s(y))) log(s(0())) -> 0() log(s(s(x))) -> s(log(s(quot(x,s(s(0())))))) Proof: DP Processor: DPs: minus#(x,s(y)) -> minus#(x,y) minus#(x,s(y)) -> pred#(minus(x,y)) quot#(s(x),s(y)) -> minus#(x,y) quot#(s(x),s(y)) -> quot#(minus(x,y),s(y)) log#(s(s(x))) -> quot#(x,s(s(0()))) log#(s(s(x))) -> log#(s(quot(x,s(s(0()))))) TRS: pred(s(x)) -> x minus(x,0()) -> x minus(x,s(y)) -> pred(minus(x,y)) quot(0(),s(y)) -> 0() quot(s(x),s(y)) -> s(quot(minus(x,y),s(y))) log(s(0())) -> 0() log(s(s(x))) -> s(log(s(quot(x,s(s(0())))))) Usable Rule Processor: DPs: minus#(x,s(y)) -> minus#(x,y) minus#(x,s(y)) -> pred#(minus(x,y)) quot#(s(x),s(y)) -> minus#(x,y) quot#(s(x),s(y)) -> quot#(minus(x,y),s(y)) log#(s(s(x))) -> quot#(x,s(s(0()))) log#(s(s(x))) -> log#(s(quot(x,s(s(0()))))) TRS: minus(x,0()) -> x minus(x,s(y)) -> pred(minus(x,y)) pred(s(x)) -> x quot(0(),s(y)) -> 0() quot(s(x),s(y)) -> s(quot(minus(x,y),s(y))) Matrix Interpretation Processor: dim=1 usable rules: minus(x,0()) -> x minus(x,s(y)) -> pred(minus(x,y)) pred(s(x)) -> x quot(0(),s(y)) -> 0() quot(s(x),s(y)) -> s(quot(minus(x,y),s(y))) interpretation: [log#](x0) = 3x0, [quot#](x0, x1) = x0 + 2x1, [minus#](x0, x1) = x0 + 2x1, [pred#](x0) = 0, [quot](x0, x1) = x0, [minus](x0, x1) = x0, [0] = 0, [pred](x0) = x0, [s](x0) = 2x0 + 1 orientation: minus#(x,s(y)) = x + 4y + 2 >= x + 2y = minus#(x,y) minus#(x,s(y)) = x + 4y + 2 >= 0 = pred#(minus(x,y)) quot#(s(x),s(y)) = 2x + 4y + 3 >= x + 2y = minus#(x,y) quot#(s(x),s(y)) = 2x + 4y + 3 >= x + 4y + 2 = quot#(minus(x,y),s(y)) log#(s(s(x))) = 12x + 9 >= x + 6 = quot#(x,s(s(0()))) log#(s(s(x))) = 12x + 9 >= 6x + 3 = log#(s(quot(x,s(s(0()))))) minus(x,0()) = x >= x = x minus(x,s(y)) = x >= x = pred(minus(x,y)) pred(s(x)) = 2x + 1 >= x = x quot(0(),s(y)) = 0 >= 0 = 0() quot(s(x),s(y)) = 2x + 1 >= 2x + 1 = s(quot(minus(x,y),s(y))) problem: DPs: TRS: minus(x,0()) -> x minus(x,s(y)) -> pred(minus(x,y)) pred(s(x)) -> x quot(0(),s(y)) -> 0() quot(s(x),s(y)) -> s(quot(minus(x,y),s(y))) Qed