YES Problem: lcs(e(),y) -> 0() lcs(x,e()) -> 0() lcs(a(x),a(y)) -> s(lcs(x,y)) lcs(b(x),b(y)) -> s(lcs(x,y)) lcs(a(x),b(y)) -> max(lcs(x,b(y)),lcs(a(x),y)) lcs(b(x),a(y)) -> max(lcs(x,a(y)),lcs(b(x),y)) max(x,0()) -> 0() max(0(),y) -> 0() max(s(x),s(y)) -> max(x,y) Proof: DP Processor: DPs: lcs#(a(x),a(y)) -> lcs#(x,y) lcs#(b(x),b(y)) -> lcs#(x,y) lcs#(a(x),b(y)) -> lcs#(a(x),y) lcs#(a(x),b(y)) -> lcs#(x,b(y)) lcs#(a(x),b(y)) -> max#(lcs(x,b(y)),lcs(a(x),y)) lcs#(b(x),a(y)) -> lcs#(b(x),y) lcs#(b(x),a(y)) -> lcs#(x,a(y)) lcs#(b(x),a(y)) -> max#(lcs(x,a(y)),lcs(b(x),y)) max#(s(x),s(y)) -> max#(x,y) TRS: lcs(e(),y) -> 0() lcs(x,e()) -> 0() lcs(a(x),a(y)) -> s(lcs(x,y)) lcs(b(x),b(y)) -> s(lcs(x,y)) lcs(a(x),b(y)) -> max(lcs(x,b(y)),lcs(a(x),y)) lcs(b(x),a(y)) -> max(lcs(x,a(y)),lcs(b(x),y)) max(x,0()) -> 0() max(0(),y) -> 0() max(s(x),s(y)) -> max(x,y) TDG Processor: DPs: lcs#(a(x),a(y)) -> lcs#(x,y) lcs#(b(x),b(y)) -> lcs#(x,y) lcs#(a(x),b(y)) -> lcs#(a(x),y) lcs#(a(x),b(y)) -> lcs#(x,b(y)) lcs#(a(x),b(y)) -> max#(lcs(x,b(y)),lcs(a(x),y)) lcs#(b(x),a(y)) -> lcs#(b(x),y) lcs#(b(x),a(y)) -> lcs#(x,a(y)) lcs#(b(x),a(y)) -> max#(lcs(x,a(y)),lcs(b(x),y)) max#(s(x),s(y)) -> max#(x,y) TRS: lcs(e(),y) -> 0() lcs(x,e()) -> 0() lcs(a(x),a(y)) -> s(lcs(x,y)) lcs(b(x),b(y)) -> s(lcs(x,y)) lcs(a(x),b(y)) -> max(lcs(x,b(y)),lcs(a(x),y)) lcs(b(x),a(y)) -> max(lcs(x,a(y)),lcs(b(x),y)) max(x,0()) -> 0() max(0(),y) -> 0() max(s(x),s(y)) -> max(x,y) graph: max#(s(x),s(y)) -> max#(x,y) -> max#(s(x),s(y)) -> max#(x,y) lcs#(b(x),b(y)) -> lcs#(x,y) -> lcs#(b(x),a(y)) -> max#(lcs(x,a(y)),lcs(b(x),y)) lcs#(b(x),b(y)) -> lcs#(x,y) -> lcs#(b(x),a(y)) -> lcs#(x,a(y)) lcs#(b(x),b(y)) -> lcs#(x,y) -> lcs#(b(x),a(y)) -> lcs#(b(x),y) lcs#(b(x),b(y)) -> lcs#(x,y) -> lcs#(a(x),b(y)) -> max#(lcs(x,b(y)),lcs(a(x),y)) lcs#(b(x),b(y)) -> lcs#(x,y) -> lcs#(a(x),b(y)) -> lcs#(x,b(y)) lcs#(b(x),b(y)) -> lcs#(x,y) -> lcs#(a(x),b(y)) -> lcs#(a(x),y) lcs#(b(x),b(y)) -> lcs#(x,y) -> lcs#(b(x),b(y)) -> lcs#(x,y) lcs#(b(x),b(y)) -> lcs#(x,y) -> lcs#(a(x),a(y)) -> lcs#(x,y) lcs#(b(x),a(y)) -> max#(lcs(x,a(y)),lcs(b(x),y)) -> max#(s(x),s(y)) -> max#(x,y) lcs#(b(x),a(y)) -> lcs#(b(x),y) -> lcs#(b(x),a(y)) -> max#(lcs(x,a(y)),lcs(b(x),y)) lcs#(b(x),a(y)) -> lcs#(b(x),y) -> lcs#(b(x),a(y)) -> lcs#(x,a(y)) lcs#(b(x),a(y)) -> lcs#(b(x),y) -> lcs#(b(x),a(y)) -> lcs#(b(x),y) lcs#(b(x),a(y)) -> lcs#(b(x),y) -> lcs#(a(x),b(y)) -> max#(lcs(x,b(y)),lcs(a(x),y)) lcs#(b(x),a(y)) -> lcs#(b(x),y) -> lcs#(a(x),b(y)) -> lcs#(x,b(y)) lcs#(b(x),a(y)) -> lcs#(b(x),y) -> lcs#(a(x),b(y)) -> lcs#(a(x),y) lcs#(b(x),a(y)) -> lcs#(b(x),y) -> lcs#(b(x),b(y)) -> lcs#(x,y) lcs#(b(x),a(y)) -> lcs#(b(x),y) -> lcs#(a(x),a(y)) -> lcs#(x,y) lcs#(b(x),a(y)) -> lcs#(x,a(y)) -> lcs#(b(x),a(y)) -> max#(lcs(x,a(y)),lcs(b(x),y)) lcs#(b(x),a(y)) -> lcs#(x,a(y)) -> lcs#(b(x),a(y)) -> lcs#(x,a(y)) lcs#(b(x),a(y)) -> lcs#(x,a(y)) -> lcs#(b(x),a(y)) -> lcs#(b(x),y) lcs#(b(x),a(y)) -> lcs#(x,a(y)) -> lcs#(a(x),b(y)) -> max#(lcs(x,b(y)),lcs(a(x),y)) lcs#(b(x),a(y)) -> lcs#(x,a(y)) -> lcs#(a(x),b(y)) -> lcs#(x,b(y)) lcs#(b(x),a(y)) -> lcs#(x,a(y)) -> lcs#(a(x),b(y)) -> lcs#(a(x),y) lcs#(b(x),a(y)) -> lcs#(x,a(y)) -> lcs#(b(x),b(y)) -> lcs#(x,y) lcs#(b(x),a(y)) -> lcs#(x,a(y)) -> lcs#(a(x),a(y)) -> lcs#(x,y) lcs#(a(x),b(y)) -> max#(lcs(x,b(y)),lcs(a(x),y)) -> max#(s(x),s(y)) -> max#(x,y) lcs#(a(x),b(y)) -> lcs#(a(x),y) -> lcs#(b(x),a(y)) -> max#(lcs(x,a(y)),lcs(b(x),y)) lcs#(a(x),b(y)) -> lcs#(a(x),y) -> lcs#(b(x),a(y)) -> lcs#(x,a(y)) lcs#(a(x),b(y)) -> lcs#(a(x),y) -> lcs#(b(x),a(y)) -> lcs#(b(x),y) lcs#(a(x),b(y)) -> lcs#(a(x),y) -> lcs#(a(x),b(y)) -> max#(lcs(x,b(y)),lcs(a(x),y)) lcs#(a(x),b(y)) -> lcs#(a(x),y) -> lcs#(a(x),b(y)) -> lcs#(x,b(y)) lcs#(a(x),b(y)) -> lcs#(a(x),y) -> lcs#(a(x),b(y)) -> lcs#(a(x),y) lcs#(a(x),b(y)) -> lcs#(a(x),y) -> lcs#(b(x),b(y)) -> lcs#(x,y) lcs#(a(x),b(y)) -> lcs#(a(x),y) -> lcs#(a(x),a(y)) -> lcs#(x,y) lcs#(a(x),b(y)) -> lcs#(x,b(y)) -> lcs#(b(x),a(y)) -> max#(lcs(x,a(y)),lcs(b(x),y)) lcs#(a(x),b(y)) -> lcs#(x,b(y)) -> lcs#(b(x),a(y)) -> lcs#(x,a(y)) lcs#(a(x),b(y)) -> lcs#(x,b(y)) -> lcs#(b(x),a(y)) -> lcs#(b(x),y) lcs#(a(x),b(y)) -> lcs#(x,b(y)) -> lcs#(a(x),b(y)) -> max#(lcs(x,b(y)),lcs(a(x),y)) lcs#(a(x),b(y)) -> lcs#(x,b(y)) -> lcs#(a(x),b(y)) -> lcs#(x,b(y)) lcs#(a(x),b(y)) -> lcs#(x,b(y)) -> lcs#(a(x),b(y)) -> lcs#(a(x),y) lcs#(a(x),b(y)) -> lcs#(x,b(y)) -> lcs#(b(x),b(y)) -> lcs#(x,y) lcs#(a(x),b(y)) -> lcs#(x,b(y)) -> lcs#(a(x),a(y)) -> lcs#(x,y) lcs#(a(x),a(y)) -> lcs#(x,y) -> lcs#(b(x),a(y)) -> max#(lcs(x,a(y)),lcs(b(x),y)) lcs#(a(x),a(y)) -> lcs#(x,y) -> lcs#(b(x),a(y)) -> lcs#(x,a(y)) lcs#(a(x),a(y)) -> lcs#(x,y) -> lcs#(b(x),a(y)) -> lcs#(b(x),y) lcs#(a(x),a(y)) -> lcs#(x,y) -> lcs#(a(x),b(y)) -> max#(lcs(x,b(y)),lcs(a(x),y)) lcs#(a(x),a(y)) -> lcs#(x,y) -> lcs#(a(x),b(y)) -> lcs#(x,b(y)) lcs#(a(x),a(y)) -> lcs#(x,y) -> lcs#(a(x),b(y)) -> lcs#(a(x),y) lcs#(a(x),a(y)) -> lcs#(x,y) -> lcs#(b(x),b(y)) -> lcs#(x,y) lcs#(a(x),a(y)) -> lcs#(x,y) -> lcs#(a(x),a(y)) -> lcs#(x,y) EDG Processor: DPs: lcs#(a(x),a(y)) -> lcs#(x,y) lcs#(b(x),b(y)) -> lcs#(x,y) lcs#(a(x),b(y)) -> lcs#(a(x),y) lcs#(a(x),b(y)) -> lcs#(x,b(y)) lcs#(a(x),b(y)) -> max#(lcs(x,b(y)),lcs(a(x),y)) lcs#(b(x),a(y)) -> lcs#(b(x),y) lcs#(b(x),a(y)) -> lcs#(x,a(y)) lcs#(b(x),a(y)) -> max#(lcs(x,a(y)),lcs(b(x),y)) max#(s(x),s(y)) -> max#(x,y) TRS: lcs(e(),y) -> 0() lcs(x,e()) -> 0() lcs(a(x),a(y)) -> s(lcs(x,y)) lcs(b(x),b(y)) -> s(lcs(x,y)) lcs(a(x),b(y)) -> max(lcs(x,b(y)),lcs(a(x),y)) lcs(b(x),a(y)) -> max(lcs(x,a(y)),lcs(b(x),y)) max(x,0()) -> 0() max(0(),y) -> 0() max(s(x),s(y)) -> max(x,y) graph: max#(s(x),s(y)) -> max#(x,y) -> max#(s(x),s(y)) -> max#(x,y) lcs#(b(x),b(y)) -> lcs#(x,y) -> lcs#(a(x),a(y)) -> lcs#(x,y) lcs#(b(x),b(y)) -> lcs#(x,y) -> lcs#(b(x),b(y)) -> lcs#(x,y) lcs#(b(x),b(y)) -> lcs#(x,y) -> lcs#(a(x),b(y)) -> lcs#(a(x),y) lcs#(b(x),b(y)) -> lcs#(x,y) -> lcs#(a(x),b(y)) -> lcs#(x,b(y)) lcs#(b(x),b(y)) -> lcs#(x,y) -> lcs#(a(x),b(y)) -> max#(lcs(x,b(y)),lcs(a(x),y)) lcs#(b(x),b(y)) -> lcs#(x,y) -> lcs#(b(x),a(y)) -> lcs#(b(x),y) lcs#(b(x),b(y)) -> lcs#(x,y) -> lcs#(b(x),a(y)) -> lcs#(x,a(y)) lcs#(b(x),b(y)) -> lcs#(x,y) -> lcs#(b(x),a(y)) -> max#(lcs(x,a(y)),lcs(b(x),y)) lcs#(b(x),a(y)) -> max#(lcs(x,a(y)),lcs(b(x),y)) -> max#(s(x),s(y)) -> max#(x,y) lcs#(b(x),a(y)) -> lcs#(b(x),y) -> lcs#(b(x),b(y)) -> lcs#(x,y) lcs#(b(x),a(y)) -> lcs#(b(x),y) -> lcs#(b(x),a(y)) -> lcs#(b(x),y) lcs#(b(x),a(y)) -> lcs#(b(x),y) -> lcs#(b(x),a(y)) -> lcs#(x,a(y)) lcs#(b(x),a(y)) -> lcs#(b(x),y) -> lcs#(b(x),a(y)) -> max#(lcs(x,a(y)),lcs(b(x),y)) lcs#(b(x),a(y)) -> lcs#(x,a(y)) -> lcs#(a(x),a(y)) -> lcs#(x,y) lcs#(b(x),a(y)) -> lcs#(x,a(y)) -> lcs#(b(x),a(y)) -> lcs#(b(x),y) lcs#(b(x),a(y)) -> lcs#(x,a(y)) -> lcs#(b(x),a(y)) -> lcs#(x,a(y)) lcs#(b(x),a(y)) -> lcs#(x,a(y)) -> lcs#(b(x),a(y)) -> max#(lcs(x,a(y)),lcs(b(x),y)) lcs#(a(x),b(y)) -> max#(lcs(x,b(y)),lcs(a(x),y)) -> max#(s(x),s(y)) -> max#(x,y) lcs#(a(x),b(y)) -> lcs#(a(x),y) -> lcs#(a(x),a(y)) -> lcs#(x,y) lcs#(a(x),b(y)) -> lcs#(a(x),y) -> lcs#(a(x),b(y)) -> lcs#(a(x),y) lcs#(a(x),b(y)) -> lcs#(a(x),y) -> lcs#(a(x),b(y)) -> lcs#(x,b(y)) lcs#(a(x),b(y)) -> lcs#(a(x),y) -> lcs#(a(x),b(y)) -> max#(lcs(x,b(y)),lcs(a(x),y)) lcs#(a(x),b(y)) -> lcs#(x,b(y)) -> lcs#(b(x),b(y)) -> lcs#(x,y) lcs#(a(x),b(y)) -> lcs#(x,b(y)) -> lcs#(a(x),b(y)) -> lcs#(a(x),y) lcs#(a(x),b(y)) -> lcs#(x,b(y)) -> lcs#(a(x),b(y)) -> lcs#(x,b(y)) lcs#(a(x),b(y)) -> lcs#(x,b(y)) -> lcs#(a(x),b(y)) -> max#(lcs(x,b(y)),lcs(a(x),y)) lcs#(a(x),a(y)) -> lcs#(x,y) -> lcs#(a(x),a(y)) -> lcs#(x,y) lcs#(a(x),a(y)) -> lcs#(x,y) -> lcs#(b(x),b(y)) -> lcs#(x,y) lcs#(a(x),a(y)) -> lcs#(x,y) -> lcs#(a(x),b(y)) -> lcs#(a(x),y) lcs#(a(x),a(y)) -> lcs#(x,y) -> lcs#(a(x),b(y)) -> lcs#(x,b(y)) lcs#(a(x),a(y)) -> lcs#(x,y) -> lcs#(a(x),b(y)) -> max#(lcs(x,b(y)),lcs(a(x),y)) lcs#(a(x),a(y)) -> lcs#(x,y) -> lcs#(b(x),a(y)) -> lcs#(b(x),y) lcs#(a(x),a(y)) -> lcs#(x,y) -> lcs#(b(x),a(y)) -> lcs#(x,a(y)) lcs#(a(x),a(y)) -> lcs#(x,y) -> lcs#(b(x),a(y)) -> max#(lcs(x,a(y)),lcs(b(x),y)) SCC Processor: #sccs: 2 #rules: 7 #arcs: 35/81 DPs: lcs#(b(x),b(y)) -> lcs#(x,y) lcs#(b(x),a(y)) -> lcs#(x,a(y)) lcs#(b(x),a(y)) -> lcs#(b(x),y) lcs#(a(x),a(y)) -> lcs#(x,y) lcs#(a(x),b(y)) -> lcs#(x,b(y)) lcs#(a(x),b(y)) -> lcs#(a(x),y) TRS: lcs(e(),y) -> 0() lcs(x,e()) -> 0() lcs(a(x),a(y)) -> s(lcs(x,y)) lcs(b(x),b(y)) -> s(lcs(x,y)) lcs(a(x),b(y)) -> max(lcs(x,b(y)),lcs(a(x),y)) lcs(b(x),a(y)) -> max(lcs(x,a(y)),lcs(b(x),y)) max(x,0()) -> 0() max(0(),y) -> 0() max(s(x),s(y)) -> max(x,y) Matrix Interpretation Processor: dim=1 interpretation: [lcs#](x0, x1) = 2x0 + x1, [max](x0, x1) = 3, [b](x0) = 3x0 + 2, [s](x0) = 3, [a](x0) = 7x0 + 1, [0] = 0, [lcs](x0, x1) = 3x1, [e] = 6 orientation: lcs#(b(x),b(y)) = 6x + 3y + 6 >= 2x + y = lcs#(x,y) lcs#(b(x),a(y)) = 6x + 7y + 5 >= 2x + 7y + 1 = lcs#(x,a(y)) lcs#(b(x),a(y)) = 6x + 7y + 5 >= 6x + y + 4 = lcs#(b(x),y) lcs#(a(x),a(y)) = 14x + 7y + 3 >= 2x + y = lcs#(x,y) lcs#(a(x),b(y)) = 14x + 3y + 4 >= 2x + 3y + 2 = lcs#(x,b(y)) lcs#(a(x),b(y)) = 14x + 3y + 4 >= 14x + y + 2 = lcs#(a(x),y) lcs(e(),y) = 3y >= 0 = 0() lcs(x,e()) = 18 >= 0 = 0() lcs(a(x),a(y)) = 21y + 3 >= 3 = s(lcs(x,y)) lcs(b(x),b(y)) = 9y + 6 >= 3 = s(lcs(x,y)) lcs(a(x),b(y)) = 9y + 6 >= 3 = max(lcs(x,b(y)),lcs(a(x),y)) lcs(b(x),a(y)) = 21y + 3 >= 3 = max(lcs(x,a(y)),lcs(b(x),y)) max(x,0()) = 3 >= 0 = 0() max(0(),y) = 3 >= 0 = 0() max(s(x),s(y)) = 3 >= 3 = max(x,y) problem: DPs: TRS: lcs(e(),y) -> 0() lcs(x,e()) -> 0() lcs(a(x),a(y)) -> s(lcs(x,y)) lcs(b(x),b(y)) -> s(lcs(x,y)) lcs(a(x),b(y)) -> max(lcs(x,b(y)),lcs(a(x),y)) lcs(b(x),a(y)) -> max(lcs(x,a(y)),lcs(b(x),y)) max(x,0()) -> 0() max(0(),y) -> 0() max(s(x),s(y)) -> max(x,y) Qed DPs: max#(s(x),s(y)) -> max#(x,y) TRS: lcs(e(),y) -> 0() lcs(x,e()) -> 0() lcs(a(x),a(y)) -> s(lcs(x,y)) lcs(b(x),b(y)) -> s(lcs(x,y)) lcs(a(x),b(y)) -> max(lcs(x,b(y)),lcs(a(x),y)) lcs(b(x),a(y)) -> max(lcs(x,a(y)),lcs(b(x),y)) max(x,0()) -> 0() max(0(),y) -> 0() max(s(x),s(y)) -> max(x,y) Arctic Interpretation Processor: dimension: 1 interpretation: [max#](x0, x1) = 5x0 + x1 + 0, [max](x0, x1) = 2x0 + 2, [b](x0) = 5x0 + 5, [s](x0) = 2x0 + 2, [a](x0) = 3x0 + 5, [0] = 0, [lcs](x0, x1) = 1x0 + 1, [e] = 0 orientation: max#(s(x),s(y)) = 7x + 2y + 7 >= 5x + y + 0 = max#(x,y) lcs(e(),y) = 1 >= 0 = 0() lcs(x,e()) = 1x + 1 >= 0 = 0() lcs(a(x),a(y)) = 4x + 6 >= 3x + 3 = s(lcs(x,y)) lcs(b(x),b(y)) = 6x + 6 >= 3x + 3 = s(lcs(x,y)) lcs(a(x),b(y)) = 4x + 6 >= 3x + 3 = max(lcs(x,b(y)),lcs(a(x),y)) lcs(b(x),a(y)) = 6x + 6 >= 3x + 3 = max(lcs(x,a(y)),lcs(b(x),y)) max(x,0()) = 2x + 2 >= 0 = 0() max(0(),y) = 2 >= 0 = 0() max(s(x),s(y)) = 4x + 4 >= 2x + 2 = max(x,y) problem: DPs: TRS: lcs(e(),y) -> 0() lcs(x,e()) -> 0() lcs(a(x),a(y)) -> s(lcs(x,y)) lcs(b(x),b(y)) -> s(lcs(x,y)) lcs(a(x),b(y)) -> max(lcs(x,b(y)),lcs(a(x),y)) lcs(b(x),a(y)) -> max(lcs(x,a(y)),lcs(b(x),y)) max(x,0()) -> 0() max(0(),y) -> 0() max(s(x),s(y)) -> max(x,y) Qed