(VAR x y) (RULES 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) )