YES TRS: le(0(),y) -> true() le(s(x),0()) -> false() le(s(x),s(y)) -> le(x,y) minus(0(),y) -> 0() minus(s(x),y) -> if_minus(le(s(x),y),s(x),y) if_minus(true(),s(x),y) -> 0() if_minus(false(),s(x),y) -> s(minus(x,y)) gcd(0(),y) -> y gcd(s(x),0()) -> s(x) gcd(s(x),s(y)) -> if_gcd(le(y,x),s(x),s(y)) if_gcd(true(),s(x),s(y)) -> gcd(minus(x,y),s(y)) if_gcd(false(),s(x),s(y)) -> gcd(minus(y,x),s(x)) linear polynomial interpretations on N: le_A(x1,x2) = x1 + 1 le#_A(x1,x2) = x1 + 8 0_A = 6 0#_A = 0 true_A = 7 true#_A = 1 s_A(x1) = x1 + 5 s#_A(x1) = 11 false_A = 1 false#_A = 12 minus_A(x1,x2) = x1 + 1 minus#_A(x1,x2) = x1 + 9 if_minus_A(x1,x2,x3) = x2 + 1 if_minus#_A(x1,x2,x3) = x2 + 7 gcd_A(x1,x2) = x1 + x2 gcd#_A(x1,x2) = x1 + x2 + 1 if_gcd_A(x1,x2,x3) = x2 + x3 if_gcd#_A(x1,x2,x3) = x2 + x3 precedence: if_gcd > minus > false = if_minus > s = gcd > le > true > 0