MAYBE Problem: -(x,0()) -> x -(s(x),s(y)) -> -(x,y) <=(0(),y) -> true() <=(s(x),0()) -> false() <=(s(x),s(y)) -> <=(x,y) if(true(),x,y) -> x if(false(),x,y) -> y perfectp(0()) -> false() perfectp(s(x)) -> f(x,s(0()),s(x),s(x)) f(0(),y,0(),u) -> true() f(0(),y,s(z),u) -> false() f(s(x),0(),z,u) -> f(x,u,-(z,s(x)),u) f(s(x),s(y),z,u) -> if(<=(x,y),f(s(x),-(y,x),z,u),f(x,u,z,u)) Proof: DP Processor: DPs: -#(s(x),s(y)) -> -#(x,y) <=#(s(x),s(y)) -> <=#(x,y) perfectp#(s(x)) -> f#(x,s(0()),s(x),s(x)) f#(s(x),0(),z,u) -> -#(z,s(x)) f#(s(x),0(),z,u) -> f#(x,u,-(z,s(x)),u) f#(s(x),s(y),z,u) -> f#(x,u,z,u) f#(s(x),s(y),z,u) -> -#(y,x) f#(s(x),s(y),z,u) -> f#(s(x),-(y,x),z,u) f#(s(x),s(y),z,u) -> <=#(x,y) f#(s(x),s(y),z,u) -> if#(<=(x,y),f(s(x),-(y,x),z,u),f(x,u,z,u)) TRS: -(x,0()) -> x -(s(x),s(y)) -> -(x,y) <=(0(),y) -> true() <=(s(x),0()) -> false() <=(s(x),s(y)) -> <=(x,y) if(true(),x,y) -> x if(false(),x,y) -> y perfectp(0()) -> false() perfectp(s(x)) -> f(x,s(0()),s(x),s(x)) f(0(),y,0(),u) -> true() f(0(),y,s(z),u) -> false() f(s(x),0(),z,u) -> f(x,u,-(z,s(x)),u) f(s(x),s(y),z,u) -> if(<=(x,y),f(s(x),-(y,x),z,u),f(x,u,z,u)) Usable Rule Processor: DPs: -#(s(x),s(y)) -> -#(x,y) <=#(s(x),s(y)) -> <=#(x,y) perfectp#(s(x)) -> f#(x,s(0()),s(x),s(x)) f#(s(x),0(),z,u) -> -#(z,s(x)) f#(s(x),0(),z,u) -> f#(x,u,-(z,s(x)),u) f#(s(x),s(y),z,u) -> f#(x,u,z,u) f#(s(x),s(y),z,u) -> -#(y,x) f#(s(x),s(y),z,u) -> f#(s(x),-(y,x),z,u) f#(s(x),s(y),z,u) -> <=#(x,y) f#(s(x),s(y),z,u) -> if#(<=(x,y),f(s(x),-(y,x),z,u),f(x,u,z,u)) TRS: -(s(x),s(y)) -> -(x,y) -(x,0()) -> x f(0(),y,0(),u) -> true() f(0(),y,s(z),u) -> false() f(s(x),0(),z,u) -> f(x,u,-(z,s(x)),u) f(s(x),s(y),z,u) -> if(<=(x,y),f(s(x),-(y,x),z,u),f(x,u,z,u)) if(true(),x,y) -> x if(false(),x,y) -> y <=(0(),y) -> true() <=(s(x),0()) -> false() <=(s(x),s(y)) -> <=(x,y) Open