MAYBE 0.08/0.18 MAYBE 0.08/0.18 0.08/0.18 Problem: 0.08/0.18 lt(0(),s(x)) -> true() 0.08/0.18 lt(x,0()) -> false() 0.08/0.18 lt(s(x),s(y)) -> lt(x,y) 0.08/0.18 times(0(),y) -> 0() 0.08/0.18 times(s(x),y) -> plus(y,times(x,y)) 0.08/0.18 plus(0(),y) -> y 0.08/0.18 plus(s(x),y) -> s(plus(x,y)) 0.08/0.18 fac(x) -> loop(x,s(0()),s(0())) 0.08/0.18 loop(x,c,y) -> if(lt(x,c),x,c,y) 0.08/0.18 if(false(),x,c,y) -> loop(x,s(c),times(y,s(c))) 0.08/0.18 if(true(),x,c,y) -> y 0.08/0.18 0.08/0.18 Proof: 0.08/0.18 Open 0.08/0.18 EOF