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 = StronglyLinear, restrict = NoRestrict, uargs = UArgs, urules = URules, selector = Nothing} + Details: We apply a polynomial interpretation of kind constructor-based(stronglyLinear): 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) = 2 + x2 p(Leaf) = 4 p(Nil) = 1 p(Node) = 4 + x1 + x2 p(comp_f_g) = 2 + x1 + x2 p(comp_f_g#1) = x1 + x2 + x3 p(cons_x) = 3 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) = 5 + x4 + x7 + x9 > 2 + 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) = 5 + x3 + x5 + x7 > 2 + x3 + x5 + x7 = Cons(x2,comp_f_g#1(x5,x7,x3)) comp_f_g#1(cons_x(x5),cons_x(x2),x4) = 6 + x4 > 4 + x4 = Cons(x5,Cons(x2,x4)) main(Leaf(x4)) = 4 > 3 = Cons(x4,Nil()) main(Node(x9,x5)) = 4 + x5 + x9 > 1 + x5 + x9 = comp_f_g#1(walk#1(x9),walk#1(x5),Nil()) walk#1(Leaf(x2)) = 4 > 3 = cons_x(x2) walk#1(Node(x5,x3)) = 4 + x3 + x5 > 2 + x3 + x5 = comp_f_g(walk#1(x5),walk#1(x3)) Following rules are (at-least) weakly oriented: WORST_CASE(?,O(n^1))