MAYBE Problem: cond1(true(),x,y,z) -> cond2(gr(x,0()),x,y,z) cond2(true(),x,y,z) -> cond1(or(gr(x,z),gr(y,z)),p(x),y,z) cond2(false(),x,y,z) -> cond3(gr(y,0()),x,y,z) cond3(true(),x,y,z) -> cond1(or(gr(x,z),gr(y,z)),x,p(y),z) cond3(false(),x,y,z) -> cond1(or(gr(x,z),gr(y,z)),x,y,z) gr(0(),x) -> false() gr(s(x),0()) -> true() gr(s(x),s(y)) -> gr(x,y) or(false(),false()) -> false() or(true(),x) -> true() or(x,true()) -> true() p(0()) -> 0() p(s(x)) -> x Proof: DP Processor: DPs: cond1#(true(),x,y,z) -> gr#(x,0()) cond1#(true(),x,y,z) -> cond2#(gr(x,0()),x,y,z) cond2#(true(),x,y,z) -> p#(x) cond2#(true(),x,y,z) -> gr#(y,z) cond2#(true(),x,y,z) -> gr#(x,z) cond2#(true(),x,y,z) -> or#(gr(x,z),gr(y,z)) cond2#(true(),x,y,z) -> cond1#(or(gr(x,z),gr(y,z)),p(x),y,z) cond2#(false(),x,y,z) -> gr#(y,0()) cond2#(false(),x,y,z) -> cond3#(gr(y,0()),x,y,z) cond3#(true(),x,y,z) -> p#(y) cond3#(true(),x,y,z) -> gr#(y,z) cond3#(true(),x,y,z) -> gr#(x,z) cond3#(true(),x,y,z) -> or#(gr(x,z),gr(y,z)) cond3#(true(),x,y,z) -> cond1#(or(gr(x,z),gr(y,z)),x,p(y),z) cond3#(false(),x,y,z) -> gr#(y,z) cond3#(false(),x,y,z) -> gr#(x,z) cond3#(false(),x,y,z) -> or#(gr(x,z),gr(y,z)) cond3#(false(),x,y,z) -> cond1#(or(gr(x,z),gr(y,z)),x,y,z) gr#(s(x),s(y)) -> gr#(x,y) TRS: cond1(true(),x,y,z) -> cond2(gr(x,0()),x,y,z) cond2(true(),x,y,z) -> cond1(or(gr(x,z),gr(y,z)),p(x),y,z) cond2(false(),x,y,z) -> cond3(gr(y,0()),x,y,z) cond3(true(),x,y,z) -> cond1(or(gr(x,z),gr(y,z)),x,p(y),z) cond3(false(),x,y,z) -> cond1(or(gr(x,z),gr(y,z)),x,y,z) gr(0(),x) -> false() gr(s(x),0()) -> true() gr(s(x),s(y)) -> gr(x,y) or(false(),false()) -> false() or(true(),x) -> true() or(x,true()) -> true() p(0()) -> 0() p(s(x)) -> x TDG Processor: DPs: cond1#(true(),x,y,z) -> gr#(x,0()) cond1#(true(),x,y,z) -> cond2#(gr(x,0()),x,y,z) cond2#(true(),x,y,z) -> p#(x) cond2#(true(),x,y,z) -> gr#(y,z) cond2#(true(),x,y,z) -> gr#(x,z) cond2#(true(),x,y,z) -> or#(gr(x,z),gr(y,z)) cond2#(true(),x,y,z) -> cond1#(or(gr(x,z),gr(y,z)),p(x),y,z) cond2#(false(),x,y,z) -> gr#(y,0()) cond2#(false(),x,y,z) -> cond3#(gr(y,0()),x,y,z) cond3#(true(),x,y,z) -> p#(y) cond3#(true(),x,y,z) -> gr#(y,z) cond3#(true(),x,y,z) -> gr#(x,z) cond3#(true(),x,y,z) -> or#(gr(x,z),gr(y,z)) cond3#(true(),x,y,z) -> cond1#(or(gr(x,z),gr(y,z)),x,p(y),z) cond3#(false(),x,y,z) -> gr#(y,z) cond3#(false(),x,y,z) -> gr#(x,z) cond3#(false(),x,y,z) -> or#(gr(x,z),gr(y,z)) cond3#(false(),x,y,z) -> cond1#(or(gr(x,z),gr(y,z)),x,y,z) gr#(s(x),s(y)) -> gr#(x,y) TRS: cond1(true(),x,y,z) -> cond2(gr(x,0()),x,y,z) cond2(true(),x,y,z) -> cond1(or(gr(x,z),gr(y,z)),p(x),y,z) cond2(false(),x,y,z) -> cond3(gr(y,0()),x,y,z) cond3(true(),x,y,z) -> cond1(or(gr(x,z),gr(y,z)),x,p(y),z) cond3(false(),x,y,z) -> cond1(or(gr(x,z),gr(y,z)),x,y,z) gr(0(),x) -> false() gr(s(x),0()) -> true() gr(s(x),s(y)) -> gr(x,y) or(false(),false()) -> false() or(true(),x) -> true() or(x,true()) -> true() p(0()) -> 0() p(s(x)) -> x graph: cond3#(false(),x,y,z) -> gr#(y,z) -> gr#(s(x),s(y)) -> gr#(x,y) cond3#(false(),x,y,z) -> gr#(x,z) -> gr#(s(x),s(y)) -> gr#(x,y) cond3#(false(),x,y,z) -> cond1#(or(gr(x,z),gr(y,z)),x,y,z) -> cond1#(true(),x,y,z) -> cond2#(gr(x,0()),x,y,z) cond3#(false(),x,y,z) -> cond1#(or(gr(x,z),gr(y,z)),x,y,z) -> cond1#(true(),x,y,z) -> gr#(x,0()) cond3#(true(),x,y,z) -> gr#(y,z) -> gr#(s(x),s(y)) -> gr#(x,y) cond3#(true(),x,y,z) -> gr#(x,z) -> gr#(s(x),s(y)) -> gr#(x,y) cond3#(true(),x,y,z) -> cond1#(or(gr(x,z),gr(y,z)),x,p(y),z) -> cond1#(true(),x,y,z) -> cond2#(gr(x,0()),x,y,z) cond3#(true(),x,y,z) -> cond1#(or(gr(x,z),gr(y,z)),x,p(y),z) -> cond1#(true(),x,y,z) -> gr#(x,0()) cond2#(false(),x,y,z) -> cond3#(gr(y,0()),x,y,z) -> cond3#(false(),x,y,z) -> cond1#(or(gr(x,z),gr(y,z)),x,y,z) cond2#(false(),x,y,z) -> cond3#(gr(y,0()),x,y,z) -> cond3#(false(),x,y,z) -> or#(gr(x,z),gr(y,z)) cond2#(false(),x,y,z) -> cond3#(gr(y,0()),x,y,z) -> cond3#(false(),x,y,z) -> gr#(x,z) cond2#(false(),x,y,z) -> cond3#(gr(y,0()),x,y,z) -> cond3#(false(),x,y,z) -> gr#(y,z) cond2#(false(),x,y,z) -> cond3#(gr(y,0()),x,y,z) -> cond3#(true(),x,y,z) -> cond1#(or(gr(x,z),gr(y,z)),x,p(y),z) cond2#(false(),x,y,z) -> cond3#(gr(y,0()),x,y,z) -> cond3#(true(),x,y,z) -> or#(gr(x,z),gr(y,z)) cond2#(false(),x,y,z) -> cond3#(gr(y,0()),x,y,z) -> cond3#(true(),x,y,z) -> gr#(x,z) cond2#(false(),x,y,z) -> cond3#(gr(y,0()),x,y,z) -> cond3#(true(),x,y,z) -> gr#(y,z) cond2#(false(),x,y,z) -> cond3#(gr(y,0()),x,y,z) -> cond3#(true(),x,y,z) -> p#(y) cond2#(false(),x,y,z) -> gr#(y,0()) -> gr#(s(x),s(y)) -> gr#(x,y) cond2#(true(),x,y,z) -> gr#(y,z) -> gr#(s(x),s(y)) -> gr#(x,y) cond2#(true(),x,y,z) -> gr#(x,z) -> gr#(s(x),s(y)) -> gr#(x,y) cond2#(true(),x,y,z) -> cond1#(or(gr(x,z),gr(y,z)),p(x),y,z) -> cond1#(true(),x,y,z) -> cond2#(gr(x,0()),x,y,z) cond2#(true(),x,y,z) -> cond1#(or(gr(x,z),gr(y,z)),p(x),y,z) -> cond1#(true(),x,y,z) -> gr#(x,0()) gr#(s(x),s(y)) -> gr#(x,y) -> gr#(s(x),s(y)) -> gr#(x,y) cond1#(true(),x,y,z) -> cond2#(gr(x,0()),x,y,z) -> cond2#(false(),x,y,z) -> cond3#(gr(y,0()),x,y,z) cond1#(true(),x,y,z) -> cond2#(gr(x,0()),x,y,z) -> cond2#(false(),x,y,z) -> gr#(y,0()) cond1#(true(),x,y,z) -> cond2#(gr(x,0()),x,y,z) -> cond2#(true(),x,y,z) -> cond1#(or(gr(x,z),gr(y,z)),p(x),y,z) cond1#(true(),x,y,z) -> cond2#(gr(x,0()),x,y,z) -> cond2#(true(),x,y,z) -> or#(gr(x,z),gr(y,z)) cond1#(true(),x,y,z) -> cond2#(gr(x,0()),x,y,z) -> cond2#(true(),x,y,z) -> gr#(x,z) cond1#(true(),x,y,z) -> cond2#(gr(x,0()),x,y,z) -> cond2#(true(),x,y,z) -> gr#(y,z) cond1#(true(),x,y,z) -> cond2#(gr(x,0()),x,y,z) -> cond2#(true(),x,y,z) -> p#(x) cond1#(true(),x,y,z) -> gr#(x,0()) -> gr#(s(x),s(y)) -> gr#(x,y) SCC Processor: #sccs: 2 #rules: 6 #arcs: 31/361 DPs: cond3#(false(),x,y,z) -> cond1#(or(gr(x,z),gr(y,z)),x,y,z) cond1#(true(),x,y,z) -> cond2#(gr(x,0()),x,y,z) cond2#(true(),x,y,z) -> cond1#(or(gr(x,z),gr(y,z)),p(x),y,z) cond2#(false(),x,y,z) -> cond3#(gr(y,0()),x,y,z) cond3#(true(),x,y,z) -> cond1#(or(gr(x,z),gr(y,z)),x,p(y),z) TRS: cond1(true(),x,y,z) -> cond2(gr(x,0()),x,y,z) cond2(true(),x,y,z) -> cond1(or(gr(x,z),gr(y,z)),p(x),y,z) cond2(false(),x,y,z) -> cond3(gr(y,0()),x,y,z) cond3(true(),x,y,z) -> cond1(or(gr(x,z),gr(y,z)),x,p(y),z) cond3(false(),x,y,z) -> cond1(or(gr(x,z),gr(y,z)),x,y,z) gr(0(),x) -> false() gr(s(x),0()) -> true() gr(s(x),s(y)) -> gr(x,y) or(false(),false()) -> false() or(true(),x) -> true() or(x,true()) -> true() p(0()) -> 0() p(s(x)) -> x Open DPs: gr#(s(x),s(y)) -> gr#(x,y) TRS: cond1(true(),x,y,z) -> cond2(gr(x,0()),x,y,z) cond2(true(),x,y,z) -> cond1(or(gr(x,z),gr(y,z)),p(x),y,z) cond2(false(),x,y,z) -> cond3(gr(y,0()),x,y,z) cond3(true(),x,y,z) -> cond1(or(gr(x,z),gr(y,z)),x,p(y),z) cond3(false(),x,y,z) -> cond1(or(gr(x,z),gr(y,z)),x,y,z) gr(0(),x) -> false() gr(s(x),0()) -> true() gr(s(x),s(y)) -> gr(x,y) or(false(),false()) -> false() or(true(),x) -> true() or(x,true()) -> true() p(0()) -> 0() p(s(x)) -> x Subterm Criterion Processor: simple projection: pi(gr#) = 1 problem: DPs: TRS: cond1(true(),x,y,z) -> cond2(gr(x,0()),x,y,z) cond2(true(),x,y,z) -> cond1(or(gr(x,z),gr(y,z)),p(x),y,z) cond2(false(),x,y,z) -> cond3(gr(y,0()),x,y,z) cond3(true(),x,y,z) -> cond1(or(gr(x,z),gr(y,z)),x,p(y),z) cond3(false(),x,y,z) -> cond1(or(gr(x,z),gr(y,z)),x,y,z) gr(0(),x) -> false() gr(s(x),0()) -> true() gr(s(x),s(y)) -> gr(x,y) or(false(),false()) -> false() or(true(),x) -> true() or(x,true()) -> true() p(0()) -> 0() p(s(x)) -> x Qed