YES TRS: le(0(),y) -> true() le(s(x),0()) -> false() le(s(x),s(y)) -> le(x,y) minus(x,0()) -> x minus(s(x),s(y)) -> 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 + x2 + 1 le#_A(x1,x2) = 1 0_A = 1 0#_A = 1 true_A = 1 true#_A = 0 s_A(x1) = x1 + 4 s#_A(x1) = 9 false_A = 1 false#_A = 0 minus_A(x1,x2) = x1 + 1 minus#_A(x1,x2) = 0 gcd_A(x1,x2) = x1 + x2 gcd#_A(x1,x2) = x1 + x2 + 2 if_gcd_A(x1,x2,x3) = x2 + x3 if_gcd#_A(x1,x2,x3) = x2 + x3 precedence: minus = if_gcd > gcd > le = 0 = s > true = false