WORST_CASE(?,O(n^1)) * Step 1: NaturalPI WORST_CASE(?,O(n^1)) + Considered Problem: - Strict TRS: @(dd(x,xs),ys) -> dd(x,@(xs,ys)) @(nil(),xs) -> xs flatten(dd(x,xs)) -> @(x,flatten(xs)) flatten(nil()) -> nil() - Signature: {@/2,flatten/1} / {dd/2,nil/0} - Obligation: innermost runtime complexity wrt. defined symbols {@,flatten} and constructors {dd,nil} + 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(@) = {2}, uargs(dd) = {2} Following symbols are considered usable: {@,flatten} TcT has computed the following interpretation: p(@) = x2 p(dd) = x2 p(flatten) = 2*x1 p(nil) = 2 Following rules are strictly oriented: flatten(nil()) = 4 > 2 = nil() Following rules are (at-least) weakly oriented: @(dd(x,xs),ys) = ys >= ys = dd(x,@(xs,ys)) @(nil(),xs) = xs >= xs = xs flatten(dd(x,xs)) = 2*xs >= 2*xs = @(x,flatten(xs)) * Step 2: NaturalPI WORST_CASE(?,O(n^1)) + Considered Problem: - Strict TRS: @(dd(x,xs),ys) -> dd(x,@(xs,ys)) @(nil(),xs) -> xs flatten(dd(x,xs)) -> @(x,flatten(xs)) - Weak TRS: flatten(nil()) -> nil() - Signature: {@/2,flatten/1} / {dd/2,nil/0} - Obligation: innermost runtime complexity wrt. defined symbols {@,flatten} and constructors {dd,nil} + 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(@) = {2}, uargs(dd) = {2} Following symbols are considered usable: {@,flatten} TcT has computed the following interpretation: p(@) = x1 + x2 p(dd) = x1 + x2 p(flatten) = 3 + x1 p(nil) = 2 Following rules are strictly oriented: @(nil(),xs) = 2 + xs > xs = xs Following rules are (at-least) weakly oriented: @(dd(x,xs),ys) = x + xs + ys >= x + xs + ys = dd(x,@(xs,ys)) flatten(dd(x,xs)) = 3 + x + xs >= 3 + x + xs = @(x,flatten(xs)) flatten(nil()) = 5 >= 2 = nil() * Step 3: NaturalPI WORST_CASE(?,O(n^1)) + Considered Problem: - Strict TRS: @(dd(x,xs),ys) -> dd(x,@(xs,ys)) flatten(dd(x,xs)) -> @(x,flatten(xs)) - Weak TRS: @(nil(),xs) -> xs flatten(nil()) -> nil() - Signature: {@/2,flatten/1} / {dd/2,nil/0} - Obligation: innermost runtime complexity wrt. defined symbols {@,flatten} and constructors {dd,nil} + 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(@) = {2}, uargs(dd) = {2} Following symbols are considered usable: {@,flatten} TcT has computed the following interpretation: p(@) = 5 + 2*x1 + x2 p(dd) = 3 + x1 + x2 p(flatten) = 1 + 2*x1 p(nil) = 0 Following rules are strictly oriented: @(dd(x,xs),ys) = 11 + 2*x + 2*xs + ys > 8 + x + 2*xs + ys = dd(x,@(xs,ys)) flatten(dd(x,xs)) = 7 + 2*x + 2*xs > 6 + 2*x + 2*xs = @(x,flatten(xs)) Following rules are (at-least) weakly oriented: @(nil(),xs) = 5 + xs >= xs = xs flatten(nil()) = 1 >= 0 = nil() * Step 4: EmptyProcessor WORST_CASE(?,O(1)) + Considered Problem: - Weak TRS: @(dd(x,xs),ys) -> dd(x,@(xs,ys)) @(nil(),xs) -> xs flatten(dd(x,xs)) -> @(x,flatten(xs)) flatten(nil()) -> nil() - Signature: {@/2,flatten/1} / {dd/2,nil/0} - Obligation: innermost runtime complexity wrt. defined symbols {@,flatten} and constructors {dd,nil} + Applied Processor: EmptyProcessor + Details: The problem is already closed. The intended complexity is O(1). WORST_CASE(?,O(n^1))