NO Problem: zeros() -> cons(0(),n__zeros()) U11(tt(),L) -> U12(tt(),activate(L)) U12(tt(),L) -> s(length(activate(L))) U21(tt(),IL,M,N) -> U22(tt(),activate(IL),activate(M),activate(N)) U22(tt(),IL,M,N) -> U23(tt(),activate(IL),activate(M),activate(N)) U23(tt(),IL,M,N) -> cons(activate(N),n__take(activate(M),activate(IL))) length(nil()) -> 0() length(cons(N,L)) -> U11(tt(),activate(L)) take(0(),IL) -> nil() take(s(M),cons(N,IL)) -> U21(tt(),activate(IL),M,N) zeros() -> n__zeros() take(X1,X2) -> n__take(X1,X2) activate(n__zeros()) -> zeros() activate(n__take(X1,X2)) -> take(X1,X2) activate(X) -> X Proof: Matrix Interpretation Processor: dim=1 interpretation: [tt] = 0, [take](x0, x1) = x0 + x1 + 4, [length](x0) = x0, [0] = 0, [cons](x0, x1) = x0 + x1, [U11](x0, x1) = x0 + x1, [U21](x0, x1, x2, x3) = 2x0 + x1 + x2 + x3 + 4, [zeros] = 2, [U12](x0, x1) = x0 + x1, [nil] = 4, [U23](x0, x1, x2, x3) = 4x0 + x1 + x2 + x3 + 4, [U22](x0, x1, x2, x3) = 2x0 + x1 + x2 + x3 + 4, [s](x0) = x0, [n__take](x0, x1) = x0 + x1 + 4, [activate](x0) = x0, [n__zeros] = 2 orientation: zeros() = 2 >= 2 = cons(0(),n__zeros()) U11(tt(),L) = L >= L = U12(tt(),activate(L)) U12(tt(),L) = L >= L = s(length(activate(L))) U21(tt(),IL,M,N) = IL + M + N + 4 >= IL + M + N + 4 = U22(tt(),activate(IL),activate(M),activate(N)) U22(tt(),IL,M,N) = IL + M + N + 4 >= IL + M + N + 4 = U23(tt(),activate(IL),activate(M),activate(N)) U23(tt(),IL,M,N) = IL + M + N + 4 >= IL + M + N + 4 = cons(activate(N),n__take(activate(M),activate(IL))) length(nil()) = 4 >= 0 = 0() length(cons(N,L)) = L + N >= L = U11(tt(),activate(L)) take(0(),IL) = IL + 4 >= 4 = nil() take(s(M),cons(N,IL)) = IL + M + N + 4 >= IL + M + N + 4 = U21(tt(),activate(IL),M,N) zeros() = 2 >= 2 = n__zeros() take(X1,X2) = X1 + X2 + 4 >= X1 + X2 + 4 = n__take(X1,X2) activate(n__zeros()) = 2 >= 2 = zeros() activate(n__take(X1,X2)) = X1 + X2 + 4 >= X1 + X2 + 4 = take(X1,X2) activate(X) = X >= X = X problem: zeros() -> cons(0(),n__zeros()) U11(tt(),L) -> U12(tt(),activate(L)) U12(tt(),L) -> s(length(activate(L))) U21(tt(),IL,M,N) -> U22(tt(),activate(IL),activate(M),activate(N)) U22(tt(),IL,M,N) -> U23(tt(),activate(IL),activate(M),activate(N)) U23(tt(),IL,M,N) -> cons(activate(N),n__take(activate(M),activate(IL))) length(cons(N,L)) -> U11(tt(),activate(L)) take(0(),IL) -> nil() take(s(M),cons(N,IL)) -> U21(tt(),activate(IL),M,N) zeros() -> n__zeros() take(X1,X2) -> n__take(X1,X2) activate(n__zeros()) -> zeros() activate(n__take(X1,X2)) -> take(X1,X2) activate(X) -> X Matrix Interpretation Processor: dim=1 interpretation: [tt] = 0, [take](x0, x1) = x0 + x1 + 1, [length](x0) = 4x0, [0] = 0, [cons](x0, x1) = 2x0 + x1, [U11](x0, x1) = x0 + 4x1, [U21](x0, x1, x2, x3) = 2x0 + x1 + x2 + 2x3 + 1, [zeros] = 0, [U12](x0, x1) = 2x0 + 4x1, [nil] = 0, [U23](x0, x1, x2, x3) = x0 + x1 + x2 + 2x3 + 1, [U22](x0, x1, x2, x3) = 4x0 + x1 + x2 + 2x3 + 1, [s](x0) = x0, [n__take](x0, x1) = x0 + x1 + 1, [activate](x0) = x0, [n__zeros] = 0 orientation: zeros() = 0 >= 0 = cons(0(),n__zeros()) U11(tt(),L) = 4L >= 4L = U12(tt(),activate(L)) U12(tt(),L) = 4L >= 4L = s(length(activate(L))) U21(tt(),IL,M,N) = IL + M + 2N + 1 >= IL + M + 2N + 1 = U22(tt(),activate(IL),activate(M),activate(N)) U22(tt(),IL,M,N) = IL + M + 2N + 1 >= IL + M + 2N + 1 = U23(tt(),activate(IL),activate(M),activate(N)) U23(tt(),IL,M,N) = IL + M + 2N + 1 >= IL + M + 2N + 1 = cons(activate(N),n__take(activate(M),activate(IL))) length(cons(N,L)) = 4L + 8N >= 4L = U11(tt(),activate(L)) take(0(),IL) = IL + 1 >= 0 = nil() take(s(M),cons(N,IL)) = IL + M + 2N + 1 >= IL + M + 2N + 1 = U21(tt(),activate(IL),M,N) zeros() = 0 >= 0 = n__zeros() take(X1,X2) = X1 + X2 + 1 >= X1 + X2 + 1 = n__take(X1,X2) activate(n__zeros()) = 0 >= 0 = zeros() activate(n__take(X1,X2)) = X1 + X2 + 1 >= X1 + X2 + 1 = take(X1,X2) activate(X) = X >= X = X problem: zeros() -> cons(0(),n__zeros()) U11(tt(),L) -> U12(tt(),activate(L)) U12(tt(),L) -> s(length(activate(L))) U21(tt(),IL,M,N) -> U22(tt(),activate(IL),activate(M),activate(N)) U22(tt(),IL,M,N) -> U23(tt(),activate(IL),activate(M),activate(N)) U23(tt(),IL,M,N) -> cons(activate(N),n__take(activate(M),activate(IL))) length(cons(N,L)) -> U11(tt(),activate(L)) take(s(M),cons(N,IL)) -> U21(tt(),activate(IL),M,N) zeros() -> n__zeros() take(X1,X2) -> n__take(X1,X2) activate(n__zeros()) -> zeros() activate(n__take(X1,X2)) -> take(X1,X2) activate(X) -> X Unfolding Processor: loop length: 7 terms: U11(tt(),n__zeros()) U12(tt(),activate(n__zeros())) s(length(activate(activate(n__zeros())))) s(length(activate(n__zeros()))) s(length(zeros())) s(length(cons(0(),n__zeros()))) s(U11(tt(),activate(n__zeros()))) context: s([]) substitution: Qed