YES TRS: le(0(),y) -> true() le(s(x),0()) -> false() le(s(x),s(y)) -> le(x,y) pred(s(x)) -> x minus(x,0()) -> x minus(x,s(y)) -> pred(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) = 1 le#_A(x1,x2) = 0 0_A = 1 0#_A = 2 true_A = 1 true#_A = 1 s_A(x1) = x1 + 3 s#_A(x1) = 2 false_A = 1 false#_A = 1 pred_A(x1) = x1 pred#_A(x1) = 0 minus_A(x1,x2) = x1 + 1 minus#_A(x1,x2) = 5 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: le > false = pred = minus = if_gcd > 0 = s > true = gcd