YES TRS: prime(0()) -> false() prime(s(0())) -> false() prime(s(s(x))) -> prime1(s(s(x)),s(x)) prime1(x,0()) -> false() prime1(x,s(0())) -> true() prime1(x,s(s(y))) -> and(not(divp(s(s(y)),x)),prime1(x,s(y))) divp(x,y) -> =(rem(x,y),0()) max/plus interpretations on N: prime_A(x1) = max{15, 12 + x1} prime#_A(x1) = max{15, 12 + x1} 0_A = 9 0#_A = 9 false_A = 8 false#_A = 8 s_A(x1) = max{1, 1 + x1} s#_A(x1) = max{1, 1 + x1} prime1_A(x1,x2) = max{15, 11 + x1, 12 + x2} prime1#_A(x1,x2) = max{15, 11 + x1, 12 + x2} true_A = 2 true#_A = 2 and_A(x1,x2) = max{15, 5 + x1, x2} and#_A(x1,x2) = max{15, 5 + x1, x2} not_A(x1) = max{10, x1} not#_A(x1) = max{10, x1} divp_A(x1,x2) = max{10, 7 + x1, 6 + x2} divp#_A(x1,x2) = max{10, 7 + x1, 6 + x2} =_A(x1,x2) = max{10, 5 + x1, 1 + x2} =#_A(x1,x2) = max{10, 5 + x1, 1 + x2} rem_A(x1,x2) = max{5, 1 + x1, x2} rem#_A(x1,x2) = max{5, 1 + x1, x2} precedence: false > prime > prime1 > s = and = not = divp > 0 = = = rem > true