MAYBE 0.08/0.18 MAYBE 0.08/0.18 0.08/0.18 Problem: 0.08/0.18 double(0()) -> 0() 0.08/0.18 double(s(x)) -> s(s(double(x))) 0.08/0.18 del(x,nil()) -> nil() 0.08/0.18 del(x,cons(y,xs)) -> if(eq(x,y),x,y,xs) 0.08/0.18 if(true(),x,y,xs) -> xs 0.08/0.18 if(false(),x,y,xs) -> cons(y,del(x,xs)) 0.08/0.18 eq(0(),0()) -> true() 0.08/0.18 eq(0(),s(y)) -> false() 0.08/0.18 eq(s(x),0()) -> false() 0.08/0.18 eq(s(x),s(y)) -> eq(x,y) 0.08/0.18 first(nil()) -> 0() 0.08/0.18 first(cons(x,xs)) -> x 0.08/0.18 doublelist(nil()) -> nil() 0.08/0.18 doublelist(cons(x,xs)) -> cons(double(x),doublelist(del(first(cons(x,xs)),cons(x,xs)))) 0.08/0.18 0.08/0.18 Proof: 0.08/0.18 Open 0.08/0.19 EOF