WORST_CASE(Omega(n^1),O(n^1)) * Step 1: Sum WORST_CASE(Omega(n^1),O(n^1)) + Considered Problem: - Strict TRS: ++(x,g(y,z)) -> g(++(x,y),z) ++(x,nil()) -> x f(x,g(y,z)) -> g(f(x,y),z) f(x,nil()) -> g(nil(),x) max(g(g(g(x,y),z),u())) -> max'(max(g(g(x,y),z)),u()) max(g(g(nil(),x),y)) -> max'(x,y) mem(x,max(x)) -> not(null(x)) mem(g(x,y),z) -> or(=(y,z),mem(x,z)) mem(nil(),y) -> false() null(g(x,y)) -> false() null(nil()) -> true() - Signature: {++/2,f/2,max/1,mem/2,null/1} / {=/2,false/0,g/2,max'/2,nil/0,not/1,or/2,true/0,u/0} - Obligation: innermost runtime complexity wrt. defined symbols {++,f,max,mem,null} and constructors {=,false,g,max',nil ,not,or,true,u} + Applied Processor: Sum {left = someStrategy, right = someStrategy} + Details: () ** Step 1.a:1: DecreasingLoops WORST_CASE(Omega(n^1),?) + Considered Problem: - Strict TRS: ++(x,g(y,z)) -> g(++(x,y),z) ++(x,nil()) -> x f(x,g(y,z)) -> g(f(x,y),z) f(x,nil()) -> g(nil(),x) max(g(g(g(x,y),z),u())) -> max'(max(g(g(x,y),z)),u()) max(g(g(nil(),x),y)) -> max'(x,y) mem(x,max(x)) -> not(null(x)) mem(g(x,y),z) -> or(=(y,z),mem(x,z)) mem(nil(),y) -> false() null(g(x,y)) -> false() null(nil()) -> true() - Signature: {++/2,f/2,max/1,mem/2,null/1} / {=/2,false/0,g/2,max'/2,nil/0,not/1,or/2,true/0,u/0} - Obligation: innermost runtime complexity wrt. defined symbols {++,f,max,mem,null} and constructors {=,false,g,max',nil ,not,or,true,u} + Applied Processor: DecreasingLoops {bound = AnyLoop, narrow = 10} + Details: The system has following decreasing Loops: ++(x,y){y -> g(y,z)} = ++(x,g(y,z)) ->^+ g(++(x,y),z) = C[++(x,y) = ++(x,y){}] ** Step 1.b:1: NaturalPI WORST_CASE(?,O(n^1)) + Considered Problem: - Strict TRS: ++(x,g(y,z)) -> g(++(x,y),z) ++(x,nil()) -> x f(x,g(y,z)) -> g(f(x,y),z) f(x,nil()) -> g(nil(),x) max(g(g(g(x,y),z),u())) -> max'(max(g(g(x,y),z)),u()) max(g(g(nil(),x),y)) -> max'(x,y) mem(x,max(x)) -> not(null(x)) mem(g(x,y),z) -> or(=(y,z),mem(x,z)) mem(nil(),y) -> false() null(g(x,y)) -> false() null(nil()) -> true() - Signature: {++/2,f/2,max/1,mem/2,null/1} / {=/2,false/0,g/2,max'/2,nil/0,not/1,or/2,true/0,u/0} - Obligation: innermost runtime complexity wrt. defined symbols {++,f,max,mem,null} and constructors {=,false,g,max',nil ,not,or,true,u} + Applied Processor: NaturalPI {shape = Linear, restrict = Restrict, uargs = UArgs, urules = URules, selector = Just any strict-rules} + Details: We apply a polynomial interpretation of kind constructor-based(linear): The following argument positions are considered usable: uargs(g) = {1}, uargs(max') = {1}, uargs(not) = {1}, uargs(or) = {2} Following symbols are considered usable: {++,f,max,mem,null} TcT has computed the following interpretation: p(++) = 4 + 4*x1 + 4*x2 p(=) = 2 p(f) = 1 + 3*x1 + 4*x2 p(false) = 0 p(g) = 1 + x1 + x2 p(max) = 1 + 4*x1 p(max') = 4 + x1 + x2 p(mem) = 6 + 4*x1 + 2*x2 p(nil) = 0 p(not) = 1 + x1 p(null) = 2*x1 p(or) = 2 + x2 p(true) = 0 p(u) = 0 Following rules are strictly oriented: ++(x,g(y,z)) = 8 + 4*x + 4*y + 4*z > 5 + 4*x + 4*y + z = g(++(x,y),z) ++(x,nil()) = 4 + 4*x > x = x f(x,g(y,z)) = 5 + 3*x + 4*y + 4*z > 2 + 3*x + 4*y + z = g(f(x,y),z) max(g(g(nil(),x),y)) = 9 + 4*x + 4*y > 4 + x + y = max'(x,y) mem(x,max(x)) = 8 + 12*x > 1 + 2*x = not(null(x)) mem(g(x,y),z) = 10 + 4*x + 4*y + 2*z > 8 + 4*x + 2*z = or(=(y,z),mem(x,z)) mem(nil(),y) = 6 + 2*y > 0 = false() null(g(x,y)) = 2 + 2*x + 2*y > 0 = false() Following rules are (at-least) weakly oriented: f(x,nil()) = 1 + 3*x >= 1 + x = g(nil(),x) max(g(g(g(x,y),z),u())) = 13 + 4*x + 4*y + 4*z >= 13 + 4*x + 4*y + 4*z = max'(max(g(g(x,y),z)),u()) null(nil()) = 0 >= 0 = true() ** Step 1.b:2: NaturalPI WORST_CASE(?,O(n^1)) + Considered Problem: - Strict TRS: f(x,nil()) -> g(nil(),x) max(g(g(g(x,y),z),u())) -> max'(max(g(g(x,y),z)),u()) null(nil()) -> true() - Weak TRS: ++(x,g(y,z)) -> g(++(x,y),z) ++(x,nil()) -> x f(x,g(y,z)) -> g(f(x,y),z) max(g(g(nil(),x),y)) -> max'(x,y) mem(x,max(x)) -> not(null(x)) mem(g(x,y),z) -> or(=(y,z),mem(x,z)) mem(nil(),y) -> false() null(g(x,y)) -> false() - Signature: {++/2,f/2,max/1,mem/2,null/1} / {=/2,false/0,g/2,max'/2,nil/0,not/1,or/2,true/0,u/0} - Obligation: innermost runtime complexity wrt. defined symbols {++,f,max,mem,null} and constructors {=,false,g,max',nil ,not,or,true,u} + Applied Processor: NaturalPI {shape = Linear, restrict = Restrict, uargs = UArgs, urules = URules, selector = Just any strict-rules} + Details: We apply a polynomial interpretation of kind constructor-based(linear): The following argument positions are considered usable: uargs(g) = {1}, uargs(max') = {1}, uargs(not) = {1}, uargs(or) = {2} Following symbols are considered usable: {++,f,max,mem,null} TcT has computed the following interpretation: p(++) = 6 + 4*x1 + 4*x2 p(=) = x1 + x2 p(f) = 4*x1 + 4*x2 p(false) = 1 p(g) = x1 + x2 p(max) = 7 + 4*x1 p(max') = 3 + x1 + x2 p(mem) = 2 + x1 + x2 p(nil) = 0 p(not) = 2 + x1 p(null) = 1 p(or) = x2 p(true) = 0 p(u) = 2 Following rules are strictly oriented: max(g(g(g(x,y),z),u())) = 15 + 4*x + 4*y + 4*z > 12 + 4*x + 4*y + 4*z = max'(max(g(g(x,y),z)),u()) null(nil()) = 1 > 0 = true() Following rules are (at-least) weakly oriented: ++(x,g(y,z)) = 6 + 4*x + 4*y + 4*z >= 6 + 4*x + 4*y + z = g(++(x,y),z) ++(x,nil()) = 6 + 4*x >= x = x f(x,g(y,z)) = 4*x + 4*y + 4*z >= 4*x + 4*y + z = g(f(x,y),z) f(x,nil()) = 4*x >= x = g(nil(),x) max(g(g(nil(),x),y)) = 7 + 4*x + 4*y >= 3 + x + y = max'(x,y) mem(x,max(x)) = 9 + 5*x >= 3 = not(null(x)) mem(g(x,y),z) = 2 + x + y + z >= 2 + x + z = or(=(y,z),mem(x,z)) mem(nil(),y) = 2 + y >= 1 = false() null(g(x,y)) = 1 >= 1 = false() ** Step 1.b:3: NaturalPI WORST_CASE(?,O(n^1)) + Considered Problem: - Strict TRS: f(x,nil()) -> g(nil(),x) - Weak TRS: ++(x,g(y,z)) -> g(++(x,y),z) ++(x,nil()) -> x f(x,g(y,z)) -> g(f(x,y),z) max(g(g(g(x,y),z),u())) -> max'(max(g(g(x,y),z)),u()) max(g(g(nil(),x),y)) -> max'(x,y) mem(x,max(x)) -> not(null(x)) mem(g(x,y),z) -> or(=(y,z),mem(x,z)) mem(nil(),y) -> false() null(g(x,y)) -> false() null(nil()) -> true() - Signature: {++/2,f/2,max/1,mem/2,null/1} / {=/2,false/0,g/2,max'/2,nil/0,not/1,or/2,true/0,u/0} - Obligation: innermost runtime complexity wrt. defined symbols {++,f,max,mem,null} and constructors {=,false,g,max',nil ,not,or,true,u} + Applied Processor: NaturalPI {shape = Linear, restrict = Restrict, uargs = UArgs, urules = URules, selector = Just any strict-rules} + Details: We apply a polynomial interpretation of kind constructor-based(linear): The following argument positions are considered usable: uargs(g) = {1}, uargs(max') = {1}, uargs(not) = {1}, uargs(or) = {2} Following symbols are considered usable: {++,f,max,mem,null} TcT has computed the following interpretation: p(++) = 4*x1 + x2 p(=) = x1 p(f) = 6 + 4*x1 + 2*x2 p(false) = 0 p(g) = x1 + x2 p(max) = x1 p(max') = x1 + x2 p(mem) = 4 + 2*x1 p(nil) = 4 p(not) = 4 + x1 p(null) = 2*x1 p(or) = x1 + x2 p(true) = 0 p(u) = 0 Following rules are strictly oriented: f(x,nil()) = 14 + 4*x > 4 + x = g(nil(),x) Following rules are (at-least) weakly oriented: ++(x,g(y,z)) = 4*x + y + z >= 4*x + y + z = g(++(x,y),z) ++(x,nil()) = 4 + 4*x >= x = x f(x,g(y,z)) = 6 + 4*x + 2*y + 2*z >= 6 + 4*x + 2*y + z = g(f(x,y),z) max(g(g(g(x,y),z),u())) = x + y + z >= x + y + z = max'(max(g(g(x,y),z)),u()) max(g(g(nil(),x),y)) = 4 + x + y >= x + y = max'(x,y) mem(x,max(x)) = 4 + 2*x >= 4 + 2*x = not(null(x)) mem(g(x,y),z) = 4 + 2*x + 2*y >= 4 + 2*x + y = or(=(y,z),mem(x,z)) mem(nil(),y) = 12 >= 0 = false() null(g(x,y)) = 2*x + 2*y >= 0 = false() null(nil()) = 8 >= 0 = true() ** Step 1.b:4: EmptyProcessor WORST_CASE(?,O(1)) + Considered Problem: - Weak TRS: ++(x,g(y,z)) -> g(++(x,y),z) ++(x,nil()) -> x f(x,g(y,z)) -> g(f(x,y),z) f(x,nil()) -> g(nil(),x) max(g(g(g(x,y),z),u())) -> max'(max(g(g(x,y),z)),u()) max(g(g(nil(),x),y)) -> max'(x,y) mem(x,max(x)) -> not(null(x)) mem(g(x,y),z) -> or(=(y,z),mem(x,z)) mem(nil(),y) -> false() null(g(x,y)) -> false() null(nil()) -> true() - Signature: {++/2,f/2,max/1,mem/2,null/1} / {=/2,false/0,g/2,max'/2,nil/0,not/1,or/2,true/0,u/0} - Obligation: innermost runtime complexity wrt. defined symbols {++,f,max,mem,null} and constructors {=,false,g,max',nil ,not,or,true,u} + Applied Processor: EmptyProcessor + Details: The problem is already closed. The intended complexity is O(1). WORST_CASE(Omega(n^1),O(n^1))