WORST_CASE(?,O(n^2)) * Step 1: NaturalPI WORST_CASE(?,O(n^2)) + Considered Problem: - Strict TRS: Concat(Concat(s,t),u) -> Concat(s,Concat(t,u)) Concat(Cons_sum(xi,k,s),t) -> Cons_sum(xi,k,Concat(s,t)) Concat(Cons_usual(x,m,s),t) -> Cons_usual(x,Term_sub(m,t),Concat(s,t)) Concat(Id(),s) -> s Frozen(m,Sum_constant(Left()),n,s) -> Term_sub(m,s) Frozen(m,Sum_constant(Right()),n,s) -> Term_sub(n,s) Frozen(m,Sum_term_var(xi),n,s) -> Case(Term_sub(m,s),xi,Term_sub(n,s)) Sum_sub(xi,Cons_sum(psi,k,s)) -> Sum_constant(k) Sum_sub(xi,Cons_sum(psi,k,s)) -> Sum_sub(xi,s) Sum_sub(xi,Cons_usual(y,m,s)) -> Sum_sub(xi,s) Sum_sub(xi,Id()) -> Sum_term_var(xi) Term_sub(Case(m,xi,n),s) -> Frozen(m,Sum_sub(xi,s),n,s) Term_sub(Term_app(m,n),s) -> Term_app(Term_sub(m,s),Term_sub(n,s)) Term_sub(Term_inl(m),s) -> Term_inl(Term_sub(m,s)) Term_sub(Term_inr(m),s) -> Term_inr(Term_sub(m,s)) Term_sub(Term_pair(m,n),s) -> Term_pair(Term_sub(m,s),Term_sub(n,s)) Term_sub(Term_sub(m,s),t) -> Term_sub(m,Concat(s,t)) Term_sub(Term_var(x),Cons_sum(xi,k,s)) -> Term_sub(Term_var(x),s) Term_sub(Term_var(x),Cons_usual(y,m,s)) -> m Term_sub(Term_var(x),Cons_usual(y,m,s)) -> Term_sub(Term_var(x),s) Term_sub(Term_var(x),Id()) -> Term_var(x) - Signature: {Concat/2,Frozen/4,Sum_sub/2,Term_sub/2} / {Case/3,Cons_sum/3,Cons_usual/3,Id/0,Left/0,Right/0 ,Sum_constant/1,Sum_term_var/1,Term_app/2,Term_inl/1,Term_inr/1,Term_pair/2,Term_var/1} - Obligation: innermost runtime complexity wrt. defined symbols {Concat,Frozen,Sum_sub,Term_sub} and constructors {Case ,Cons_sum,Cons_usual,Id,Left,Right,Sum_constant,Sum_term_var,Term_app,Term_inl,Term_inr,Term_pair,Term_var} + Applied Processor: NaturalPI {shape = Mixed 2, restrict = NoRestrict, uargs = UArgs, urules = URules, selector = Nothing} + Details: We apply a polynomial interpretation of kind constructor-based(mixed(2)): The following argument positions are considered usable: uargs(Case) = {1,3}, uargs(Concat) = {2}, uargs(Cons_sum) = {3}, uargs(Cons_usual) = {2,3}, uargs(Frozen) = {2}, uargs(Term_app) = {1,2}, uargs(Term_inl) = {1}, uargs(Term_inr) = {1}, uargs(Term_pair) = {1,2}, uargs(Term_sub) = {2} Following symbols are considered usable: {Concat,Frozen,Sum_sub,Term_sub} TcT has computed the following interpretation: p(Case) = 2 + x1 + x3 p(Concat) = 1 + x1 + x1*x2 + x1^2 + x2 p(Cons_sum) = 2 + x1 + x2 + x3 p(Cons_usual) = 2 + x1 + x2 + x3 p(Frozen) = 3 + x1 + x1*x4 + x1^2 + x2 + x3 + x3*x4 + x3^2 + 2*x4 p(Id) = 2 p(Left) = 2 p(Right) = 0 p(Sum_constant) = x1 p(Sum_sub) = 2 + x2 p(Sum_term_var) = 2 p(Term_app) = 2 + x1 + x2 p(Term_inl) = 1 + x1 p(Term_inr) = 1 + x1 p(Term_pair) = 2 + x1 + x2 p(Term_sub) = 1 + x1 + x1*x2 + x1^2 + x2 p(Term_var) = x1 Following rules are strictly oriented: Concat(Concat(s,t),u) = 3 + 3*s + 5*s*t + s*t*u + 2*s*t^2 + s*u + 4*s^2 + 4*s^2*t + s^2*t^2 + s^2*u + 2*s^3 + 2*s^3*t + s^4 + 3*t + t*u + t^2 + 2*u > 2 + 2*s + s*t + s*t*u + s*t^2 + s*u + s^2 + t + t*u + t^2 + u = Concat(s,Concat(t,u)) Concat(Cons_sum(xi,k,s),t) = 7 + 5*k + 2*k*s + k*t + 2*k*xi + k^2 + 5*s + s*t + 2*s*xi + s^2 + 3*t + t*xi + 5*xi + xi^2 > 3 + k + s + s*t + s^2 + t + xi = Cons_sum(xi,k,Concat(s,t)) Concat(Cons_usual(x,m,s),t) = 7 + 5*m + 2*m*s + m*t + 2*m*x + m^2 + 5*s + s*t + 2*s*x + s^2 + 3*t + t*x + 5*x + x^2 > 4 + m + m*t + m^2 + s + s*t + s^2 + 2*t + x = Cons_usual(x,Term_sub(m,t),Concat(s,t)) Concat(Id(),s) = 7 + 3*s > s = s Frozen(m,Sum_constant(Left()),n,s) = 5 + m + m*s + m^2 + n + n*s + n^2 + 2*s > 1 + m + m*s + m^2 + s = Term_sub(m,s) Frozen(m,Sum_constant(Right()),n,s) = 3 + m + m*s + m^2 + n + n*s + n^2 + 2*s > 1 + n + n*s + n^2 + s = Term_sub(n,s) Frozen(m,Sum_term_var(xi),n,s) = 5 + m + m*s + m^2 + n + n*s + n^2 + 2*s > 4 + m + m*s + m^2 + n + n*s + n^2 + 2*s = Case(Term_sub(m,s),xi,Term_sub(n,s)) Sum_sub(xi,Cons_sum(psi,k,s)) = 4 + k + psi + s > k = Sum_constant(k) Sum_sub(xi,Cons_sum(psi,k,s)) = 4 + k + psi + s > 2 + s = Sum_sub(xi,s) Sum_sub(xi,Cons_usual(y,m,s)) = 4 + m + s + y > 2 + s = Sum_sub(xi,s) Sum_sub(xi,Id()) = 4 > 2 = Sum_term_var(xi) Term_sub(Case(m,xi,n),s) = 7 + 5*m + 2*m*n + m*s + m^2 + 5*n + n*s + n^2 + 3*s > 5 + m + m*s + m^2 + n + n*s + n^2 + 3*s = Frozen(m,Sum_sub(xi,s),n,s) Term_sub(Term_app(m,n),s) = 7 + 5*m + 2*m*n + m*s + m^2 + 5*n + n*s + n^2 + 3*s > 4 + m + m*s + m^2 + n + n*s + n^2 + 2*s = Term_app(Term_sub(m,s),Term_sub(n,s)) Term_sub(Term_inl(m),s) = 3 + 3*m + m*s + m^2 + 2*s > 2 + m + m*s + m^2 + s = Term_inl(Term_sub(m,s)) Term_sub(Term_inr(m),s) = 3 + 3*m + m*s + m^2 + 2*s > 2 + m + m*s + m^2 + s = Term_inr(Term_sub(m,s)) Term_sub(Term_pair(m,n),s) = 7 + 5*m + 2*m*n + m*s + m^2 + 5*n + n*s + n^2 + 3*s > 4 + m + m*s + m^2 + n + n*s + n^2 + 2*s = Term_pair(Term_sub(m,s),Term_sub(n,s)) Term_sub(Term_sub(m,s),t) = 3 + 3*m + 5*m*s + m*s*t + 2*m*s^2 + m*t + 4*m^2 + 4*m^2*s + m^2*s^2 + m^2*t + 2*m^3 + 2*m^3*s + m^4 + 3*s + s*t + s^2 + 2*t > 2 + 2*m + m*s + m*s*t + m*s^2 + m*t + m^2 + s + s*t + s^2 + t = Term_sub(m,Concat(s,t)) Term_sub(Term_var(x),Cons_sum(xi,k,s)) = 3 + k + k*x + s + s*x + 3*x + x*xi + x^2 + xi > 1 + s + s*x + x + x^2 = Term_sub(Term_var(x),s) Term_sub(Term_var(x),Cons_usual(y,m,s)) = 3 + m + m*x + s + s*x + 3*x + x*y + x^2 + y > m = m Term_sub(Term_var(x),Cons_usual(y,m,s)) = 3 + m + m*x + s + s*x + 3*x + x*y + x^2 + y > 1 + s + s*x + x + x^2 = Term_sub(Term_var(x),s) Term_sub(Term_var(x),Id()) = 3 + 3*x + x^2 > x = Term_var(x) Following rules are (at-least) weakly oriented: WORST_CASE(?,O(n^2))