/export/starexec/sandbox2/solver/bin/starexec_run_tct_rc /export/starexec/sandbox2/benchmark/theBenchmark.xml /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- 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: 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: 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: NaturalMI 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: runtime complexity wrt. defined symbols {++,f,max,mem,null} and constructors {=,false,g,max',nil,not,or ,true,u} + Applied Processor: NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Just any strict-rules} + Details: We apply a matrix interpretation of kind constructor based matrix interpretation: The following argument positions are considered usable: uargs(g) = {1}, uargs(max') = {1}, uargs(not) = {1}, uargs(or) = {2} Following symbols are considered usable: all TcT has computed the following interpretation: p(++) = [4] x1 + [6] x2 + [4] p(=) = [0] p(f) = [1] x1 + [12] x2 + [4] p(false) = [0] p(g) = [1] x1 + [1] x2 + [2] p(max) = [1] x1 + [8] p(max') = [1] x1 + [1] x2 + [2] p(mem) = [8] x1 + [12] p(nil) = [1] p(not) = [1] x1 + [1] p(null) = [2] x1 + [8] p(or) = [1] x2 + [0] p(true) = [0] p(u) = [10] Following rules are strictly oriented: ++(x,g(y,z)) = [4] x + [6] y + [6] z + [16] > [4] x + [6] y + [1] z + [6] = g(++(x,y),z) ++(x,nil()) = [4] x + [10] > [1] x + [0] = x f(x,g(y,z)) = [1] x + [12] y + [12] z + [28] > [1] x + [12] y + [1] z + [6] = g(f(x,y),z) f(x,nil()) = [1] x + [16] > [1] x + [3] = g(nil(),x) max(g(g(nil(),x),y)) = [1] x + [1] y + [13] > [1] x + [1] y + [2] = max'(x,y) mem(x,max(x)) = [8] x + [12] > [2] x + [9] = not(null(x)) mem(g(x,y),z) = [8] x + [8] y + [28] > [8] x + [12] = or(=(y,z),mem(x,z)) mem(nil(),y) = [20] > [0] = false() null(g(x,y)) = [2] x + [2] y + [12] > [0] = false() null(nil()) = [10] > [0] = true() Following rules are (at-least) weakly oriented: max(g(g(g(x,y),z),u())) = [1] x + [1] y + [1] z + [24] >= [1] x + [1] y + [1] z + [24] = max'(max(g(g(x,y),z)),u()) ** Step 1.b:2: NaturalPI WORST_CASE(?,O(n^1)) + Considered Problem: - Strict TRS: max(g(g(g(x,y),z),u())) -> max'(max(g(g(x,y),z)),u()) - 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(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: 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: all TcT has computed the following interpretation: p(++) = 4*x1 + 2*x2 p(=) = 2 + x1 p(f) = 4*x1 + 4*x2 p(false) = 0 p(g) = x1 + x2 p(max) = 2 + 4*x1 p(max') = 1 + x1 p(mem) = 2*x2 p(nil) = 2 p(not) = x1 p(null) = 0 p(or) = x2 p(true) = 0 p(u) = 1 Following rules are strictly oriented: max(g(g(g(x,y),z),u())) = 6 + 4*x + 4*y + 4*z > 3 + 4*x + 4*y + 4*z = max'(max(g(g(x,y),z)),u()) Following rules are (at-least) weakly oriented: ++(x,g(y,z)) = 4*x + 2*y + 2*z >= 4*x + 2*y + z = g(++(x,y),z) ++(x,nil()) = 4 + 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()) = 8 + 4*x >= 2 + x = g(nil(),x) max(g(g(nil(),x),y)) = 10 + 4*x + 4*y >= 1 + x = max'(x,y) mem(x,max(x)) = 4 + 8*x >= 0 = not(null(x)) mem(g(x,y),z) = 2*z >= 2*z = or(=(y,z),mem(x,z)) mem(nil(),y) = 2*y >= 0 = false() null(g(x,y)) = 0 >= 0 = false() null(nil()) = 0 >= 0 = true() ** Step 1.b:3: 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: 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))