MAYBE Problem: cond(true(),x,y) -> cond(gr(x,y),x,add(x,y)) gr(0(),x) -> false() gr(s(x),0()) -> true() gr(s(x),s(y)) -> gr(x,y) add(0(),x) -> x add(s(x),y) -> s(add(x,y)) Proof: DP Processor: DPs: cond#(true(),x,y) -> add#(x,y) cond#(true(),x,y) -> gr#(x,y) cond#(true(),x,y) -> cond#(gr(x,y),x,add(x,y)) gr#(s(x),s(y)) -> gr#(x,y) add#(s(x),y) -> add#(x,y) TRS: cond(true(),x,y) -> cond(gr(x,y),x,add(x,y)) gr(0(),x) -> false() gr(s(x),0()) -> true() gr(s(x),s(y)) -> gr(x,y) add(0(),x) -> x add(s(x),y) -> s(add(x,y)) Usable Rule Processor: DPs: cond#(true(),x,y) -> add#(x,y) cond#(true(),x,y) -> gr#(x,y) cond#(true(),x,y) -> cond#(gr(x,y),x,add(x,y)) gr#(s(x),s(y)) -> gr#(x,y) add#(s(x),y) -> add#(x,y) TRS: f10(x,y) -> x f10(x,y) -> y add(0(),x) -> x add(s(x),y) -> s(add(x,y)) gr(0(),x) -> false() gr(s(x),0()) -> true() gr(s(x),s(y)) -> gr(x,y) ADG Processor: DPs: cond#(true(),x,y) -> add#(x,y) cond#(true(),x,y) -> gr#(x,y) cond#(true(),x,y) -> cond#(gr(x,y),x,add(x,y)) gr#(s(x),s(y)) -> gr#(x,y) add#(s(x),y) -> add#(x,y) TRS: f10(x,y) -> x f10(x,y) -> y add(0(),x) -> x add(s(x),y) -> s(add(x,y)) gr(0(),x) -> false() gr(s(x),0()) -> true() gr(s(x),s(y)) -> gr(x,y) graph: gr#(s(x),s(y)) -> gr#(x,y) -> gr#(s(x),s(y)) -> gr#(x,y) add#(s(x),y) -> add#(x,y) -> add#(s(x),y) -> add#(x,y) cond#(true(),x,y) -> gr#(x,y) -> gr#(s(x),s(y)) -> gr#(x,y) cond#(true(),x,y) -> add#(x,y) -> add#(s(x),y) -> add#(x,y) cond#(true(),x,y) -> cond#(gr(x,y),x,add(x,y)) -> cond#(true(),x,y) -> add#(x,y) cond#(true(),x,y) -> cond#(gr(x,y),x,add(x,y)) -> cond#(true(),x,y) -> gr#(x,y) cond#(true(),x,y) -> cond#(gr(x,y),x,add(x,y)) -> cond#(true(),x,y) -> cond#(gr(x,y),x,add(x,y)) Restore Modifier: DPs: cond#(true(),x,y) -> add#(x,y) cond#(true(),x,y) -> gr#(x,y) cond#(true(),x,y) -> cond#(gr(x,y),x,add(x,y)) gr#(s(x),s(y)) -> gr#(x,y) add#(s(x),y) -> add#(x,y) TRS: cond(true(),x,y) -> cond(gr(x,y),x,add(x,y)) gr(0(),x) -> false() gr(s(x),0()) -> true() gr(s(x),s(y)) -> gr(x,y) add(0(),x) -> x add(s(x),y) -> s(add(x,y)) SCC Processor: #sccs: 3 #rules: 3 #arcs: 7/25 DPs: cond#(true(),x,y) -> cond#(gr(x,y),x,add(x,y)) TRS: cond(true(),x,y) -> cond(gr(x,y),x,add(x,y)) gr(0(),x) -> false() gr(s(x),0()) -> true() gr(s(x),s(y)) -> gr(x,y) add(0(),x) -> x add(s(x),y) -> s(add(x,y)) Open DPs: add#(s(x),y) -> add#(x,y) TRS: cond(true(),x,y) -> cond(gr(x,y),x,add(x,y)) gr(0(),x) -> false() gr(s(x),0()) -> true() gr(s(x),s(y)) -> gr(x,y) add(0(),x) -> x add(s(x),y) -> s(add(x,y)) Matrix Interpretation Processor: dimension: 1 interpretation: [add#](x0, x1) = x0, [s](x0) = x0 + 1, [false] = 0, [0] = 0, [add](x0, x1) = x0 + x1 + 1, [gr](x0, x1) = 0, [cond](x0, x1, x2) = x1, [true] = 0 orientation: add#(s(x),y) = x + 1 >= x = add#(x,y) cond(true(),x,y) = x >= x = cond(gr(x,y),x,add(x,y)) gr(0(),x) = 0 >= 0 = false() gr(s(x),0()) = 0 >= 0 = true() gr(s(x),s(y)) = 0 >= 0 = gr(x,y) add(0(),x) = x + 1 >= x = x add(s(x),y) = x + y + 2 >= x + y + 2 = s(add(x,y)) problem: DPs: TRS: cond(true(),x,y) -> cond(gr(x,y),x,add(x,y)) gr(0(),x) -> false() gr(s(x),0()) -> true() gr(s(x),s(y)) -> gr(x,y) add(0(),x) -> x add(s(x),y) -> s(add(x,y)) Qed DPs: gr#(s(x),s(y)) -> gr#(x,y) TRS: cond(true(),x,y) -> cond(gr(x,y),x,add(x,y)) gr(0(),x) -> false() gr(s(x),0()) -> true() gr(s(x),s(y)) -> gr(x,y) add(0(),x) -> x add(s(x),y) -> s(add(x,y)) Matrix Interpretation Processor: dimension: 1 interpretation: [gr#](x0, x1) = x0 + x1, [s](x0) = x0 + 1, [false] = 0, [0] = 0, [add](x0, x1) = x0 + x1 + 1, [gr](x0, x1) = 0, [cond](x0, x1, x2) = 0, [true] = 0 orientation: gr#(s(x),s(y)) = x + y + 2 >= x + y = gr#(x,y) cond(true(),x,y) = 0 >= 0 = cond(gr(x,y),x,add(x,y)) gr(0(),x) = 0 >= 0 = false() gr(s(x),0()) = 0 >= 0 = true() gr(s(x),s(y)) = 0 >= 0 = gr(x,y) add(0(),x) = x + 1 >= x = x add(s(x),y) = x + y + 2 >= x + y + 2 = s(add(x,y)) problem: DPs: TRS: cond(true(),x,y) -> cond(gr(x,y),x,add(x,y)) gr(0(),x) -> false() gr(s(x),0()) -> true() gr(s(x),s(y)) -> gr(x,y) add(0(),x) -> x add(s(x),y) -> s(add(x,y)) Qed