YES Problem: 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()) Proof: DP Processor: DPs: prime#(s(s(x))) -> prime1#(s(s(x)),s(x)) prime1#(x,s(s(y))) -> prime1#(x,s(y)) prime1#(x,s(s(y))) -> divp#(s(s(y)),x) 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()) Matrix Interpretation Processor: dim=1 interpretation: [divp#](x0, x1) = 3x0, [prime1#](x0, x1) = 4x1, [prime#](x0) = 4x0, [=](x0, x1) = 0, [rem](x0, x1) = 0, [and](x0, x1) = 4x0 + 6, [not](x0) = 3, [divp](x0, x1) = 0, [true] = 0, [prime1](x0, x1) = 3x1 + 6, [s](x0) = x0 + 2, [false] = 0, [prime](x0) = 3x0, [0] = 0 orientation: prime#(s(s(x))) = 4x + 16 >= 4x + 8 = prime1#(s(s(x)),s(x)) prime1#(x,s(s(y))) = 4y + 16 >= 4y + 8 = prime1#(x,s(y)) prime1#(x,s(s(y))) = 4y + 16 >= 3y + 12 = divp#(s(s(y)),x) prime(0()) = 0 >= 0 = false() prime(s(0())) = 6 >= 0 = false() prime(s(s(x))) = 3x + 12 >= 3x + 12 = prime1(s(s(x)),s(x)) prime1(x,0()) = 6 >= 0 = false() prime1(x,s(0())) = 12 >= 0 = true() prime1(x,s(s(y))) = 3y + 18 >= 18 = and(not(divp(s(s(y)),x)),prime1(x,s(y))) divp(x,y) = 0 >= 0 = =(rem(x,y),0()) problem: DPs: 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()) Qed