MAYBE 0.08/0.19 MAYBE 0.08/0.19 0.08/0.19 Problem: 0.08/0.19 ge(0(),0()) -> true() 0.08/0.19 ge(s(x),0()) -> ge(x,0()) 0.08/0.19 ge(0(),s(0())) -> false() 0.08/0.19 ge(0(),s(s(x))) -> ge(0(),s(x)) 0.08/0.19 ge(s(x),s(y)) -> ge(x,y) 0.08/0.19 minus(0(),0()) -> 0() 0.08/0.19 minus(0(),s(x)) -> minus(0(),x) 0.08/0.19 minus(s(x),0()) -> s(minus(x,0())) 0.08/0.19 minus(s(x),s(y)) -> minus(x,y) 0.08/0.19 plus(0(),0()) -> 0() 0.08/0.19 plus(0(),s(x)) -> s(plus(0(),x)) 0.08/0.19 plus(s(x),y) -> s(plus(x,y)) 0.08/0.19 div(x,y) -> ify(ge(y,s(0())),x,y) 0.08/0.19 ify(false(),x,y) -> divByZeroError() 0.08/0.19 ify(true(),x,y) -> if(ge(x,y),x,y) 0.08/0.19 if(false(),x,y) -> 0() 0.08/0.19 if(true(),x,y) -> s(div(minus(x,y),y)) 0.08/0.19 div(plus(x,y),z) -> plus(div(x,z),div(y,z)) 0.08/0.19 0.08/0.19 Proof: 0.08/0.19 Open 0.08/0.19 EOF