MAYBE 0.07/0.19 MAYBE 0.07/0.19 0.07/0.19 Problem: 0.07/0.19 isEmpty(cons(x,xs)) -> false() 0.07/0.19 isEmpty(nil()) -> true() 0.07/0.19 isZero(0()) -> true() 0.07/0.19 isZero(s(x)) -> false() 0.07/0.19 head(cons(x,xs)) -> x 0.07/0.19 tail(cons(x,xs)) -> xs 0.07/0.19 tail(nil()) -> nil() 0.07/0.19 append(nil(),x) -> cons(x,nil()) 0.07/0.19 append(cons(y,ys),x) -> cons(y,append(ys,x)) 0.07/0.19 p(s(s(x))) -> s(p(s(x))) 0.07/0.19 p(s(0())) -> 0() 0.07/0.19 p(0()) -> 0() 0.07/0.19 inc(s(x)) -> s(inc(x)) 0.07/0.19 inc(0()) -> s(0()) 0.07/0.19 addLists(xs,ys,zs) -> 0.07/0.19 if(isEmpty(xs),isEmpty(ys),isZero(head(xs)),tail(xs),tail(ys),cons(p(head(xs)),tail(xs)), 0.07/0.19 cons(inc(head(ys)),tail(ys)),zs,append(zs,head(ys))) 0.07/0.19 if(true(),true(),b,xs,ys,xs2,ys2,zs,zs2) -> zs 0.07/0.19 if(true(),false(),b,xs,ys,xs2,ys2,zs,zs2) -> differentLengthError() 0.07/0.19 if(false(),true(),b,xs,ys,xs2,ys2,zs,zs2) -> differentLengthError() 0.07/0.19 if(false(),false(),false(),xs,ys,xs2,ys2,zs,zs2) -> addLists(xs2,ys2,zs) 0.07/0.19 if(false(),false(),true(),xs,ys,xs2,ys2,zs,zs2) -> addLists(xs,ys,zs2) 0.07/0.19 addList(xs,ys) -> addLists(xs,ys,nil()) 0.07/0.19 0.07/0.19 Proof: 0.07/0.19 Open 0.17/0.20 EOF