MAYBE 0.08/0.19 MAYBE 0.08/0.19 0.08/0.19 Problem: 0.08/0.19 double(x) -> permute(x,x,a()) 0.08/0.19 permute(x,y,a()) -> permute(isZero(x),x,b()) 0.08/0.19 permute(false(),x,b()) -> permute(ack(x,x),p(x),c()) 0.08/0.19 permute(true(),x,b()) -> 0() 0.08/0.19 permute(y,x,c()) -> s(s(permute(x,y,a()))) 0.08/0.19 p(0()) -> 0() 0.08/0.19 p(s(x)) -> x 0.08/0.19 ack(0(),x) -> plus(x,s(0())) 0.08/0.19 ack(s(x),0()) -> ack(x,s(0())) 0.08/0.19 ack(s(x),s(y)) -> ack(x,ack(s(x),y)) 0.08/0.19 plus(0(),y) -> y 0.08/0.19 plus(s(x),y) -> plus(x,s(y)) 0.08/0.19 plus(x,s(s(y))) -> s(plus(s(x),y)) 0.08/0.19 plus(x,s(0())) -> s(x) 0.08/0.19 plus(x,0()) -> x 0.08/0.19 isZero(0()) -> true() 0.08/0.19 isZero(s(x)) -> false() 0.08/0.19 0.08/0.19 Proof: 0.08/0.19 Open 0.08/0.19 EOF