MAYBE 0.08/0.18 MAYBE 0.08/0.18 0.08/0.18 Problem: 0.08/0.18 half(0()) -> 0() 0.08/0.18 half(s(0())) -> 0() 0.08/0.18 half(s(s(x))) -> s(half(x)) 0.08/0.18 lastbit(0()) -> 0() 0.08/0.18 lastbit(s(0())) -> s(0()) 0.08/0.18 lastbit(s(s(x))) -> lastbit(x) 0.08/0.18 zero(0()) -> true() 0.08/0.18 zero(s(x)) -> false() 0.08/0.18 conv(x) -> conviter(x,cons(0(),nil())) 0.08/0.18 conviter(x,l) -> if(zero(x),x,l) 0.08/0.18 if(true(),x,l) -> l 0.08/0.18 if(false(),x,l) -> conviter(half(x),cons(lastbit(x),l)) 0.08/0.18 0.08/0.18 Proof: 0.08/0.18 Open 0.08/0.18 EOF