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] [1] [tp](x0) = [0 0 0]x0 + [0] [0 1 1] [1], [0] [c] = [1] [0], [0] [y] = [0] [1], [1 0 0] [1 1 0] [mat](x0, x1) = [0 0 0]x0 + [0 1 0]x1 [0 0 0] [0 0 0] , [0] [X] = [0] [0], [1 0 1] [chk](x0) = [0 1 0]x0 [0 0 1] , [1] [no](x0) = x0 + [0] [0], [1 0 0] [mark](x0) = [0 0 1]x0 [0 1 0] , [1] [active](x0) = x0 + [0] [0], [1 0 0] [f](x0) = [0 0 1]x0 [0 1 0] orientation: [1 0 0] [1] [1 0 0] active(f(x)) = [0 0 1]x + [0] >= [0 0 1]x = mark(f(f(x))) [0 1 0] [0] [0 1 0] [1 1 0] [1] [1 1 0] chk(no(f(x))) = [0 0 1]x + [0] >= [0 0 0]x = f(chk(mat(f(f(f(f(f(f(f(f(f(f(X())))))))))),x))) [0 1 0] [0] [0 1 0] [1 0 0] [1] [1 0 0] mat(f(x),f(y())) = [0 0 0]x + [1] >= [0 0 0]x = f(mat(x,y())) [0 0 0] [0] [0 0 0] [1] [1] chk(no(c())) = [1] >= [1] = active(c()) [0] [0] [1 0 0] [1] [1] mat(f(x),c()) = [0 0 0]x + [1] >= [1] = no(c()) [0 0 0] [0] [0] [1 0 0] [1] [1 0 0] [1] f(active(x)) = [0 0 1]x + [0] >= [0 0 1]x + [0] = active(f(x)) [0 1 0] [0] [0 1 0] [0] [1 0 0] [1] [1 0 0] [1] f(no(x)) = [0 0 1]x + [0] >= [0 0 1]x + [0] = no(f(x)) [0 1 0] [0] [0 1 0] [0] f(mark(x)) = x >= x = mark(f(x)) [1 1 0] [1] [1 1 0] [1] tp(mark(x)) = [0 0 0]x + [0] >= [0 0 0]x + [0] = tp(chk(mat(f(f(f(f(f(f(f(f(f(f(X())))))))))),x))) [0 1 1] [1] [0 1 0] [1] problem: 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))) Matrix Interpretation Processor: dim=3 interpretation: [1 0 0] [0] [tp](x0) = [0 0 0]x0 + [1] [0 0 0] [0], [0] [c] = [1] [0], [1 0 0] [1 1 0] [0] [mat](x0, x1) = [0 0 0]x0 + [0 0 0]x1 + [1] [0 0 0] [0 0 0] [1], [0] [X] = [0] [0], [1 0 1] [chk](x0) = [1 0 1]x0 [0 0 1] , [1 0 0] [no](x0) = [0 0 0]x0 [0 1 0] , [1 1 0] [1] [mark](x0) = [0 0 0]x0 + [0] [0 0 0] [0], [1 0 0] [active](x0) = [0 0 0]x0 [0 0 0] , [1 0 0] [f](x0) = [0 0 0]x0 [0 0 0] orientation: [1] [0] chk(no(c())) = [1] >= [0] = active(c()) [1] [0] [1 0 0] [1] [0] mat(f(x),c()) = [0 0 0]x + [1] >= [0] = no(c()) [0 0 0] [1] [1] [1 0 0] [1 0 0] f(active(x)) = [0 0 0]x >= [0 0 0]x = active(f(x)) [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] [1 0 0] [1] f(mark(x)) = [0 0 0]x + [0] >= [0 0 0]x + [0] = mark(f(x)) [0 0 0] [0] [0 0 0] [0] [1 1 0] [1] [1 1 0] [1] tp(mark(x)) = [0 0 0]x + [1] >= [0 0 0]x + [1] = tp(chk(mat(f(f(f(f(f(f(f(f(f(f(X())))))))))),x))) [0 0 0] [0] [0 0 0] [0] problem: 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))) Matrix Interpretation Processor: dim=3 interpretation: [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 0 0]x1 [0 0 0] [0 0 0] , [0] [X] = [0] [0], [1 0 0] [chk](x0) = [0 0 0]x0 [0 0 0] , [1] [no](x0) = x0 + [1] [0], [0] [mark](x0) = x0 + [1] [1], [1 1 0] [1] [active](x0) = [0 1 0]x0 + [0] [0 0 1] [0], [1 0 1] [f](x0) = [0 1 0]x0 [0 1 0] orientation: [1 1 1] [1] [1 1 1] [1] f(active(x)) = [0 1 0]x + [0] >= [0 1 0]x + [0] = active(f(x)) [0 1 0] [0] [0 1 0] [0] [1 0 1] [1] [1 0 1] [1] f(no(x)) = [0 1 0]x + [1] >= [0 1 0]x + [1] = no(f(x)) [0 1 0] [1] [0 1 0] [0] [1 0 1] [1] [1 0 1] [0] f(mark(x)) = [0 1 0]x + [1] >= [0 1 0]x + [1] = mark(f(x)) [0 1 0] [1] [0 1 0] [1] [1 0 0] [1 0 0] tp(mark(x)) = [0 0 0]x >= [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] problem: f(active(x)) -> active(f(x)) f(no(x)) -> no(f(x)) tp(mark(x)) -> tp(chk(mat(f(f(f(f(f(f(f(f(f(f(X())))))))))),x))) DP Processor: DPs: f#(active(x)) -> f#(x) f#(no(x)) -> f#(x) tp#(mark(x)) -> f#(X()) tp#(mark(x)) -> f#(f(X())) tp#(mark(x)) -> f#(f(f(X()))) tp#(mark(x)) -> f#(f(f(f(X())))) tp#(mark(x)) -> f#(f(f(f(f(X()))))) tp#(mark(x)) -> f#(f(f(f(f(f(X())))))) tp#(mark(x)) -> f#(f(f(f(f(f(f(X()))))))) tp#(mark(x)) -> f#(f(f(f(f(f(f(f(X())))))))) tp#(mark(x)) -> f#(f(f(f(f(f(f(f(f(X()))))))))) tp#(mark(x)) -> f#(f(f(f(f(f(f(f(f(f(X())))))))))) tp#(mark(x)) -> tp#(chk(mat(f(f(f(f(f(f(f(f(f(f(X())))))))))),x))) TRS: f(active(x)) -> active(f(x)) f(no(x)) -> no(f(x)) tp(mark(x)) -> tp(chk(mat(f(f(f(f(f(f(f(f(f(f(X())))))))))),x))) TDG Processor: DPs: f#(active(x)) -> f#(x) f#(no(x)) -> f#(x) tp#(mark(x)) -> f#(X()) tp#(mark(x)) -> f#(f(X())) tp#(mark(x)) -> f#(f(f(X()))) tp#(mark(x)) -> f#(f(f(f(X())))) tp#(mark(x)) -> f#(f(f(f(f(X()))))) tp#(mark(x)) -> f#(f(f(f(f(f(X())))))) tp#(mark(x)) -> f#(f(f(f(f(f(f(X()))))))) tp#(mark(x)) -> f#(f(f(f(f(f(f(f(X())))))))) tp#(mark(x)) -> f#(f(f(f(f(f(f(f(f(X()))))))))) tp#(mark(x)) -> f#(f(f(f(f(f(f(f(f(f(X())))))))))) tp#(mark(x)) -> tp#(chk(mat(f(f(f(f(f(f(f(f(f(f(X())))))))))),x))) TRS: f(active(x)) -> active(f(x)) f(no(x)) -> no(f(x)) tp(mark(x)) -> tp(chk(mat(f(f(f(f(f(f(f(f(f(f(X())))))))))),x))) graph: tp#(mark(x)) -> tp#(chk(mat(f(f(f(f(f(f(f(f(f(f(X())))))))))),x))) -> tp#(mark(x)) -> tp#(chk(mat(f(f(f(f(f(f(f(f(f(f(X())))))))))),x))) tp#(mark(x)) -> tp#(chk(mat(f(f(f(f(f(f(f(f(f(f(X())))))))))),x))) -> tp#(mark(x)) -> f#(f(f(f(f(f(f(f(f(f(X())))))))))) tp#(mark(x)) -> tp#(chk(mat(f(f(f(f(f(f(f(f(f(f(X())))))))))),x))) -> tp#(mark(x)) -> f#(f(f(f(f(f(f(f(f(X()))))))))) tp#(mark(x)) -> tp#(chk(mat(f(f(f(f(f(f(f(f(f(f(X())))))))))),x))) -> tp#(mark(x)) -> f#(f(f(f(f(f(f(f(X())))))))) tp#(mark(x)) -> tp#(chk(mat(f(f(f(f(f(f(f(f(f(f(X())))))))))),x))) -> tp#(mark(x)) -> f#(f(f(f(f(f(f(X()))))))) tp#(mark(x)) -> tp#(chk(mat(f(f(f(f(f(f(f(f(f(f(X())))))))))),x))) -> tp#(mark(x)) -> f#(f(f(f(f(f(X())))))) tp#(mark(x)) -> tp#(chk(mat(f(f(f(f(f(f(f(f(f(f(X())))))))))),x))) -> tp#(mark(x)) -> f#(f(f(f(f(X()))))) tp#(mark(x)) -> tp#(chk(mat(f(f(f(f(f(f(f(f(f(f(X())))))))))),x))) -> tp#(mark(x)) -> f#(f(f(f(X())))) tp#(mark(x)) -> tp#(chk(mat(f(f(f(f(f(f(f(f(f(f(X())))))))))),x))) -> tp#(mark(x)) -> f#(f(f(X()))) tp#(mark(x)) -> tp#(chk(mat(f(f(f(f(f(f(f(f(f(f(X())))))))))),x))) -> tp#(mark(x)) -> f#(f(X())) tp#(mark(x)) -> tp#(chk(mat(f(f(f(f(f(f(f(f(f(f(X())))))))))),x))) -> tp#(mark(x)) -> f#(X()) tp#(mark(x)) -> f#(X()) -> f#(no(x)) -> f#(x) tp#(mark(x)) -> f#(X()) -> f#(active(x)) -> f#(x) tp#(mark(x)) -> f#(f(X())) -> f#(no(x)) -> f#(x) tp#(mark(x)) -> f#(f(X())) -> f#(active(x)) -> f#(x) tp#(mark(x)) -> f#(f(f(X()))) -> f#(no(x)) -> f#(x) tp#(mark(x)) -> f#(f(f(X()))) -> f#(active(x)) -> f#(x) tp#(mark(x)) -> f#(f(f(f(X())))) -> f#(no(x)) -> f#(x) tp#(mark(x)) -> f#(f(f(f(X())))) -> f#(active(x)) -> f#(x) tp#(mark(x)) -> f#(f(f(f(f(X()))))) -> f#(no(x)) -> f#(x) tp#(mark(x)) -> f#(f(f(f(f(X()))))) -> f#(active(x)) -> f#(x) tp#(mark(x)) -> f#(f(f(f(f(f(X())))))) -> f#(no(x)) -> f#(x) tp#(mark(x)) -> f#(f(f(f(f(f(X())))))) -> f#(active(x)) -> f#(x) tp#(mark(x)) -> f#(f(f(f(f(f(f(X()))))))) -> f#(no(x)) -> f#(x) tp#(mark(x)) -> f#(f(f(f(f(f(f(X()))))))) -> f#(active(x)) -> f#(x) tp#(mark(x)) -> f#(f(f(f(f(f(f(f(X())))))))) -> f#(no(x)) -> f#(x) tp#(mark(x)) -> f#(f(f(f(f(f(f(f(X())))))))) -> f#(active(x)) -> f#(x) tp#(mark(x)) -> f#(f(f(f(f(f(f(f(f(X()))))))))) -> f#(no(x)) -> f#(x) tp#(mark(x)) -> f#(f(f(f(f(f(f(f(f(X()))))))))) -> f#(active(x)) -> f#(x) tp#(mark(x)) -> f#(f(f(f(f(f(f(f(f(f(X())))))))))) -> f#(no(x)) -> f#(x) tp#(mark(x)) -> f#(f(f(f(f(f(f(f(f(f(X())))))))))) -> f#(active(x)) -> f#(x) f#(no(x)) -> f#(x) -> f#(no(x)) -> f#(x) f#(no(x)) -> f#(x) -> f#(active(x)) -> f#(x) f#(active(x)) -> f#(x) -> f#(no(x)) -> f#(x) f#(active(x)) -> f#(x) -> f#(active(x)) -> f#(x) SCC Processor: #sccs: 2 #rules: 3 #arcs: 35/169 DPs: tp#(mark(x)) -> tp#(chk(mat(f(f(f(f(f(f(f(f(f(f(X())))))))))),x))) TRS: f(active(x)) -> active(f(x)) f(no(x)) -> no(f(x)) tp(mark(x)) -> tp(chk(mat(f(f(f(f(f(f(f(f(f(f(X())))))))))),x))) EDG Processor: DPs: tp#(mark(x)) -> tp#(chk(mat(f(f(f(f(f(f(f(f(f(f(X())))))))))),x))) TRS: f(active(x)) -> active(f(x)) f(no(x)) -> no(f(x)) tp(mark(x)) -> tp(chk(mat(f(f(f(f(f(f(f(f(f(f(X())))))))))),x))) graph: Qed DPs: f#(active(x)) -> f#(x) f#(no(x)) -> f#(x) TRS: f(active(x)) -> active(f(x)) f(no(x)) -> no(f(x)) tp(mark(x)) -> tp(chk(mat(f(f(f(f(f(f(f(f(f(f(X())))))))))),x))) Subterm Criterion Processor: simple projection: pi(f#) = 0 problem: DPs: TRS: f(active(x)) -> active(f(x)) f(no(x)) -> no(f(x)) tp(mark(x)) -> tp(chk(mat(f(f(f(f(f(f(f(f(f(f(X())))))))))),x))) Qed