WORST_CASE(?,O(n^1)) * Step 1: NaturalPI WORST_CASE(?,O(n^1)) + Considered Problem: - Strict TRS: comp_f_g#1(comp_f_g(x4,x5),comp_f_g(x2,x3),x1) -> comp_f_g#1(x4,x5,comp_f_g#1(x2,x3,x1)) comp_f_g#1(comp_f_g(x7,x9),cons_x(x2),x4) -> comp_f_g#1(x7,x9,Cons(x2,x4)) comp_f_g#1(cons_x(x2),comp_f_g(x5,x7),x3) -> Cons(x2,comp_f_g#1(x5,x7,x3)) comp_f_g#1(cons_x(x5),cons_x(x2),x4) -> Cons(x5,Cons(x2,x4)) main(Leaf(x4)) -> Cons(x4,Nil()) main(Node(x9,x5)) -> comp_f_g#1(walk#1(x9),walk#1(x5),Nil()) walk#1(Leaf(x2)) -> cons_x(x2) walk#1(Node(x5,x3)) -> comp_f_g(walk#1(x5),walk#1(x3)) - Signature: {comp_f_g#1/3,main/1,walk#1/1} / {Cons/2,Leaf/1,Nil/0,Node/2,comp_f_g/2,cons_x/1} - Obligation: innermost runtime complexity wrt. defined symbols {comp_f_g#1,main,walk#1} and constructors {Cons,Leaf,Nil ,Node,comp_f_g,cons_x} + Applied Processor: NaturalPI {shape = Mixed 2, restrict = Restrict, uargs = UArgs, urules = URules, selector = Just any strict-rules} + Details: We apply a polynomial interpretation of kind constructor-based(mixed(2)): The following argument positions are considered usable: uargs(Cons) = {2}, uargs(comp_f_g) = {1,2}, uargs(comp_f_g#1) = {1,2,3} Following symbols are considered usable: {comp_f_g#1,main,walk#1} TcT has computed the following interpretation: p(Cons) = x2 p(Leaf) = 0 p(Nil) = 0 p(Node) = 2 + x1 + x2 p(comp_f_g) = 2 + x1 + x2 p(comp_f_g#1) = x1 + x2 + x3 p(cons_x) = 0 p(main) = x1 p(walk#1) = x1 Following rules are strictly oriented: comp_f_g#1(comp_f_g(x4,x5),comp_f_g(x2,x3),x1) = 4 + x1 + x2 + x3 + x4 + x5 > x1 + x2 + x3 + x4 + x5 = comp_f_g#1(x4,x5,comp_f_g#1(x2,x3,x1)) comp_f_g#1(comp_f_g(x7,x9),cons_x(x2),x4) = 2 + x4 + x7 + x9 > x4 + x7 + x9 = comp_f_g#1(x7,x9,Cons(x2,x4)) comp_f_g#1(cons_x(x2),comp_f_g(x5,x7),x3) = 2 + x3 + x5 + x7 > x3 + x5 + x7 = Cons(x2,comp_f_g#1(x5,x7,x3)) main(Node(x9,x5)) = 2 + x5 + x9 > x5 + x9 = comp_f_g#1(walk#1(x9),walk#1(x5),Nil()) Following rules are (at-least) weakly oriented: comp_f_g#1(cons_x(x5),cons_x(x2),x4) = x4 >= x4 = Cons(x5,Cons(x2,x4)) main(Leaf(x4)) = 0 >= 0 = Cons(x4,Nil()) walk#1(Leaf(x2)) = 0 >= 0 = cons_x(x2) walk#1(Node(x5,x3)) = 2 + x3 + x5 >= 2 + x3 + x5 = comp_f_g(walk#1(x5),walk#1(x3)) * Step 2: NaturalPI WORST_CASE(?,O(n^1)) + Considered Problem: - Strict TRS: comp_f_g#1(cons_x(x5),cons_x(x2),x4) -> Cons(x5,Cons(x2,x4)) main(Leaf(x4)) -> Cons(x4,Nil()) walk#1(Leaf(x2)) -> cons_x(x2) walk#1(Node(x5,x3)) -> comp_f_g(walk#1(x5),walk#1(x3)) - Weak TRS: comp_f_g#1(comp_f_g(x4,x5),comp_f_g(x2,x3),x1) -> comp_f_g#1(x4,x5,comp_f_g#1(x2,x3,x1)) comp_f_g#1(comp_f_g(x7,x9),cons_x(x2),x4) -> comp_f_g#1(x7,x9,Cons(x2,x4)) comp_f_g#1(cons_x(x2),comp_f_g(x5,x7),x3) -> Cons(x2,comp_f_g#1(x5,x7,x3)) main(Node(x9,x5)) -> comp_f_g#1(walk#1(x9),walk#1(x5),Nil()) - Signature: {comp_f_g#1/3,main/1,walk#1/1} / {Cons/2,Leaf/1,Nil/0,Node/2,comp_f_g/2,cons_x/1} - Obligation: innermost runtime complexity wrt. defined symbols {comp_f_g#1,main,walk#1} and constructors {Cons,Leaf,Nil ,Node,comp_f_g,cons_x} + Applied Processor: NaturalPI {shape = Mixed 2, restrict = Restrict, uargs = UArgs, urules = URules, selector = Just any strict-rules} + Details: We apply a polynomial interpretation of kind constructor-based(mixed(2)): The following argument positions are considered usable: uargs(Cons) = {2}, uargs(comp_f_g) = {1,2}, uargs(comp_f_g#1) = {1,2,3} Following symbols are considered usable: {comp_f_g#1,main,walk#1} TcT has computed the following interpretation: p(Cons) = x2 p(Leaf) = 2 p(Nil) = 0 p(Node) = 0 p(comp_f_g) = x1 + x2 p(comp_f_g#1) = x1 + x2 + x3 p(cons_x) = 0 p(main) = 2 p(walk#1) = 0 Following rules are strictly oriented: main(Leaf(x4)) = 2 > 0 = Cons(x4,Nil()) Following rules are (at-least) weakly oriented: comp_f_g#1(comp_f_g(x4,x5),comp_f_g(x2,x3),x1) = x1 + x2 + x3 + x4 + x5 >= x1 + x2 + x3 + x4 + x5 = comp_f_g#1(x4,x5,comp_f_g#1(x2,x3,x1)) comp_f_g#1(comp_f_g(x7,x9),cons_x(x2),x4) = x4 + x7 + x9 >= x4 + x7 + x9 = comp_f_g#1(x7,x9,Cons(x2,x4)) comp_f_g#1(cons_x(x2),comp_f_g(x5,x7),x3) = x3 + x5 + x7 >= x3 + x5 + x7 = Cons(x2,comp_f_g#1(x5,x7,x3)) comp_f_g#1(cons_x(x5),cons_x(x2),x4) = x4 >= x4 = Cons(x5,Cons(x2,x4)) main(Node(x9,x5)) = 2 >= 0 = comp_f_g#1(walk#1(x9),walk#1(x5),Nil()) walk#1(Leaf(x2)) = 0 >= 0 = cons_x(x2) walk#1(Node(x5,x3)) = 0 >= 0 = comp_f_g(walk#1(x5),walk#1(x3)) * Step 3: NaturalPI WORST_CASE(?,O(n^1)) + Considered Problem: - Strict TRS: comp_f_g#1(cons_x(x5),cons_x(x2),x4) -> Cons(x5,Cons(x2,x4)) walk#1(Leaf(x2)) -> cons_x(x2) walk#1(Node(x5,x3)) -> comp_f_g(walk#1(x5),walk#1(x3)) - Weak TRS: comp_f_g#1(comp_f_g(x4,x5),comp_f_g(x2,x3),x1) -> comp_f_g#1(x4,x5,comp_f_g#1(x2,x3,x1)) comp_f_g#1(comp_f_g(x7,x9),cons_x(x2),x4) -> comp_f_g#1(x7,x9,Cons(x2,x4)) comp_f_g#1(cons_x(x2),comp_f_g(x5,x7),x3) -> Cons(x2,comp_f_g#1(x5,x7,x3)) main(Leaf(x4)) -> Cons(x4,Nil()) main(Node(x9,x5)) -> comp_f_g#1(walk#1(x9),walk#1(x5),Nil()) - Signature: {comp_f_g#1/3,main/1,walk#1/1} / {Cons/2,Leaf/1,Nil/0,Node/2,comp_f_g/2,cons_x/1} - Obligation: innermost runtime complexity wrt. defined symbols {comp_f_g#1,main,walk#1} and constructors {Cons,Leaf,Nil ,Node,comp_f_g,cons_x} + Applied Processor: NaturalPI {shape = Mixed 2, restrict = Restrict, uargs = UArgs, urules = URules, selector = Just any strict-rules} + Details: We apply a polynomial interpretation of kind constructor-based(mixed(2)): The following argument positions are considered usable: uargs(Cons) = {2}, uargs(comp_f_g) = {1,2}, uargs(comp_f_g#1) = {1,2,3} Following symbols are considered usable: {comp_f_g#1,main,walk#1} TcT has computed the following interpretation: p(Cons) = x2 p(Leaf) = 1 + x1 p(Nil) = 0 p(Node) = 2 + x1 + x2 p(comp_f_g) = x1 + x2 p(comp_f_g#1) = x1 + x2 + x3 p(cons_x) = 0 p(main) = 2 + 2*x1 p(walk#1) = 1 + 2*x1 Following rules are strictly oriented: walk#1(Leaf(x2)) = 3 + 2*x2 > 0 = cons_x(x2) walk#1(Node(x5,x3)) = 5 + 2*x3 + 2*x5 > 2 + 2*x3 + 2*x5 = comp_f_g(walk#1(x5),walk#1(x3)) Following rules are (at-least) weakly oriented: comp_f_g#1(comp_f_g(x4,x5),comp_f_g(x2,x3),x1) = x1 + x2 + x3 + x4 + x5 >= x1 + x2 + x3 + x4 + x5 = comp_f_g#1(x4,x5,comp_f_g#1(x2,x3,x1)) comp_f_g#1(comp_f_g(x7,x9),cons_x(x2),x4) = x4 + x7 + x9 >= x4 + x7 + x9 = comp_f_g#1(x7,x9,Cons(x2,x4)) comp_f_g#1(cons_x(x2),comp_f_g(x5,x7),x3) = x3 + x5 + x7 >= x3 + x5 + x7 = Cons(x2,comp_f_g#1(x5,x7,x3)) comp_f_g#1(cons_x(x5),cons_x(x2),x4) = x4 >= x4 = Cons(x5,Cons(x2,x4)) main(Leaf(x4)) = 4 + 2*x4 >= 0 = Cons(x4,Nil()) main(Node(x9,x5)) = 6 + 2*x5 + 2*x9 >= 2 + 2*x5 + 2*x9 = comp_f_g#1(walk#1(x9),walk#1(x5),Nil()) * Step 4: NaturalPI WORST_CASE(?,O(n^1)) + Considered Problem: - Strict TRS: comp_f_g#1(cons_x(x5),cons_x(x2),x4) -> Cons(x5,Cons(x2,x4)) - Weak TRS: comp_f_g#1(comp_f_g(x4,x5),comp_f_g(x2,x3),x1) -> comp_f_g#1(x4,x5,comp_f_g#1(x2,x3,x1)) comp_f_g#1(comp_f_g(x7,x9),cons_x(x2),x4) -> comp_f_g#1(x7,x9,Cons(x2,x4)) comp_f_g#1(cons_x(x2),comp_f_g(x5,x7),x3) -> Cons(x2,comp_f_g#1(x5,x7,x3)) main(Leaf(x4)) -> Cons(x4,Nil()) main(Node(x9,x5)) -> comp_f_g#1(walk#1(x9),walk#1(x5),Nil()) walk#1(Leaf(x2)) -> cons_x(x2) walk#1(Node(x5,x3)) -> comp_f_g(walk#1(x5),walk#1(x3)) - Signature: {comp_f_g#1/3,main/1,walk#1/1} / {Cons/2,Leaf/1,Nil/0,Node/2,comp_f_g/2,cons_x/1} - Obligation: innermost runtime complexity wrt. defined symbols {comp_f_g#1,main,walk#1} and constructors {Cons,Leaf,Nil ,Node,comp_f_g,cons_x} + Applied Processor: NaturalPI {shape = Mixed 2, restrict = Restrict, uargs = UArgs, urules = URules, selector = Just any strict-rules} + Details: We apply a polynomial interpretation of kind constructor-based(mixed(2)): The following argument positions are considered usable: uargs(Cons) = {2}, uargs(comp_f_g) = {1,2}, uargs(comp_f_g#1) = {1,2,3} Following symbols are considered usable: {comp_f_g#1,main,walk#1} TcT has computed the following interpretation: p(Cons) = x2 p(Leaf) = 2 p(Nil) = 0 p(Node) = 1 + x1 + x2 p(comp_f_g) = 1 + x1 + x2 p(comp_f_g#1) = x1 + x2 + x3 p(cons_x) = 2 p(main) = 2 + 2*x1 p(walk#1) = x1 Following rules are strictly oriented: comp_f_g#1(cons_x(x5),cons_x(x2),x4) = 4 + x4 > x4 = Cons(x5,Cons(x2,x4)) Following rules are (at-least) weakly oriented: comp_f_g#1(comp_f_g(x4,x5),comp_f_g(x2,x3),x1) = 2 + x1 + x2 + x3 + x4 + x5 >= x1 + x2 + x3 + x4 + x5 = comp_f_g#1(x4,x5,comp_f_g#1(x2,x3,x1)) comp_f_g#1(comp_f_g(x7,x9),cons_x(x2),x4) = 3 + x4 + x7 + x9 >= x4 + x7 + x9 = comp_f_g#1(x7,x9,Cons(x2,x4)) comp_f_g#1(cons_x(x2),comp_f_g(x5,x7),x3) = 3 + x3 + x5 + x7 >= x3 + x5 + x7 = Cons(x2,comp_f_g#1(x5,x7,x3)) main(Leaf(x4)) = 6 >= 0 = Cons(x4,Nil()) main(Node(x9,x5)) = 4 + 2*x5 + 2*x9 >= x5 + x9 = comp_f_g#1(walk#1(x9),walk#1(x5),Nil()) walk#1(Leaf(x2)) = 2 >= 2 = cons_x(x2) walk#1(Node(x5,x3)) = 1 + x3 + x5 >= 1 + x3 + x5 = comp_f_g(walk#1(x5),walk#1(x3)) * Step 5: EmptyProcessor WORST_CASE(?,O(1)) + Considered Problem: - Weak TRS: comp_f_g#1(comp_f_g(x4,x5),comp_f_g(x2,x3),x1) -> comp_f_g#1(x4,x5,comp_f_g#1(x2,x3,x1)) comp_f_g#1(comp_f_g(x7,x9),cons_x(x2),x4) -> comp_f_g#1(x7,x9,Cons(x2,x4)) comp_f_g#1(cons_x(x2),comp_f_g(x5,x7),x3) -> Cons(x2,comp_f_g#1(x5,x7,x3)) comp_f_g#1(cons_x(x5),cons_x(x2),x4) -> Cons(x5,Cons(x2,x4)) main(Leaf(x4)) -> Cons(x4,Nil()) main(Node(x9,x5)) -> comp_f_g#1(walk#1(x9),walk#1(x5),Nil()) walk#1(Leaf(x2)) -> cons_x(x2) walk#1(Node(x5,x3)) -> comp_f_g(walk#1(x5),walk#1(x3)) - Signature: {comp_f_g#1/3,main/1,walk#1/1} / {Cons/2,Leaf/1,Nil/0,Node/2,comp_f_g/2,cons_x/1} - Obligation: innermost runtime complexity wrt. defined symbols {comp_f_g#1,main,walk#1} and constructors {Cons,Leaf,Nil ,Node,comp_f_g,cons_x} + Applied Processor: EmptyProcessor + Details: The problem is already closed. The intended complexity is O(1). WORST_CASE(?,O(n^1))