YES Problem: -(x,0()) -> x -(0(),s(y)) -> 0() -(s(x),s(y)) -> -(x,y) lt(x,0()) -> false() lt(0(),s(y)) -> true() lt(s(x),s(y)) -> lt(x,y) if(true(),x,y) -> x if(false(),x,y) -> y div(x,0()) -> 0() div(0(),y) -> 0() div(s(x),s(y)) -> if(lt(x,y),0(),s(div(-(x,y),s(y)))) Proof: DP Processor: DPs: -#(s(x),s(y)) -> -#(x,y) lt#(s(x),s(y)) -> lt#(x,y) div#(s(x),s(y)) -> -#(x,y) div#(s(x),s(y)) -> div#(-(x,y),s(y)) div#(s(x),s(y)) -> lt#(x,y) div#(s(x),s(y)) -> if#(lt(x,y),0(),s(div(-(x,y),s(y)))) TRS: -(x,0()) -> x -(0(),s(y)) -> 0() -(s(x),s(y)) -> -(x,y) lt(x,0()) -> false() lt(0(),s(y)) -> true() lt(s(x),s(y)) -> lt(x,y) if(true(),x,y) -> x if(false(),x,y) -> y div(x,0()) -> 0() div(0(),y) -> 0() div(s(x),s(y)) -> if(lt(x,y),0(),s(div(-(x,y),s(y)))) Usable Rule Processor: DPs: -#(s(x),s(y)) -> -#(x,y) lt#(s(x),s(y)) -> lt#(x,y) div#(s(x),s(y)) -> -#(x,y) div#(s(x),s(y)) -> div#(-(x,y),s(y)) div#(s(x),s(y)) -> lt#(x,y) div#(s(x),s(y)) -> if#(lt(x,y),0(),s(div(-(x,y),s(y)))) TRS: -(x,0()) -> x -(0(),s(y)) -> 0() -(s(x),s(y)) -> -(x,y) div(0(),y) -> 0() div(s(x),s(y)) -> if(lt(x,y),0(),s(div(-(x,y),s(y)))) if(true(),x,y) -> x if(false(),x,y) -> y lt(x,0()) -> false() lt(0(),s(y)) -> true() lt(s(x),s(y)) -> lt(x,y) Arctic Interpretation Processor: dimension: 1 usable rules: -(x,0()) -> x -(0(),s(y)) -> 0() -(s(x),s(y)) -> -(x,y) interpretation: [div#](x0, x1) = x0 + 0, [if#](x0, x1, x2) = x1 + 0, [lt#](x0, x1) = 2x0, [-#](x0, x1) = 1x0 + 0, [div](x0, x1) = x0 + 0, [if](x0, x1, x2) = 1x0 + 2x1 + x2 + 0, [true] = 2, [false] = 2, [lt](x0, x1) = 2x0 + 1x1 + 1, [s](x0) = 4x0 + 4, [-](x0, x1) = 1x0, [0] = 3 orientation: -#(s(x),s(y)) = 5x + 5 >= 1x + 0 = -#(x,y) lt#(s(x),s(y)) = 6x + 6 >= 2x = lt#(x,y) div#(s(x),s(y)) = 4x + 4 >= 1x + 0 = -#(x,y) div#(s(x),s(y)) = 4x + 4 >= 1x + 0 = div#(-(x,y),s(y)) div#(s(x),s(y)) = 4x + 4 >= 2x = lt#(x,y) div#(s(x),s(y)) = 4x + 4 >= 3 = if#(lt(x,y),0(),s(div(-(x,y),s(y)))) -(x,0()) = 1x >= x = x -(0(),s(y)) = 4 >= 3 = 0() -(s(x),s(y)) = 5x + 5 >= 1x = -(x,y) div(0(),y) = 3 >= 3 = 0() div(s(x),s(y)) = 4x + 4 >= 5x + 2y + 5 = if(lt(x,y),0(),s(div(-(x,y),s(y)))) if(true(),x,y) = 2x + y + 3 >= x = x if(false(),x,y) = 2x + y + 3 >= y = y lt(x,0()) = 2x + 4 >= 2 = false() lt(0(),s(y)) = 5y + 5 >= 2 = true() lt(s(x),s(y)) = 6x + 5y + 6 >= 2x + 1y + 1 = lt(x,y) problem: DPs: TRS: -(x,0()) -> x -(0(),s(y)) -> 0() -(s(x),s(y)) -> -(x,y) div(0(),y) -> 0() div(s(x),s(y)) -> if(lt(x,y),0(),s(div(-(x,y),s(y)))) if(true(),x,y) -> x if(false(),x,y) -> y lt(x,0()) -> false() lt(0(),s(y)) -> true() lt(s(x),s(y)) -> lt(x,y) Qed