MAYBE 0.08/0.18 MAYBE 0.08/0.18 0.08/0.18 Problem: 0.08/0.18 empty(nil()) -> true() 0.08/0.18 empty(cons(x,l)) -> false() 0.08/0.18 head(cons(x,l)) -> x 0.08/0.18 tail(nil()) -> nil() 0.08/0.18 tail(cons(x,l)) -> l 0.08/0.18 rev(nil()) -> nil() 0.08/0.18 rev(cons(x,l)) -> cons(rev1(x,l),rev2(x,l)) 0.08/0.18 last(x,l) -> if(empty(l),x,l) 0.08/0.18 if(true(),x,l) -> x 0.08/0.18 if(false(),x,l) -> last(head(l),tail(l)) 0.08/0.18 rev2(x,nil()) -> nil() 0.08/0.18 rev2(x,cons(y,l)) -> rev(cons(x,rev2(y,l))) 0.08/0.18 0.08/0.18 Proof: 0.08/0.18 Open 0.08/0.19 EOF