YES TRS: gcd(x,0()) -> x gcd(0(),y) -> y gcd(s(x),s(y)) -> if(<(x,y),gcd(s(x),-(y,x)),gcd(-(x,y),s(y))) linear polynomial interpretations on N: gcd_A(x1,x2) = x1 + x2 gcd#_A(x1,x2) = x1 + x2 0_A = 0 0#_A = 0 s_A(x1) = x1 + 1 s#_A(x1) = 0 if_A(x1,x2,x3) = x2 if#_A(x1,x2,x3) = 0 <_A(x1,x2) = x2 + 1 <#_A(x1,x2) = 0 -_A(x1,x2) = 0 -#_A(x1,x2) = 0 precedence: gcd = if > 0 = s = < = -