YES Problem: active(f(x)) -> mark(f(f(x))) chk(no(f(x))) -> f(chk(mat(f(f(f(f(f(f(f(f(f(f(X())))))))))),x))) mat(f(x),f(y())) -> f(mat(x,y())) chk(no(c())) -> active(c()) mat(f(x),c()) -> no(c()) f(active(x)) -> active(f(x)) f(no(x)) -> no(f(x)) f(mark(x)) -> mark(f(x)) tp(mark(x)) -> tp(chk(mat(f(f(f(f(f(f(f(f(f(f(X())))))))))),x))) Proof: Matrix Interpretation Processor: dim=3 interpretation: [1 0 1] [0] [chk](x0) = [0 0 0]x0 + [0] [0 0 0] [1], [0] [c] = [1] [0], [1 0 0] [1] [active](x0) = [0 0 0]x0 + [0] [0 1 0] [0], [0] [no](x0) = x0 + [0] [1], [0] [X] = [0] [0], [1 0 0] [f](x0) = [0 0 0]x0 [0 1 1] , [0] [y] = [0] [0], [1 0 0] [tp](x0) = [0 0 0]x0 [0 0 0] , [1 0 0] [1 0 0] [mat](x0, x1) = [0 0 0]x0 + [0 1 0]x1 [0 0 0] [0 1 0] , [1 1 0] [1] [mark](x0) = [0 1 0]x0 + [0] [0 0 0] [0] orientation: [1 0 0] [1] [1 0 0] [1] active(f(x)) = [0 0 0]x + [0] >= [0 0 0]x + [0] = mark(f(f(x))) [0 0 0] [0] [0 0 0] [0] [1 1 1] [1] [1 1 0] [0] chk(no(f(x))) = [0 0 0]x + [0] >= [0 0 0]x + [0] = f(chk(mat(f(f(f(f(f(f(f(f(f(f(X())))))))))),x))) [0 0 0] [1] [0 0 0] [1] [1 0 0] [1 0 0] mat(f(x),f(y())) = [0 0 0]x >= [0 0 0]x = f(mat(x,y())) [0 0 0] [0 0 0] [1] [1] chk(no(c())) = [0] >= [0] = active(c()) [1] [1] [1 0 0] [0] [0] mat(f(x),c()) = [0 0 0]x + [1] >= [1] = no(c()) [0 0 0] [1] [1] [1 0 0] [1] [1 0 0] [1] f(active(x)) = [0 0 0]x + [0] >= [0 0 0]x + [0] = active(f(x)) [0 1 0] [0] [0 0 0] [0] [1 0 0] [0] [1 0 0] [0] f(no(x)) = [0 0 0]x + [0] >= [0 0 0]x + [0] = no(f(x)) [0 1 1] [1] [0 1 1] [1] [1 1 0] [1] [1 0 0] [1] f(mark(x)) = [0 0 0]x + [0] >= [0 0 0]x + [0] = mark(f(x)) [0 1 0] [0] [0 0 0] [0] [1 1 0] [1] [1 1 0] tp(mark(x)) = [0 0 0]x + [0] >= [0 0 0]x = tp(chk(mat(f(f(f(f(f(f(f(f(f(f(X())))))))))),x))) [0 0 0] [0] [0 0 0] problem: active(f(x)) -> mark(f(f(x))) mat(f(x),f(y())) -> f(mat(x,y())) chk(no(c())) -> active(c()) mat(f(x),c()) -> no(c()) f(active(x)) -> active(f(x)) f(no(x)) -> no(f(x)) f(mark(x)) -> mark(f(x)) Matrix Interpretation Processor: dim=3 interpretation: [1 0 0] [1] [chk](x0) = [0 0 0]x0 + [1] [0 0 0] [0], [0] [c] = [0] [0], [1 0 0] [1] [active](x0) = [0 0 0]x0 + [0] [0 0 0] [0], [1 0 0] [no](x0) = [0 0 0]x0 [0 0 0] , [1 0 0] [f](x0) = [0 0 0]x0 [0 0 0] , [0] [y] = [0] [0], [1 0 0] [1 0 0] [mat](x0, x1) = [0 0 0]x0 + [0 0 0]x1 [0 0 0] [0 0 0] , [1 1 0] [mark](x0) = [0 0 0]x0 [0 0 0] orientation: [1 0 0] [1] [1 0 0] active(f(x)) = [0 0 0]x + [0] >= [0 0 0]x = mark(f(f(x))) [0 0 0] [0] [0 0 0] [1 0 0] [1 0 0] mat(f(x),f(y())) = [0 0 0]x >= [0 0 0]x = f(mat(x,y())) [0 0 0] [0 0 0] [1] [1] chk(no(c())) = [1] >= [0] = active(c()) [0] [0] [1 0 0] [0] mat(f(x),c()) = [0 0 0]x >= [0] = no(c()) [0 0 0] [0] [1 0 0] [1] [1 0 0] [1] f(active(x)) = [0 0 0]x + [0] >= [0 0 0]x + [0] = active(f(x)) [0 0 0] [0] [0 0 0] [0] [1 0 0] [1 0 0] f(no(x)) = [0 0 0]x >= [0 0 0]x = no(f(x)) [0 0 0] [0 0 0] [1 1 0] [1 0 0] f(mark(x)) = [0 0 0]x >= [0 0 0]x = mark(f(x)) [0 0 0] [0 0 0] problem: mat(f(x),f(y())) -> f(mat(x,y())) chk(no(c())) -> active(c()) mat(f(x),c()) -> no(c()) f(active(x)) -> active(f(x)) f(no(x)) -> no(f(x)) f(mark(x)) -> mark(f(x)) Matrix Interpretation Processor: dim=3 interpretation: [1 0 0] [1] [chk](x0) = [0 1 0]x0 + [0] [0 0 0] [0], [0] [c] = [0] [0], [1 1 0] [0] [active](x0) = [0 0 1]x0 + [1] [0 1 0] [0], [1 1 0] [0] [no](x0) = [0 0 1]x0 + [1] [0 1 0] [0], [1 1 0] [0] [f](x0) = [0 0 1]x0 + [1] [0 1 0] [0], [0] [y] = [0] [0], [1 0 0] [1 1 0] [0] [mat](x0, x1) = [0 0 0]x0 + [0 0 0]x1 + [1] [0 0 0] [0 1 0] [0], [1] [mark](x0) = x0 + [0] [0] orientation: [1 1 0] [1] [1 0 0] [1] mat(f(x),f(y())) = [0 0 0]x + [1] >= [0 0 0]x + [1] = f(mat(x,y())) [0 0 0] [1] [0 0 0] [1] [1] [0] chk(no(c())) = [1] >= [1] = active(c()) [0] [0] [1 1 0] [0] [0] mat(f(x),c()) = [0 0 0]x + [1] >= [1] = no(c()) [0 0 0] [0] [0] [1 1 1] [1] [1 1 1] [1] f(active(x)) = [0 1 0]x + [1] >= [0 1 0]x + [1] = active(f(x)) [0 0 1] [1] [0 0 1] [1] [1 1 1] [1] [1 1 1] [1] f(no(x)) = [0 1 0]x + [1] >= [0 1 0]x + [1] = no(f(x)) [0 0 1] [1] [0 0 1] [1] [1 1 0] [1] [1 1 0] [1] f(mark(x)) = [0 0 1]x + [1] >= [0 0 1]x + [1] = mark(f(x)) [0 1 0] [0] [0 1 0] [0] problem: mat(f(x),f(y())) -> f(mat(x,y())) mat(f(x),c()) -> no(c()) f(active(x)) -> active(f(x)) f(no(x)) -> no(f(x)) f(mark(x)) -> mark(f(x)) Matrix Interpretation Processor: dim=1 interpretation: [c] = 0, [active](x0) = 4x0 + 3, [no](x0) = 5x0 + 4, [f](x0) = 4x0 + 3, [y] = 1, [mat](x0, x1) = 4x0 + x1 + 4, [mark](x0) = 3x0 + 2 orientation: mat(f(x),f(y())) = 16x + 23 >= 16x + 23 = f(mat(x,y())) mat(f(x),c()) = 16x + 16 >= 4 = no(c()) f(active(x)) = 16x + 15 >= 16x + 15 = active(f(x)) f(no(x)) = 20x + 19 >= 20x + 19 = no(f(x)) f(mark(x)) = 12x + 11 >= 12x + 11 = mark(f(x)) problem: mat(f(x),f(y())) -> f(mat(x,y())) f(active(x)) -> active(f(x)) f(no(x)) -> no(f(x)) f(mark(x)) -> mark(f(x)) Matrix Interpretation Processor: dim=1 interpretation: [active](x0) = x0 + 2, [no](x0) = x0 + 2, [f](x0) = x0 + 1, [y] = 3, [mat](x0, x1) = x0 + 3x1 + 7, [mark](x0) = x0 orientation: mat(f(x),f(y())) = x + 20 >= x + 17 = f(mat(x,y())) f(active(x)) = x + 3 >= x + 3 = active(f(x)) f(no(x)) = x + 3 >= x + 3 = no(f(x)) f(mark(x)) = x + 1 >= x + 1 = mark(f(x)) problem: f(active(x)) -> active(f(x)) f(no(x)) -> no(f(x)) f(mark(x)) -> mark(f(x)) Matrix Interpretation Processor: dim=1 interpretation: [active](x0) = x0 + 1, [no](x0) = x0, [f](x0) = 4x0 + 4, [mark](x0) = 4x0 + 4 orientation: f(active(x)) = 4x + 8 >= 4x + 5 = active(f(x)) f(no(x)) = 4x + 4 >= 4x + 4 = no(f(x)) f(mark(x)) = 16x + 20 >= 16x + 20 = mark(f(x)) problem: f(no(x)) -> no(f(x)) f(mark(x)) -> mark(f(x)) Matrix Interpretation Processor: dim=3 interpretation: [1 0 1] [0] [no](x0) = [0 1 0]x0 + [1] [0 1 0] [1], [1 0 1] [f](x0) = [0 1 0]x0 [0 1 0] , [1 0 1] [1] [mark](x0) = [0 1 0]x0 + [0] [0 1 0] [0] orientation: [1 1 1] [1] [1 1 1] [0] f(no(x)) = [0 1 0]x + [1] >= [0 1 0]x + [1] = no(f(x)) [0 1 0] [1] [0 1 0] [1] [1 1 1] [1] [1 1 1] [1] f(mark(x)) = [0 1 0]x + [0] >= [0 1 0]x + [0] = mark(f(x)) [0 1 0] [0] [0 1 0] [0] problem: f(mark(x)) -> mark(f(x)) Matrix Interpretation Processor: dim=3 interpretation: [1 1 0] [f](x0) = [0 1 0]x0 [0 0 0] , [1 0 0] [0] [mark](x0) = [0 1 0]x0 + [1] [0 0 0] [0] orientation: [1 1 0] [1] [1 1 0] [0] f(mark(x)) = [0 1 0]x + [1] >= [0 1 0]x + [1] = mark(f(x)) [0 0 0] [0] [0 0 0] [0] problem: Qed