YES Problem: le(0(),Y) -> true() le(s(X),0()) -> false() le(s(X),s(Y)) -> le(X,Y) minus(0(),Y) -> 0() minus(s(X),Y) -> ifMinus(le(s(X),Y),s(X),Y) ifMinus(true(),s(X),Y) -> 0() ifMinus(false(),s(X),Y) -> s(minus(X,Y)) quot(0(),s(Y)) -> 0() quot(s(X),s(Y)) -> s(quot(minus(X,Y),s(Y))) Proof: DP Processor: DPs: le#(s(X),s(Y)) -> le#(X,Y) minus#(s(X),Y) -> le#(s(X),Y) minus#(s(X),Y) -> ifMinus#(le(s(X),Y),s(X),Y) ifMinus#(false(),s(X),Y) -> minus#(X,Y) quot#(s(X),s(Y)) -> minus#(X,Y) quot#(s(X),s(Y)) -> quot#(minus(X,Y),s(Y)) TRS: le(0(),Y) -> true() le(s(X),0()) -> false() le(s(X),s(Y)) -> le(X,Y) minus(0(),Y) -> 0() minus(s(X),Y) -> ifMinus(le(s(X),Y),s(X),Y) ifMinus(true(),s(X),Y) -> 0() ifMinus(false(),s(X),Y) -> s(minus(X,Y)) quot(0(),s(Y)) -> 0() quot(s(X),s(Y)) -> s(quot(minus(X,Y),s(Y))) Matrix Interpretation Processor: dim=1 interpretation: [quot#](x0, x1) = x0, [ifMinus#](x0, x1, x2) = 1/2x1, [minus#](x0, x1) = 1/2x0 + 1/2, [le#](x0, x1) = 1/2x0, [quot](x0, x1) = 3x0, [ifMinus](x0, x1, x2) = x1, [minus](x0, x1) = x0, [false] = 0, [s](x0) = x0 + 2, [true] = 0, [le](x0, x1) = 0, [0] = 0 orientation: le#(s(X),s(Y)) = 1/2X + 1 >= 1/2X = le#(X,Y) minus#(s(X),Y) = 1/2X + 3/2 >= 1/2X + 1 = le#(s(X),Y) minus#(s(X),Y) = 1/2X + 3/2 >= 1/2X + 1 = ifMinus#(le(s(X),Y),s(X),Y) ifMinus#(false(),s(X),Y) = 1/2X + 1 >= 1/2X + 1/2 = minus#(X,Y) quot#(s(X),s(Y)) = X + 2 >= 1/2X + 1/2 = minus#(X,Y) quot#(s(X),s(Y)) = X + 2 >= X = quot#(minus(X,Y),s(Y)) le(0(),Y) = 0 >= 0 = true() le(s(X),0()) = 0 >= 0 = false() le(s(X),s(Y)) = 0 >= 0 = le(X,Y) minus(0(),Y) = 0 >= 0 = 0() minus(s(X),Y) = X + 2 >= X + 2 = ifMinus(le(s(X),Y),s(X),Y) ifMinus(true(),s(X),Y) = X + 2 >= 0 = 0() ifMinus(false(),s(X),Y) = X + 2 >= X + 2 = s(minus(X,Y)) quot(0(),s(Y)) = 0 >= 0 = 0() quot(s(X),s(Y)) = 3X + 6 >= 3X + 2 = s(quot(minus(X,Y),s(Y))) problem: DPs: TRS: le(0(),Y) -> true() le(s(X),0()) -> false() le(s(X),s(Y)) -> le(X,Y) minus(0(),Y) -> 0() minus(s(X),Y) -> ifMinus(le(s(X),Y),s(X),Y) ifMinus(true(),s(X),Y) -> 0() ifMinus(false(),s(X),Y) -> s(minus(X,Y)) quot(0(),s(Y)) -> 0() quot(s(X),s(Y)) -> s(quot(minus(X,Y),s(Y))) Qed