MAYBE Problem: cond1(true(),x,y) -> cond2(gr(x,y),x,y) cond2(true(),x,y) -> cond3(gr(x,0()),x,y) cond2(false(),x,y) -> cond4(gr(y,0()),x,y) cond3(true(),x,y) -> cond3(gr(x,0()),p(x),y) cond3(false(),x,y) -> cond1(and(gr(x,0()),gr(y,0())),x,y) cond4(true(),x,y) -> cond4(gr(y,0()),x,p(y)) cond4(false(),x,y) -> cond1(and(gr(x,0()),gr(y,0())),x,y) gr(0(),x) -> false() gr(s(x),0()) -> true() gr(s(x),s(y)) -> gr(x,y) and(true(),true()) -> true() and(false(),x) -> false() and(x,false()) -> false() p(0()) -> 0() p(s(x)) -> x Proof: DP Processor: DPs: cond1#(true(),x,y) -> gr#(x,y) cond1#(true(),x,y) -> cond2#(gr(x,y),x,y) cond2#(true(),x,y) -> gr#(x,0()) cond2#(true(),x,y) -> cond3#(gr(x,0()),x,y) cond2#(false(),x,y) -> gr#(y,0()) cond2#(false(),x,y) -> cond4#(gr(y,0()),x,y) cond3#(true(),x,y) -> p#(x) cond3#(true(),x,y) -> gr#(x,0()) cond3#(true(),x,y) -> cond3#(gr(x,0()),p(x),y) cond3#(false(),x,y) -> gr#(y,0()) cond3#(false(),x,y) -> gr#(x,0()) cond3#(false(),x,y) -> and#(gr(x,0()),gr(y,0())) cond3#(false(),x,y) -> cond1#(and(gr(x,0()),gr(y,0())),x,y) cond4#(true(),x,y) -> p#(y) cond4#(true(),x,y) -> gr#(y,0()) cond4#(true(),x,y) -> cond4#(gr(y,0()),x,p(y)) cond4#(false(),x,y) -> gr#(y,0()) cond4#(false(),x,y) -> gr#(x,0()) cond4#(false(),x,y) -> and#(gr(x,0()),gr(y,0())) cond4#(false(),x,y) -> cond1#(and(gr(x,0()),gr(y,0())),x,y) gr#(s(x),s(y)) -> gr#(x,y) TRS: cond1(true(),x,y) -> cond2(gr(x,y),x,y) cond2(true(),x,y) -> cond3(gr(x,0()),x,y) cond2(false(),x,y) -> cond4(gr(y,0()),x,y) cond3(true(),x,y) -> cond3(gr(x,0()),p(x),y) cond3(false(),x,y) -> cond1(and(gr(x,0()),gr(y,0())),x,y) cond4(true(),x,y) -> cond4(gr(y,0()),x,p(y)) cond4(false(),x,y) -> cond1(and(gr(x,0()),gr(y,0())),x,y) gr(0(),x) -> false() gr(s(x),0()) -> true() gr(s(x),s(y)) -> gr(x,y) and(true(),true()) -> true() and(false(),x) -> false() and(x,false()) -> false() p(0()) -> 0() p(s(x)) -> x TDG Processor: DPs: cond1#(true(),x,y) -> gr#(x,y) cond1#(true(),x,y) -> cond2#(gr(x,y),x,y) cond2#(true(),x,y) -> gr#(x,0()) cond2#(true(),x,y) -> cond3#(gr(x,0()),x,y) cond2#(false(),x,y) -> gr#(y,0()) cond2#(false(),x,y) -> cond4#(gr(y,0()),x,y) cond3#(true(),x,y) -> p#(x) cond3#(true(),x,y) -> gr#(x,0()) cond3#(true(),x,y) -> cond3#(gr(x,0()),p(x),y) cond3#(false(),x,y) -> gr#(y,0()) cond3#(false(),x,y) -> gr#(x,0()) cond3#(false(),x,y) -> and#(gr(x,0()),gr(y,0())) cond3#(false(),x,y) -> cond1#(and(gr(x,0()),gr(y,0())),x,y) cond4#(true(),x,y) -> p#(y) cond4#(true(),x,y) -> gr#(y,0()) cond4#(true(),x,y) -> cond4#(gr(y,0()),x,p(y)) cond4#(false(),x,y) -> gr#(y,0()) cond4#(false(),x,y) -> gr#(x,0()) cond4#(false(),x,y) -> and#(gr(x,0()),gr(y,0())) cond4#(false(),x,y) -> cond1#(and(gr(x,0()),gr(y,0())),x,y) gr#(s(x),s(y)) -> gr#(x,y) TRS: cond1(true(),x,y) -> cond2(gr(x,y),x,y) cond2(true(),x,y) -> cond3(gr(x,0()),x,y) cond2(false(),x,y) -> cond4(gr(y,0()),x,y) cond3(true(),x,y) -> cond3(gr(x,0()),p(x),y) cond3(false(),x,y) -> cond1(and(gr(x,0()),gr(y,0())),x,y) cond4(true(),x,y) -> cond4(gr(y,0()),x,p(y)) cond4(false(),x,y) -> cond1(and(gr(x,0()),gr(y,0())),x,y) gr(0(),x) -> false() gr(s(x),0()) -> true() gr(s(x),s(y)) -> gr(x,y) and(true(),true()) -> true() and(false(),x) -> false() and(x,false()) -> false() p(0()) -> 0() p(s(x)) -> x graph: cond4#(false(),x,y) -> gr#(y,0()) -> gr#(s(x),s(y)) -> gr#(x,y) cond4#(false(),x,y) -> gr#(x,0()) -> gr#(s(x),s(y)) -> gr#(x,y) cond4#(false(),x,y) -> cond1#(and(gr(x,0()),gr(y,0())),x,y) -> cond1#(true(),x,y) -> cond2#(gr(x,y),x,y) cond4#(false(),x,y) -> cond1#(and(gr(x,0()),gr(y,0())),x,y) -> cond1#(true(),x,y) -> gr#(x,y) cond4#(true(),x,y) -> cond4#(gr(y,0()),x,p(y)) -> cond4#(false(),x,y) -> cond1#(and(gr(x,0()),gr(y,0())),x,y) cond4#(true(),x,y) -> cond4#(gr(y,0()),x,p(y)) -> cond4#(false(),x,y) -> and#(gr(x,0()),gr(y,0())) cond4#(true(),x,y) -> cond4#(gr(y,0()),x,p(y)) -> cond4#(false(),x,y) -> gr#(x,0()) cond4#(true(),x,y) -> cond4#(gr(y,0()),x,p(y)) -> cond4#(false(),x,y) -> gr#(y,0()) cond4#(true(),x,y) -> cond4#(gr(y,0()),x,p(y)) -> cond4#(true(),x,y) -> cond4#(gr(y,0()),x,p(y)) cond4#(true(),x,y) -> cond4#(gr(y,0()),x,p(y)) -> cond4#(true(),x,y) -> gr#(y,0()) cond4#(true(),x,y) -> cond4#(gr(y,0()),x,p(y)) -> cond4#(true(),x,y) -> p#(y) cond4#(true(),x,y) -> gr#(y,0()) -> gr#(s(x),s(y)) -> gr#(x,y) cond3#(false(),x,y) -> gr#(y,0()) -> gr#(s(x),s(y)) -> gr#(x,y) cond3#(false(),x,y) -> gr#(x,0()) -> gr#(s(x),s(y)) -> gr#(x,y) cond3#(false(),x,y) -> cond1#(and(gr(x,0()),gr(y,0())),x,y) -> cond1#(true(),x,y) -> cond2#(gr(x,y),x,y) cond3#(false(),x,y) -> cond1#(and(gr(x,0()),gr(y,0())),x,y) -> cond1#(true(),x,y) -> gr#(x,y) cond3#(true(),x,y) -> cond3#(gr(x,0()),p(x),y) -> cond3#(false(),x,y) -> cond1#(and(gr(x,0()),gr(y,0())),x,y) cond3#(true(),x,y) -> cond3#(gr(x,0()),p(x),y) -> cond3#(false(),x,y) -> and#(gr(x,0()),gr(y,0())) cond3#(true(),x,y) -> cond3#(gr(x,0()),p(x),y) -> cond3#(false(),x,y) -> gr#(x,0()) cond3#(true(),x,y) -> cond3#(gr(x,0()),p(x),y) -> cond3#(false(),x,y) -> gr#(y,0()) cond3#(true(),x,y) -> cond3#(gr(x,0()),p(x),y) -> cond3#(true(),x,y) -> cond3#(gr(x,0()),p(x),y) cond3#(true(),x,y) -> cond3#(gr(x,0()),p(x),y) -> cond3#(true(),x,y) -> gr#(x,0()) cond3#(true(),x,y) -> cond3#(gr(x,0()),p(x),y) -> cond3#(true(),x,y) -> p#(x) cond3#(true(),x,y) -> gr#(x,0()) -> gr#(s(x),s(y)) -> gr#(x,y) cond2#(false(),x,y) -> cond4#(gr(y,0()),x,y) -> cond4#(false(),x,y) -> cond1#(and(gr(x,0()),gr(y,0())),x,y) cond2#(false(),x,y) -> cond4#(gr(y,0()),x,y) -> cond4#(false(),x,y) -> and#(gr(x,0()),gr(y,0())) cond2#(false(),x,y) -> cond4#(gr(y,0()),x,y) -> cond4#(false(),x,y) -> gr#(x,0()) cond2#(false(),x,y) -> cond4#(gr(y,0()),x,y) -> cond4#(false(),x,y) -> gr#(y,0()) cond2#(false(),x,y) -> cond4#(gr(y,0()),x,y) -> cond4#(true(),x,y) -> cond4#(gr(y,0()),x,p(y)) cond2#(false(),x,y) -> cond4#(gr(y,0()),x,y) -> cond4#(true(),x,y) -> gr#(y,0()) cond2#(false(),x,y) -> cond4#(gr(y,0()),x,y) -> cond4#(true(),x,y) -> p#(y) cond2#(false(),x,y) -> gr#(y,0()) -> gr#(s(x),s(y)) -> gr#(x,y) cond2#(true(),x,y) -> cond3#(gr(x,0()),x,y) -> cond3#(false(),x,y) -> cond1#(and(gr(x,0()),gr(y,0())),x,y) cond2#(true(),x,y) -> cond3#(gr(x,0()),x,y) -> cond3#(false(),x,y) -> and#(gr(x,0()),gr(y,0())) cond2#(true(),x,y) -> cond3#(gr(x,0()),x,y) -> cond3#(false(),x,y) -> gr#(x,0()) cond2#(true(),x,y) -> cond3#(gr(x,0()),x,y) -> cond3#(false(),x,y) -> gr#(y,0()) cond2#(true(),x,y) -> cond3#(gr(x,0()),x,y) -> cond3#(true(),x,y) -> cond3#(gr(x,0()),p(x),y) cond2#(true(),x,y) -> cond3#(gr(x,0()),x,y) -> cond3#(true(),x,y) -> gr#(x,0()) cond2#(true(),x,y) -> cond3#(gr(x,0()),x,y) -> cond3#(true(),x,y) -> p#(x) cond2#(true(),x,y) -> gr#(x,0()) -> gr#(s(x),s(y)) -> gr#(x,y) gr#(s(x),s(y)) -> gr#(x,y) -> gr#(s(x),s(y)) -> gr#(x,y) cond1#(true(),x,y) -> cond2#(gr(x,y),x,y) -> cond2#(false(),x,y) -> cond4#(gr(y,0()),x,y) cond1#(true(),x,y) -> cond2#(gr(x,y),x,y) -> cond2#(false(),x,y) -> gr#(y,0()) cond1#(true(),x,y) -> cond2#(gr(x,y),x,y) -> cond2#(true(),x,y) -> cond3#(gr(x,0()),x,y) cond1#(true(),x,y) -> cond2#(gr(x,y),x,y) -> cond2#(true(),x,y) -> gr#(x,0()) cond1#(true(),x,y) -> gr#(x,y) -> gr#(s(x),s(y)) -> gr#(x,y) EDG Processor: DPs: cond1#(true(),x,y) -> gr#(x,y) cond1#(true(),x,y) -> cond2#(gr(x,y),x,y) cond2#(true(),x,y) -> gr#(x,0()) cond2#(true(),x,y) -> cond3#(gr(x,0()),x,y) cond2#(false(),x,y) -> gr#(y,0()) cond2#(false(),x,y) -> cond4#(gr(y,0()),x,y) cond3#(true(),x,y) -> p#(x) cond3#(true(),x,y) -> gr#(x,0()) cond3#(true(),x,y) -> cond3#(gr(x,0()),p(x),y) cond3#(false(),x,y) -> gr#(y,0()) cond3#(false(),x,y) -> gr#(x,0()) cond3#(false(),x,y) -> and#(gr(x,0()),gr(y,0())) cond3#(false(),x,y) -> cond1#(and(gr(x,0()),gr(y,0())),x,y) cond4#(true(),x,y) -> p#(y) cond4#(true(),x,y) -> gr#(y,0()) cond4#(true(),x,y) -> cond4#(gr(y,0()),x,p(y)) cond4#(false(),x,y) -> gr#(y,0()) cond4#(false(),x,y) -> gr#(x,0()) cond4#(false(),x,y) -> and#(gr(x,0()),gr(y,0())) cond4#(false(),x,y) -> cond1#(and(gr(x,0()),gr(y,0())),x,y) gr#(s(x),s(y)) -> gr#(x,y) TRS: cond1(true(),x,y) -> cond2(gr(x,y),x,y) cond2(true(),x,y) -> cond3(gr(x,0()),x,y) cond2(false(),x,y) -> cond4(gr(y,0()),x,y) cond3(true(),x,y) -> cond3(gr(x,0()),p(x),y) cond3(false(),x,y) -> cond1(and(gr(x,0()),gr(y,0())),x,y) cond4(true(),x,y) -> cond4(gr(y,0()),x,p(y)) cond4(false(),x,y) -> cond1(and(gr(x,0()),gr(y,0())),x,y) gr(0(),x) -> false() gr(s(x),0()) -> true() gr(s(x),s(y)) -> gr(x,y) and(true(),true()) -> true() and(false(),x) -> false() and(x,false()) -> false() p(0()) -> 0() p(s(x)) -> x graph: cond4#(false(),x,y) -> cond1#(and(gr(x,0()),gr(y,0())),x,y) -> cond1#(true(),x,y) -> gr#(x,y) cond4#(false(),x,y) -> cond1#(and(gr(x,0()),gr(y,0())),x,y) -> cond1#(true(),x,y) -> cond2#(gr(x,y),x,y) cond4#(true(),x,y) -> cond4#(gr(y,0()),x,p(y)) -> cond4#(true(),x,y) -> p#(y) cond4#(true(),x,y) -> cond4#(gr(y,0()),x,p(y)) -> cond4#(true(),x,y) -> gr#(y,0()) cond4#(true(),x,y) -> cond4#(gr(y,0()),x,p(y)) -> cond4#(true(),x,y) -> cond4#(gr(y,0()),x,p(y)) cond4#(true(),x,y) -> cond4#(gr(y,0()),x,p(y)) -> cond4#(false(),x,y) -> gr#(y,0()) cond4#(true(),x,y) -> cond4#(gr(y,0()),x,p(y)) -> cond4#(false(),x,y) -> gr#(x,0()) cond4#(true(),x,y) -> cond4#(gr(y,0()),x,p(y)) -> cond4#(false(),x,y) -> and#(gr(x,0()),gr(y,0())) cond4#(true(),x,y) -> cond4#(gr(y,0()),x,p(y)) -> cond4#(false(),x,y) -> cond1#(and(gr(x,0()),gr(y,0())),x,y) cond3#(false(),x,y) -> cond1#(and(gr(x,0()),gr(y,0())),x,y) -> cond1#(true(),x,y) -> gr#(x,y) cond3#(false(),x,y) -> cond1#(and(gr(x,0()),gr(y,0())),x,y) -> cond1#(true(),x,y) -> cond2#(gr(x,y),x,y) cond3#(true(),x,y) -> cond3#(gr(x,0()),p(x),y) -> cond3#(true(),x,y) -> p#(x) cond3#(true(),x,y) -> cond3#(gr(x,0()),p(x),y) -> cond3#(true(),x,y) -> gr#(x,0()) cond3#(true(),x,y) -> cond3#(gr(x,0()),p(x),y) -> cond3#(true(),x,y) -> cond3#(gr(x,0()),p(x),y) cond3#(true(),x,y) -> cond3#(gr(x,0()),p(x),y) -> cond3#(false(),x,y) -> gr#(y,0()) cond3#(true(),x,y) -> cond3#(gr(x,0()),p(x),y) -> cond3#(false(),x,y) -> gr#(x,0()) cond3#(true(),x,y) -> cond3#(gr(x,0()),p(x),y) -> cond3#(false(),x,y) -> and#(gr(x,0()),gr(y,0())) cond3#(true(),x,y) -> cond3#(gr(x,0()),p(x),y) -> cond3#(false(),x,y) -> cond1#(and(gr(x,0()),gr(y,0())),x,y) cond2#(false(),x,y) -> cond4#(gr(y,0()),x,y) -> cond4#(true(),x,y) -> p#(y) cond2#(false(),x,y) -> cond4#(gr(y,0()),x,y) -> cond4#(true(),x,y) -> gr#(y,0()) cond2#(false(),x,y) -> cond4#(gr(y,0()),x,y) -> cond4#(true(),x,y) -> cond4#(gr(y,0()),x,p(y)) cond2#(false(),x,y) -> cond4#(gr(y,0()),x,y) -> cond4#(false(),x,y) -> gr#(y,0()) cond2#(false(),x,y) -> cond4#(gr(y,0()),x,y) -> cond4#(false(),x,y) -> gr#(x,0()) cond2#(false(),x,y) -> cond4#(gr(y,0()),x,y) -> cond4#(false(),x,y) -> and#(gr(x,0()),gr(y,0())) cond2#(false(),x,y) -> cond4#(gr(y,0()),x,y) -> cond4#(false(),x,y) -> cond1#(and(gr(x,0()),gr(y,0())),x,y) cond2#(true(),x,y) -> cond3#(gr(x,0()),x,y) -> cond3#(true(),x,y) -> p#(x) cond2#(true(),x,y) -> cond3#(gr(x,0()),x,y) -> cond3#(true(),x,y) -> gr#(x,0()) cond2#(true(),x,y) -> cond3#(gr(x,0()),x,y) -> cond3#(true(),x,y) -> cond3#(gr(x,0()),p(x),y) cond2#(true(),x,y) -> cond3#(gr(x,0()),x,y) -> cond3#(false(),x,y) -> gr#(y,0()) cond2#(true(),x,y) -> cond3#(gr(x,0()),x,y) -> cond3#(false(),x,y) -> gr#(x,0()) cond2#(true(),x,y) -> cond3#(gr(x,0()),x,y) -> cond3#(false(),x,y) -> and#(gr(x,0()),gr(y,0())) cond2#(true(),x,y) -> cond3#(gr(x,0()),x,y) -> cond3#(false(),x,y) -> cond1#(and(gr(x,0()),gr(y,0())),x,y) gr#(s(x),s(y)) -> gr#(x,y) -> gr#(s(x),s(y)) -> gr#(x,y) cond1#(true(),x,y) -> cond2#(gr(x,y),x,y) -> cond2#(true(),x,y) -> gr#(x,0()) cond1#(true(),x,y) -> cond2#(gr(x,y),x,y) -> cond2#(true(),x,y) -> cond3#(gr(x,0()),x,y) cond1#(true(),x,y) -> cond2#(gr(x,y),x,y) -> cond2#(false(),x,y) -> gr#(y,0()) cond1#(true(),x,y) -> cond2#(gr(x,y),x,y) -> cond2#(false(),x,y) -> cond4#(gr(y,0()),x,y) cond1#(true(),x,y) -> gr#(x,y) -> gr#(s(x),s(y)) -> gr#(x,y) SCC Processor: #sccs: 2 #rules: 8 #arcs: 38/441 DPs: cond4#(false(),x,y) -> cond1#(and(gr(x,0()),gr(y,0())),x,y) cond1#(true(),x,y) -> cond2#(gr(x,y),x,y) cond2#(false(),x,y) -> cond4#(gr(y,0()),x,y) cond4#(true(),x,y) -> cond4#(gr(y,0()),x,p(y)) cond2#(true(),x,y) -> cond3#(gr(x,0()),x,y) cond3#(false(),x,y) -> cond1#(and(gr(x,0()),gr(y,0())),x,y) cond3#(true(),x,y) -> cond3#(gr(x,0()),p(x),y) TRS: cond1(true(),x,y) -> cond2(gr(x,y),x,y) cond2(true(),x,y) -> cond3(gr(x,0()),x,y) cond2(false(),x,y) -> cond4(gr(y,0()),x,y) cond3(true(),x,y) -> cond3(gr(x,0()),p(x),y) cond3(false(),x,y) -> cond1(and(gr(x,0()),gr(y,0())),x,y) cond4(true(),x,y) -> cond4(gr(y,0()),x,p(y)) cond4(false(),x,y) -> cond1(and(gr(x,0()),gr(y,0())),x,y) gr(0(),x) -> false() gr(s(x),0()) -> true() gr(s(x),s(y)) -> gr(x,y) and(true(),true()) -> true() and(false(),x) -> false() and(x,false()) -> false() p(0()) -> 0() p(s(x)) -> x Open DPs: gr#(s(x),s(y)) -> gr#(x,y) TRS: cond1(true(),x,y) -> cond2(gr(x,y),x,y) cond2(true(),x,y) -> cond3(gr(x,0()),x,y) cond2(false(),x,y) -> cond4(gr(y,0()),x,y) cond3(true(),x,y) -> cond3(gr(x,0()),p(x),y) cond3(false(),x,y) -> cond1(and(gr(x,0()),gr(y,0())),x,y) cond4(true(),x,y) -> cond4(gr(y,0()),x,p(y)) cond4(false(),x,y) -> cond1(and(gr(x,0()),gr(y,0())),x,y) gr(0(),x) -> false() gr(s(x),0()) -> true() gr(s(x),s(y)) -> gr(x,y) and(true(),true()) -> true() and(false(),x) -> false() and(x,false()) -> false() p(0()) -> 0() p(s(x)) -> x KBO Processor: argument filtering: pi(true) = [] pi(cond1) = 2 pi(gr) = [1] pi(cond2) = 2 pi(0) = [] pi(cond3) = 2 pi(false) = [] pi(cond4) = 2 pi(p) = 0 pi(and) = [1] pi(s) = [0] pi(gr#) = 1 weight function: w0 = 1 w(gr#) = w(s) = w(p) = w(cond4) = w(false) = w(cond3) = w(0) = w( cond2) = w(gr) = w(cond1) = w(true) = 1 w(and) = 0 precedence: gr# ~ s ~ and ~ 0 ~ cond2 ~ gr > p ~ cond4 ~ false ~ cond3 ~ cond1 ~ true problem: DPs: TRS: cond1(true(),x,y) -> cond2(gr(x,y),x,y) cond2(true(),x,y) -> cond3(gr(x,0()),x,y) cond2(false(),x,y) -> cond4(gr(y,0()),x,y) cond3(true(),x,y) -> cond3(gr(x,0()),p(x),y) cond3(false(),x,y) -> cond1(and(gr(x,0()),gr(y,0())),x,y) cond4(true(),x,y) -> cond4(gr(y,0()),x,p(y)) cond4(false(),x,y) -> cond1(and(gr(x,0()),gr(y,0())),x,y) gr(0(),x) -> false() gr(s(x),0()) -> true() gr(s(x),s(y)) -> gr(x,y) and(true(),true()) -> true() and(false(),x) -> false() and(x,false()) -> false() p(0()) -> 0() p(s(x)) -> x Qed