MAYBE 0.07/0.19 MAYBE 0.07/0.19 0.07/0.19 Problem: 0.07/0.19 app(x,y) -> helpa(0(),plus(length(x),length(y)),x,y) 0.07/0.19 plus(x,0()) -> x 0.07/0.19 plus(x,s(y)) -> s(plus(x,y)) 0.07/0.19 length(nil()) -> 0() 0.07/0.19 length(cons(x,y)) -> s(length(y)) 0.07/0.19 helpa(c,l,ys,zs) -> if(ge(c,l),c,l,ys,zs) 0.07/0.19 ge(x,0()) -> true() 0.07/0.19 ge(0(),s(x)) -> false() 0.07/0.19 ge(s(x),s(y)) -> ge(x,y) 0.07/0.19 if(true(),c,l,ys,zs) -> nil() 0.07/0.19 if(false(),c,l,ys,zs) -> helpb(c,l,greater(ys,zs),smaller(ys,zs)) 0.07/0.19 greater(ys,zs) -> helpc(ge(length(ys),length(zs)),ys,zs) 0.07/0.19 smaller(ys,zs) -> helpc(ge(length(ys),length(zs)),zs,ys) 0.07/0.19 helpc(true(),ys,zs) -> ys 0.07/0.19 helpc(false(),ys,zs) -> zs 0.07/0.19 helpb(c,l,cons(y,ys),zs) -> cons(y,helpa(s(c),l,ys,zs)) 0.07/0.19 0.07/0.19 Proof: 0.07/0.19 Open 0.17/0.20 EOF