YES Problem: not(true()) -> false() not(false()) -> true() evenodd(x,0()) -> not(evenodd(x,s(0()))) evenodd(0(),s(0())) -> false() evenodd(s(x),s(0())) -> evenodd(x,0()) Proof: DP Processor: DPs: evenodd#(x,0()) -> evenodd#(x,s(0())) evenodd#(x,0()) -> not#(evenodd(x,s(0()))) evenodd#(s(x),s(0())) -> evenodd#(x,0()) TRS: not(true()) -> false() not(false()) -> true() evenodd(x,0()) -> not(evenodd(x,s(0()))) evenodd(0(),s(0())) -> false() evenodd(s(x),s(0())) -> evenodd(x,0()) Matrix Interpretation Processor: dim=4 usable rules: interpretation: [evenodd#](x0, x1) = [1 1 1 0]x0 + [0 0 1 0]x1, [not#](x0) = [0], [0 0 1 1] [1] [0 1 1 0] [1] [s](x0) = [1 0 0 1]x0 + [0] [1 1 1 0] [0], [0 0 1 1] [0 0 0 0] [1] [0 0 1 1] [0 0 0 0] [0] [evenodd](x0, x1) = [1 0 0 1]x0 + [1 0 0 0]x1 + [0] [0 0 0 0] [0 0 0 0] [0], [0] [1] [0] = [1] [0], [1] [0] [false] = [1] [1], [1 0 1 0] [1 1 0 1] [not](x0) = [0 1 0 1]x0 [0 0 1 1] , [1] [1] [true] = [1] [1] orientation: evenodd#(x,0()) = [1 1 1 0]x + [1] >= [1 1 1 0]x = evenodd#(x,s(0())) evenodd#(x,0()) = [1 1 1 0]x + [1] >= [0] = not#(evenodd(x,s(0()))) evenodd#(s(x),s(0())) = [1 1 2 2]x + [2] >= [1 1 1 0]x + [1] = evenodd#(x,0()) [2] [1] [3] [0] not(true()) = [2] >= [1] = false() [2] [1] [2] [1] [2] [1] not(false()) = [1] >= [1] = true() [2] [1] [0 0 1 1] [1] [1 0 1 2] [3] [0 0 1 1] [0] [0 0 2 2] [1] evenodd(x,0()) = [1 0 0 1]x + [0] >= [0 0 1 1]x + [0] = not(evenodd(x,s(0()))) [0 0 0 0] [0] [1 0 0 1] [2] [2] [1] [1] [0] evenodd(0(),s(0())) = [2] >= [1] = false() [0] [1] [2 1 1 1] [1] [0 0 1 1] [1] [2 1 1 1] [0] [0 0 1 1] [0] evenodd(s(x),s(0())) = [1 1 2 1]x + [3] >= [1 0 0 1]x + [0] = evenodd(x,0()) [0 0 0 0] [0] [0 0 0 0] [0] problem: DPs: TRS: not(true()) -> false() not(false()) -> true() evenodd(x,0()) -> not(evenodd(x,s(0()))) evenodd(0(),s(0())) -> false() evenodd(s(x),s(0())) -> evenodd(x,0()) Qed