MAYBE 0.08/0.18 MAYBE 0.08/0.18 0.08/0.18 Problem: 0.08/0.18 ge(x,0()) -> true() 0.08/0.18 ge(0(),s(y)) -> false() 0.08/0.18 ge(s(x),s(y)) -> ge(x,y) 0.08/0.18 rev(x) -> if(x,eq(0(),length(x)),nil(),0(),length(x)) 0.08/0.18 if(x,true(),z,c,l) -> z 0.08/0.18 if(x,false(),z,c,l) -> help(s(c),l,x,z) 0.08/0.18 help(c,l,cons(x,y),z) -> if(append(y,cons(x,nil())),ge(c,l),cons(x,z),c,l) 0.08/0.18 append(nil(),y) -> y 0.08/0.18 append(cons(x,y),z) -> cons(x,append(y,z)) 0.08/0.18 length(nil()) -> 0() 0.08/0.18 length(cons(x,y)) -> s(length(y)) 0.08/0.18 0.08/0.18 Proof: 0.08/0.18 Open 0.08/0.19 EOF