WORST_CASE(?,O(n^1)) * Step 1: NaturalMI 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: NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing} + Details: We apply a matrix interpretation of kind constructor based matrix interpretation: 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) = [1] x2 + [4] p(Leaf) = [3] p(Nil) = [0] p(Node) = [1] x1 + [1] x2 + [4] p(comp_f_g) = [1] x1 + [1] x2 + [6] p(comp_f_g#1) = [1] x1 + [1] x2 + [1] x3 + [2] p(cons_x) = [5] p(main) = [4] x1 + [10] p(walk#1) = [4] x1 + [0] Following rules are strictly oriented: comp_f_g#1(comp_f_g(x4,x5),comp_f_g(x2,x3),x1) = [1] x1 + [1] x2 + [1] x3 + [1] x4 + [1] x5 + [14] > [1] x1 + [1] x2 + [1] x3 + [1] x4 + [1] x5 + [4] = 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) = [1] x4 + [1] x7 + [1] x9 + [13] > [1] x4 + [1] x7 + [1] x9 + [6] = comp_f_g#1(x7,x9,Cons(x2,x4)) comp_f_g#1(cons_x(x2),comp_f_g(x5,x7),x3) = [1] x3 + [1] x5 + [1] x7 + [13] > [1] x3 + [1] x5 + [1] x7 + [6] = Cons(x2,comp_f_g#1(x5,x7,x3)) comp_f_g#1(cons_x(x5),cons_x(x2),x4) = [1] x4 + [12] > [1] x4 + [8] = Cons(x5,Cons(x2,x4)) main(Leaf(x4)) = [22] > [4] = Cons(x4,Nil()) main(Node(x9,x5)) = [4] x5 + [4] x9 + [26] > [4] x5 + [4] x9 + [2] = comp_f_g#1(walk#1(x9),walk#1(x5),Nil()) walk#1(Leaf(x2)) = [12] > [5] = cons_x(x2) walk#1(Node(x5,x3)) = [4] x3 + [4] x5 + [16] > [4] x3 + [4] x5 + [6] = comp_f_g(walk#1(x5),walk#1(x3)) Following rules are (at-least) weakly oriented: WORST_CASE(?,O(n^1))