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()) Usable Rule 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: f14(x,y) -> x f14(x,y) -> y EDG 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: f14(x,y) -> x f14(x,y) -> y graph: prime1#(x,s(s(y))) -> prime1#(x,s(y)) -> prime1#(x,s(s(y))) -> prime1#(x,s(y)) prime1#(x,s(s(y))) -> prime1#(x,s(y)) -> prime1#(x,s(s(y))) -> divp#(s(s(y)),x) prime#(s(s(x))) -> prime1#(s(s(x)),s(x)) -> prime1#(x,s(s(y))) -> prime1#(x,s(y)) prime#(s(s(x))) -> prime1#(s(s(x)),s(x)) -> prime1#(x,s(s(y))) -> divp#(s(s(y)),x) Restore Modifier: 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()) SCC Processor: #sccs: 1 #rules: 1 #arcs: 4/9 DPs: prime1#(x,s(s(y))) -> prime1#(x,s(y)) 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: dimension: 1 interpretation: [prime1#](x0, x1) = x1, [=](x0, x1) = 0, [rem](x0, x1) = 0, [and](x0, x1) = 0, [not](x0) = 0, [divp](x0, x1) = 1, [true] = 1, [prime1](x0, x1) = x0 + 1, [s](x0) = x0 + 1, [false] = 0, [prime](x0) = x0 + 1, [0] = 1 orientation: prime1#(x,s(s(y))) = y + 2 >= y + 1 = prime1#(x,s(y)) prime(0()) = 2 >= 0 = false() prime(s(0())) = 3 >= 0 = false() prime(s(s(x))) = x + 3 >= x + 3 = prime1(s(s(x)),s(x)) prime1(x,0()) = x + 1 >= 0 = false() prime1(x,s(0())) = x + 1 >= 1 = true() prime1(x,s(s(y))) = x + 1 >= 0 = and(not(divp(s(s(y)),x)),prime1(x,s(y))) divp(x,y) = 1 >= 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