MAYBE Problem: p(0()) -> 0() p(s(X)) -> X leq(0(),Y) -> true() leq(s(X),0()) -> false() leq(s(X),s(Y)) -> leq(X,Y) if(true(),X,Y) -> activate(X) if(false(),X,Y) -> activate(Y) diff(X,Y) -> if(leq(X,Y),n__0(),n__s(diff(p(X),Y))) 0() -> n__0() s(X) -> n__s(X) activate(n__0()) -> 0() activate(n__s(X)) -> s(X) activate(X) -> X Proof: DP Processor: DPs: leq#(s(X),s(Y)) -> leq#(X,Y) if#(true(),X,Y) -> activate#(X) if#(false(),X,Y) -> activate#(Y) diff#(X,Y) -> p#(X) diff#(X,Y) -> diff#(p(X),Y) diff#(X,Y) -> leq#(X,Y) diff#(X,Y) -> if#(leq(X,Y),n__0(),n__s(diff(p(X),Y))) activate#(n__0()) -> 0#() activate#(n__s(X)) -> s#(X) TRS: p(0()) -> 0() p(s(X)) -> X leq(0(),Y) -> true() leq(s(X),0()) -> false() leq(s(X),s(Y)) -> leq(X,Y) if(true(),X,Y) -> activate(X) if(false(),X,Y) -> activate(Y) diff(X,Y) -> if(leq(X,Y),n__0(),n__s(diff(p(X),Y))) 0() -> n__0() s(X) -> n__s(X) activate(n__0()) -> 0() activate(n__s(X)) -> s(X) activate(X) -> X ADG Processor: DPs: leq#(s(X),s(Y)) -> leq#(X,Y) if#(true(),X,Y) -> activate#(X) if#(false(),X,Y) -> activate#(Y) diff#(X,Y) -> p#(X) diff#(X,Y) -> diff#(p(X),Y) diff#(X,Y) -> leq#(X,Y) diff#(X,Y) -> if#(leq(X,Y),n__0(),n__s(diff(p(X),Y))) activate#(n__0()) -> 0#() activate#(n__s(X)) -> s#(X) TRS: p(0()) -> 0() p(s(X)) -> X leq(0(),Y) -> true() leq(s(X),0()) -> false() leq(s(X),s(Y)) -> leq(X,Y) if(true(),X,Y) -> activate(X) if(false(),X,Y) -> activate(Y) diff(X,Y) -> if(leq(X,Y),n__0(),n__s(diff(p(X),Y))) 0() -> n__0() s(X) -> n__s(X) activate(n__0()) -> 0() activate(n__s(X)) -> s(X) activate(X) -> X graph: diff#(X,Y) -> diff#(p(X),Y) -> diff#(X,Y) -> p#(X) diff#(X,Y) -> diff#(p(X),Y) -> diff#(X,Y) -> diff#(p(X),Y) diff#(X,Y) -> diff#(p(X),Y) -> diff#(X,Y) -> leq#(X,Y) diff#(X,Y) -> diff#(p(X),Y) -> diff#(X,Y) -> if#(leq(X,Y),n__0(),n__s(diff(p(X),Y))) diff#(X,Y) -> if#(leq(X,Y),n__0(),n__s(diff(p(X),Y))) -> if#(true(),X,Y) -> activate#(X) diff#(X,Y) -> if#(leq(X,Y),n__0(),n__s(diff(p(X),Y))) -> if#(false(),X,Y) -> activate#(Y) diff#(X,Y) -> leq#(X,Y) -> leq#(s(X),s(Y)) -> leq#(X,Y) if#(false(),X,Y) -> activate#(Y) -> activate#(n__0()) -> 0#() if#(false(),X,Y) -> activate#(Y) -> activate#(n__s(X)) -> s#(X) if#(true(),X,Y) -> activate#(X) -> activate#(n__0()) -> 0#() if#(true(),X,Y) -> activate#(X) -> activate#(n__s(X)) -> s#(X) leq#(s(X),s(Y)) -> leq#(X,Y) -> leq#(s(X),s(Y)) -> leq#(X,Y) SCC Processor: #sccs: 2 #rules: 2 #arcs: 12/81 DPs: diff#(X,Y) -> diff#(p(X),Y) TRS: p(0()) -> 0() p(s(X)) -> X leq(0(),Y) -> true() leq(s(X),0()) -> false() leq(s(X),s(Y)) -> leq(X,Y) if(true(),X,Y) -> activate(X) if(false(),X,Y) -> activate(Y) diff(X,Y) -> if(leq(X,Y),n__0(),n__s(diff(p(X),Y))) 0() -> n__0() s(X) -> n__s(X) activate(n__0()) -> 0() activate(n__s(X)) -> s(X) activate(X) -> X Open DPs: leq#(s(X),s(Y)) -> leq#(X,Y) TRS: p(0()) -> 0() p(s(X)) -> X leq(0(),Y) -> true() leq(s(X),0()) -> false() leq(s(X),s(Y)) -> leq(X,Y) if(true(),X,Y) -> activate(X) if(false(),X,Y) -> activate(Y) diff(X,Y) -> if(leq(X,Y),n__0(),n__s(diff(p(X),Y))) 0() -> n__0() s(X) -> n__s(X) activate(n__0()) -> 0() activate(n__s(X)) -> s(X) activate(X) -> X Open