WORST_CASE(?,O(n^1)) * Step 1: NaturalMI WORST_CASE(?,O(n^1)) + Considered Problem: - Strict TRS: group3(@l) -> group3#1(@l) group3#1(::(@x,@xs)) -> group3#2(@xs,@x) group3#1(nil()) -> nil() group3#2(::(@y,@ys),@x) -> group3#3(@ys,@x,@y) group3#2(nil(),@x) -> nil() group3#3(::(@z,@zs),@x,@y) -> ::(tuple#3(@x,@y,@z),group3(@zs)) group3#3(nil(),@x,@y) -> nil() zip3(@l1,@l2,@l3) -> zip3#1(@l1,@l2,@l3) zip3#1(::(@x,@xs),@l2,@l3) -> zip3#2(@l2,@l3,@x,@xs) zip3#1(nil(),@l2,@l3) -> nil() zip3#2(::(@y,@ys),@l3,@x,@xs) -> zip3#3(@l3,@x,@xs,@y,@ys) zip3#2(nil(),@l3,@x,@xs) -> nil() zip3#3(::(@z,@zs),@x,@xs,@y,@ys) -> ::(tuple#3(@x,@y,@z),zip3(@xs,@ys,@zs)) zip3#3(nil(),@x,@xs,@y,@ys) -> nil() - Signature: {group3/1,group3#1/1,group3#2/2,group3#3/3,zip3/3,zip3#1/3,zip3#2/4,zip3#3/5} / {::/2,nil/0,tuple#3/3} - Obligation: innermost runtime complexity wrt. defined symbols {group3,group3#1,group3#2,group3#3,zip3,zip3#1,zip3#2 ,zip3#3} and constructors {::,nil,tuple#3} + 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(::) = {2} Following symbols are considered usable: {group3,group3#1,group3#2,group3#3,zip3,zip3#1,zip3#2,zip3#3} TcT has computed the following interpretation: p(::) = [1] x2 + [4] p(group3) = [1] x1 + [5] p(group3#1) = [1] x1 + [4] p(group3#2) = [1] x1 + [6] p(group3#3) = [1] x1 + [9] p(nil) = [0] p(tuple#3) = [2] p(zip3) = [2] x1 + [4] x2 + [7] x3 + [11] p(zip3#1) = [2] x1 + [4] x2 + [7] x3 + [9] p(zip3#2) = [4] x1 + [7] x2 + [2] x4 + [10] p(zip3#3) = [7] x1 + [2] x3 + [4] x5 + [2] Following rules are strictly oriented: group3(@l) = [1] @l + [5] > [1] @l + [4] = group3#1(@l) group3#1(::(@x,@xs)) = [1] @xs + [8] > [1] @xs + [6] = group3#2(@xs,@x) group3#1(nil()) = [4] > [0] = nil() group3#2(::(@y,@ys),@x) = [1] @ys + [10] > [1] @ys + [9] = group3#3(@ys,@x,@y) group3#2(nil(),@x) = [6] > [0] = nil() group3#3(::(@z,@zs),@x,@y) = [1] @zs + [13] > [1] @zs + [9] = ::(tuple#3(@x,@y,@z),group3(@zs)) group3#3(nil(),@x,@y) = [9] > [0] = nil() zip3(@l1,@l2,@l3) = [2] @l1 + [4] @l2 + [7] @l3 + [11] > [2] @l1 + [4] @l2 + [7] @l3 + [9] = zip3#1(@l1,@l2,@l3) zip3#1(::(@x,@xs),@l2,@l3) = [4] @l2 + [7] @l3 + [2] @xs + [17] > [4] @l2 + [7] @l3 + [2] @xs + [10] = zip3#2(@l2,@l3,@x,@xs) zip3#1(nil(),@l2,@l3) = [4] @l2 + [7] @l3 + [9] > [0] = nil() zip3#2(::(@y,@ys),@l3,@x,@xs) = [7] @l3 + [2] @xs + [4] @ys + [26] > [7] @l3 + [2] @xs + [4] @ys + [2] = zip3#3(@l3,@x,@xs,@y,@ys) zip3#2(nil(),@l3,@x,@xs) = [7] @l3 + [2] @xs + [10] > [0] = nil() zip3#3(::(@z,@zs),@x,@xs,@y,@ys) = [2] @xs + [4] @ys + [7] @zs + [30] > [2] @xs + [4] @ys + [7] @zs + [15] = ::(tuple#3(@x,@y,@z),zip3(@xs,@ys,@zs)) zip3#3(nil(),@x,@xs,@y,@ys) = [2] @xs + [4] @ys + [2] > [0] = nil() Following rules are (at-least) weakly oriented: WORST_CASE(?,O(n^1))